소품집

[SQL] 데이터 모델링의 이해 (3) Entity, Attribute, Relation, Entity Identifier 본문

자격증/SQL

[SQL] 데이터 모델링의 이해 (3) Entity, Attribute, Relation, Entity Identifier

sodayeong 2021. 3. 11. 00:24
728x90

엔터티(Entity)

  • 엔터티는 업무에서 관리해야 하는 데이터 집합을 의미하며, 저장되고 관리되어야하는 데이터이다.
  • 엔터티는 개념, 사건, 장소 등의 명사이다.

엔터티 특징

[Relation, Table, Instance?]

  • Relation: 테이블 Relation에 기본키 및 제약조건을 설정하면 테이블이 된다.
  • Relationship: Relation간의 관계
  • Instance: Relation이 가질 수 있는 값을 의미한다. 간단하게 행의 수라고 생각!

엔터티 종류

  • 유형과 무형에 따른 엔터티 종류
    • 유형 엔터티
    • 개념 엔터티
    • 사건 엔터티
  • 발생 시점에 따른 엔터티 종류
    • 기본 엔터티
    • 사건 엔터티
    • 행위 엔터티

 

속성(Attribute)의 특징

  • 속성은 업무에 관리되는 정보이다.
  • 속성은 하나의 값만 가진다.
  • 주식별자에게 함수적으로 종속된다. 즉, 기본키가 변경되면 속성의 값도 변경된다는 것이다.

속성의 종류

  • 분해 여부에 따른 속성의 종류
    • 단일 속성
    • 복합 속성
    • 다중값 속성
  • 특성에 따른 속성의 종류
    • 기본 속성
    • 설계 속성
    • 파생 속성

[도메인?]

  • 도메인은 속성이 가질 수 있는 범위이다.
  • ex) 성별이라는 속성의 도메인은 남자와 여자가 된다.

 

관계(Relation)란?

  • 관계는 엔티티 간의 관련성을 의미한다.
  • 관계는 존재 관계와 행위 관계로 분류된다.

존재 관계

  • 존재 관계는 엔터티 간의 상태를 의미한다.
  • 예를 들어 고객이 은행에 회원가입을 하면, 관리점이 할당되고, 그 할당된 관리점에서 고객을 관리한다.

행위 관계

  • 행위 관계는 엔터티 간에 어떤 행위가 있는 것이다.
  • 예를 들어, 증권 회사는 계좌를 개설하고 주문을 발주하는 것이다.

관계 차수 (Relation Cardinality)

  • 관계 차수는 두 개의 엔터티 간의 관계에 참여하는 수를 의미한다.

관계 차수의 종류

  • 1:1 관계

  • 1:N 관계
    • 1:N 관계는 엔터티에 행이 하나 있을 때 다른 엔터티의 값이 여러 개 있는 관게이다.
  • M:N 관계
    • M:N 관계는 두 개의 엔터티가 서로 여러 개의 관계를 가지고 있는 것이다.
    • 관계형 데이터베이스에서 M:N 관계의 조인(join)은 카테시안 곱이 발생한다. 그래서 M:N의 관계를 1:N, N:1로 해소해야 한다.
  • 필수적 관계와 선택적 관계
    • 필수적 관계는 '|'로 표현된다.
    • 선택적 관계는 'O'로 표현된다.

식별 관계 (Identification Relationship)

  • 고객과 계좌 엔터티에서 고객은 독립적으로 존재할 수 있는 강한 개체(Strong Entity)이다.
  • 강한 개체는 어떤 다른 엔터티에 의존하지 않고 독립적으로 존재한다.
  • 강한 엔터티는 다른 엔터티와의 관계를 가질 때 다른 엔터티에게 기본키를 공유한다.
  • 강한 개체는 식별 관계로 표현 된다.
    • 즉, 식별 관계란 고객 엔터티의 기본키인 회원ID를 계좌 엔터티의 기본키의 하나로 공유하는 것이다.

비식별 관계(Non-Identification Relationship)

  • 비식별 관계는 강한 개체의 기본키를 다른 엔터티의 기본키가 아닌 일반 칼럼으로 관계를 가지는 것이다.

[강한 개체(Strong Entity)와 약한 개체(Weak Entity)]

  • 강한 개체는 누구에게도 지배되지 않는 독립적인 개체(Entity)이다.
  • 약한 개체는 개체의 존재가 다른 개체의 존재에 달려 있는 개체이다.

 

엔터티 식별자 (Entity Identifier)

주식별자(기본키, Primary Key)

  • 최소성: 주식별자는 최소성을 만족하는 키이다.
  • 대표성: 주식별자는 엔터티를 대표할 수 있어야 한다.
  • 유일성: 주식별자는 엔터티의 인스턴스를 유일하게 식별한다.
  • 불변성: 주식별자는 자주 변경되지 않아야 한다.

키의 종류

 

 

식별자의 종류

  • 식별자는 대표성, 생성 여부, 속성의 여부, 대체 여부로 분류된다.

대표성 여부에 따른 식별자 종류

 

생성 여부에 따른 식별자의 종류

 

속성의 수에 따른 식별자의 종류

대체 여부에 따른 식별자 종류

>> 인조 식별자란?

  • 인조 식별자는 후보 식별자 중에서 주식별자로 선정할 것이 없거나, 주식별자가 너무 많은 칼럼으로 되어 있는 경우에 사용한다.
  • 즉, 순서번호(Sequence Number)를 사용해서 식별자를 만드는 것이다.
728x90
Comments