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) 주식별자가 너무 많은 칼럼으로 구성되어 있을 때 사용
⦁ 주식별자 도출 기준: 업무에서 자주 이용되는 속성, 이름 명명 지양, 복합 식별자 지양
'Structured Query Language > SQLD' 카테고리의 다른 글
SQLD_1과목_2장 데이터 모델과 성능_6절 분산 DB 데이터에 따른 성능 (0) | 2023.05.30 |
---|---|
SQLD_1과목_2장 데이터 모델과 성능_3절 반정규화와 성능, 4절 대용량 데이터에 따른 성능, 5절 DB 구조와 성능 (0) | 2023.05.30 |
SQLD_1과목_2장 데이터 모델과 성능_1절 성능 데이터 모델링의 개요, 2절 정규화와 성능 (0) | 2023.05.30 |
SQLD_1과목_1장 데이터 모델링의 이해_2절 엔터티, 3절 속성 (0) | 2023.05.30 |
SQLD_1과목_1장 데이터 모델링의 이해_1절 데이터 모델의 이해 (0) | 2023.05.30 |