[SQLD] 1-1 데이터 모델링의 이해(엔터티, 속성, 관계)

이하영·2023년 3월 12일
0

SQLD 자격증

목록 보기
3/10

SQLD 자격증 공부하면서 정리한 내용들을 작성한 글입니다.

2. 엔터티(Entity)

(1) 엔터티란?

  • 데이터 모델을 이해할 때 가장 명확하게 이해해야 하는 개념 중에 하나
  • 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것(Thing)
  • 정보가 저장될 수 있는 사람, 장소, 물건, 사건 그리고 개념 등
  • 엔터티는 그 집합에 속하는 개체들의 특성을 설명할 수 있는 속성(Attribute)을 갖는다.
    • 속성 가운데에는 엔터티 인스턴스 전체가 공유할 수 있는 공통 속성도 있고, 엔터티 인스턴스 중 일부에만 해당하는 개별 속성도 있을 수 있다.
  • 엔터티는 인스턴스의 집합이라고 말할 수 있다.
    • 인스턴스라는 것은 엔터티의 하나의 값에 해당한다고 정의할 수 있다.(엔터티 안에 행 데이터)

(2) 엔터티의 특징

  • 필요한 정보
    • 업무에서 꼭 필요로 하는 정보
  • 유일성
    • 식별자에 의해 식별이 가능해야 함(이름이 같으면 안됨)
  • 영속성
    • 영속적으로 존재하는 인스턴스의 집합이 되어야 함
      (2개 이상의 인스턴스로 구성된 집합)
  • 속성과 관계 존재
    • 반드시 속성을 포함해야 함
    • 다른 엔터티와 관계과 최소 1개 이상 존재해야 함

(3) 엔터티의 명명 규칙

  • 유일성
  • 단수 명사
  • 의미 일치
  • 약어 지양
  • 실제 쓰는 용어

3. 속성(Attribute)

(1) 속성이란?

  • 개체의 성격을 나타냄
  • 개체가 관리하는 데이터의 최소 단위
    • 인스턴스로 관리하고자 하는 의미상 더 이상 분리되지 않는 최소한의 단위
  • 엔터티를 설명하고, 인스턴스의 구성 요소가 됨
  • 속성은 관계를 표현하거나 또 다른 속성을 가질 수 없음!

(2) 속성의 분류

  • 특성에 따른 분류
  1. 기복 속성
    • 기본적인 모든 속성
    • 업무분석을 통해서 도출
  2. 설계 속성
    • 효율적인 모델링을 위해 새로 만들거나 변형된 속성
    • 설계를 통해서 도출
  3. 파생 속성
    • 다른 속성에서 영향을 받아 도출
    • 예) 합계, 평균 등
    • 다른 속성에 의존적이기 때문에 적게 만드는 것이 좋다.
  • 구성방식에 따른 분류
  1. PK(기본키)
    • 엔터티 식별
    • 중복없이 식별이 가능한 속성
  2. FK(외래키)
    • 다른 엔터티와 관계에서 포함된 속성
  3. 일반
    - 엔터티에 포함되어 있으며, PK도 FK도 아닌 속성

    도메인(domain)
    각 속성(Attribute)이 가질 수 있는 범위
    데이터타입, 크기, 제약사항(NOT NULL, Check 조건)을 지정
    테이블 속성간의 FK 제약 조건 지정 X


(3) 속성의 명명 규칙

  • 유일한 이름
  • 서술식 금지
  • 약어 지양
  • 실제 쓰는 용어

4. 관계(Relation)

(1) 관계란?

  • 둘 이상의 개체를 의미 있게 연결한 상태
  • 엔터티의 인스턴스 사이 논리적 연관성
  • 관계성, 차수(카디널리티), 선택성(옵셔널리티)로 구성

페어링
→ 엔터티 안에 인스턴스가 개별적으로 관계를 갖는 것
관계 = 페어링의 집합


(2) 관계 분류


(출처) https://dataonair.or.kr/db-tech-reference/d-guide/sql/?pageid=5&mod=document&uid=328

  1. ERD(Entity Relationship Diagram)
    • 존재에 의한 관계, 행위에 의한 관계
      → 둘이 구분 없이 단일화된 표기법 사용
    • 개체와 속성, 관계를 그림으로 설명
  2. UML(Unified Modeling Language)
    • 연관 관계, 의존 관계
      실선과 점선 표기법으로 구분

(3) 관계 표기법

(출처) https://dataonair.or.kr/db-tech-reference/d-guide/sql/?pageid=5&mod=document&uid=326

  1. IE Notation
    • 개체는 각진 사각형으로 표현
    • 개체명을 바깥쪽에 표기
    • 속성은 별(*) 같은 표기 없이 기록
    • 위쪽에 구역을 나눠 식별자를 별도로 표기
    • 관계는 실선과 점선으로 표현(한 라인에 실선, 점선 하나를 선택해서 표현)
  2. Barker Notation
    • 개체는 소프트 박스로 표현
    • 개체명을 가장 상단에 표기 밑으로는 속성 표기
    • 속성의 왼쪽에는 별() 또는 영문자(O)를 통해 반드시 데이터가 저장되어야 하는지(), 선택적으로 저장할 수 있는지(O)를 표현
    • 관계는 점선과 실선으로 표현(한 라인에 실선, 점선을 동시에 표현 가능)
      • 실선 : 반드시 존재(1)
      • 점선 : 선택적(0또는 1)
    • 식별자는 마크(#)으로 표현
profile
안녕하세요, 웹 개발자 이하영입니다!

0개의 댓글