본문 바로가기

Structured Query Language/SQLD

SQLD_1과목_1장 데이터 모델링의 이해_4절 관계, 5절 식별자

4절 관계

 

정의: 엔터티 간의 논리적인 관련성, 동사형
관계의 패어링: 인스턴스 간 개별적 관계

 

관계 표기법

1) 관계명

2) 관계차수

3) 관계선택사양

   ⦁ 관계차수(Cardinality): 관계 내 튜플의 전체 개수, 1은 직선 多는 삼발로 표시
      ⦁ M:N 관계: 관계형 DB에서 M:N 관계의 조인은 카테시안 곱 발생
   ⦁ 관계선택사양(Optionality): 필수는 I 선택은 O로 표시


종류
ERD 기준: 표기구분 안함
  ⦁ 존재 관계: 엔터티 간의 상태
  ⦁ 행위 관계: 엔터티 간에 발생하는 행위


UML(Unified Modeling Language) 기준
  ⦁ 연관 관계(Association): 실선 표기
  ⦁ 의존 관계(Dependency): 점선 표기


⦁ 식별자에 따른 분류
  ⦁ 식별 관계: 부모 엔터티의 식별자를 자식 엔터티에서 주식별자로 사용
  ※ 약한 엔터티: 부모 엔터티에 종속되어 존재 (↔ 강한 엔터티는 독립적으로 존재함)
  ⦁ 비식별 관계: 부모 엔터티의 식별자를 자식 엔터티에서 일반 컬럼으로 참조 사용, 약한 종속 관계
  ※ 식별 관계만으로 연결되면 주식별자 수가 많아질 수밖에 없으므로

  1) 관계 강약 분석 2) 자식 엔터티의 독립 PK 필요성 3) SQL 복잡성과 개발 생산성 고려 필요


관계 읽기: 각각의/하나의 > 기준 엔터티 > 관계차수 > 대상 엔터티 > 관계선택사양 > 관계명

 

 

5절 식별자


정의: 엔터티를 대표할 수 있는 유일성을 만족하는 속성
특징:

1) 유일성

2) 최소성

3) 불변성

4) 존재성


종류


  ⦁ 대표성 여부에 따른 분류
    ⦁ 주식별자: 대표성을 만족하는 식별자
    ⦁ 보조 식별자: 유일성과 최소성만 만족하는 식별자, 참조 관계 연결에 사용할 수 없음
        ※ DB 키의 종류
         ⦁ 기본키(PK; Primary Key): 엔터티를 대표하는 키, 후보키 중 선정됨
         ⦁ 후보키: 유일성과 최소성을 만족하는 키
         ⦁ 슈퍼키: 유일성만 만족하는 키
         ⦁ 대체키: 기본키를 제외한 나머지 후보키
         ⦁ 외래키(FK; Foreign Key): 여러 테이블의 기본 키 필드, 참조 무결성(Referential Integrity)을 확인하기 위해 사용됨             (허용된 데이터 값만 저장하기 위함)


  ⦁ 생성 여부에 따른 분류
    ⦁ 내부 식별자: 자연스럽게 존재하는 식별자 (~ 본질식별자)
    ⦁ 외부 식별자: 다른 엔터티와의 관계를 통해 생성되는 식별자


  ⦁ 속성 수에 따른 분류
    ⦁ 단일 식별자: 하나의 속성
    ⦁ 복합 식별자: 여러 속성


  ⦁ 대체 여부에 따른 분류
    ⦁ 본질 식별자: 대체될 수 없는 식별자
    ⦁ 인조 식별자: 인위적으로 만들어지는 대체가능한 식별자 (순서번호(Sequence Number)를 사용하여 생성된 식별자),

    1) 후보 식별자 중 주식별자로 선정할 것이 없거나 2) 주식별자가 너무 많은 칼럼으로 구성되어 있을 때 사용

 

  ⦁ 주식별자 도출 기준: 업무에서 자주 이용되는 속성, 이름 명명 지양, 복합 식별자 지양