SQLD · 데이터 모델링의 이해 (과목1)
한국어 · 34장
SQL 개발자 과목1 데이터 모델링 핵심 개념 34개
-
데이터 모델링
현실 세계의 데이터를 약속된 표기법으로 표현하는 과정. 개념적→논리적→물리적 순으로 진행.
🔑 개념→논리→물리
-
데이터 모델링 3요소
엔터티(Entity)·속성(Attribute)·관계(Relationship).
🔑 엔터티·속성·관계
-
데이터 모델링 유의사항
중복(Duplication)·비유연성(Inflexibility)·비일관성(Inconsistency)을 피해야 한다.
🔑 중복·비유연성·비일관성 회피
-
스키마 3층 구조
외부 스키마(사용자 뷰)·개념 스키마(통합 뷰)·내부 스키마(물리 저장). 데이터 독립성 확보.
🔑 외부·개념·내부
-
데이터 독립성
논리적 독립성(개념↔외부)과 물리적 독립성(내부↔개념). 스키마 변경의 파급을 차단.
🔑 논리·물리 독립성
-
엔터티(Entity)
업무에서 관리하는 집합적 대상(사람·사물·개념·사건). 두 개 이상의 인스턴스를 가짐.
🔑 관리 대상 집합=엔터티
-
엔터티 성립 조건
업무에서 필요·유일 식별·2개 이상 인스턴스·속성 보유·관계 존재.
🔑 식별자·인스턴스·속성·관계
-
엔터티 분류(유무형)
유형(물리적)·개념(추상)·사건(행위 발생) 엔터티.
🔑 유형·개념·사건
-
엔터티 분류(발생시점)
기본(독립 발생)·중심(기본에서 발생)·행위(둘 이상 관계로 발생) 엔터티.
🔑 기본·중심·행위
-
속성(Attribute)
엔터티가 가지는 항목. 더 이상 분리되지 않는 최소 관리 단위.
🔑 엔터티의 항목=속성
-
속성 분류(특성)
기본 속성·설계 속성(코드 등)·파생 속성(계산 값).
🔑 기본·설계·파생
-
속성 분류(구성)
PK 속성·FK 속성·일반 속성.
🔑 PK·FK·일반
-
도메인(Domain)
속성이 가질 수 있는 값의 범위(데이터 타입·크기·제약).
🔑 속성 값의 범위=도메인
-
관계(Relationship)
엔터티 간의 연관성. 존재적 관계와 행위적 관계로 구분.
🔑 엔터티 간 연관=관계
-
관계 차수(Cardinality)
1:1·1:M·M:N. 두 엔터티 간 인스턴스 대응 수.
🔑 1:1·1:M·M:N
-
관계 선택성(참여도)
필수적 참여(반드시)와 선택적 참여(있을 수도). ERD에서 원/실선으로 표기.
🔑 필수 vs 선택 참여
-
식별자(Identifier)
엔터티의 인스턴스를 유일하게 구분하는 속성(집합).
🔑 인스턴스 구분=식별자
-
주식별자 특징
유일성·최소성·불변성·존재성(NOT NULL).
🔑 유일·최소·불변·존재
-
식별자 분류
대표성(주/보조)·생성(내부/외부)·속성수(단일/복합)·본질(본질/인조).
🔑 주·내부·복합·인조 등
-
본질식별자 vs 인조식별자
본질은 업무에서 유래한 식별자, 인조는 인위적으로 부여한 일련번호.
🔑 업무유래=본질, 일련번호=인조
-
식별관계 vs 비식별관계
식별관계는 부모 PK를 자식 PK로 상속, 비식별관계는 부모 PK를 자식 일반속성(FK)으로.
🔑 PK상속=식별, FK만=비식별
-
함수적 종속성
한 속성이 다른 속성의 값을 결정하는 관계(A→B). 정규화의 기준.
🔑 A가 B를 결정=A→B
-
정규화(Normalization)
이상현상을 제거하기 위해 함수적 종속에 따라 테이블을 분해하는 과정.
🔑 이상현상 제거=정규화
-
제1정규형(1NF)
모든 속성이 원자값(하나의 값)을 갖도록 분해.
🔑 원자값=1NF
-
제2정규형(2NF)
부분 함수 종속 제거. PK 일부에만 종속된 속성 분리.
🔑 부분종속 제거=2NF
-
제3정규형(3NF)
이행 함수 종속 제거(A→B→C).
🔑 이행종속 제거=3NF
-
BCNF
모든 결정자가 후보키가 되도록 하는 강화된 3NF.
🔑 결정자=후보키=BCNF
-
반정규화(De-normalization)
성능·개발 편의를 위해 의도적으로 중복을 허용하는 것.
🔑 성능 위해 중복 허용
-
슈퍼타입/서브타입
공통 속성은 슈퍼타입, 개별 속성은 서브타입으로 분리한 모델.
🔑 공통=슈퍼, 개별=서브
-
서브타입 변환 방식
One To One(개별)·Plus(슈퍼+서브)·Single(하나로 통합) 방식.
🔑 OneToOne·Plus·Single
-
이력관리
데이터 변경 이력을 관리하는 방식(변경/진행/발생 이력).
🔑 변경 이력 관리
-
NULL
값이 존재하지 않음(미지·해당없음). 0이나 공백과 다르며 연산 시 주의.
🔑 값 없음 ≠ 0/공백
-
ERD(개체관계 다이어그램)
엔터티와 관계를 도식화한 모델. Chen·IE(Crow's Foot) 표기법.
🔑 엔터티+관계 그림=ERD
-
성능 데이터 모델링
정규화·반정규화·PK 순서·데이터 유형으로 성능을 고려한 모델링.
🔑 정규화+반정규화 균형
비슷한 덱