Hello World/SQLD

[1-2] 데이터 모델과 SQL

혼복필 2025. 10. 11. 17:00
728x90
SMALL

1절 정규화

 

제1정규형(1NF)
    ⤷ 모든 속성은 반드시 하나의 값을 가져야 함
    ⤷ [원자성] : 값이 더 이상 분해되지 않아야 함

제2정규형(2NF)
    ⤷ 엔터티의 일반 속성은 주식별자 전체에 종속되어야 함
    ⤷ [부분함수종속성] : 주식별자의 일부에만 종속되면 안 됨

제3정규형(3NF)
    ⤷ 엔터티의 일반 속성 간에는 서로 종속적이지 않아야 함
    ⤷ [이행함수종속성] : A → B, B → C이면 A → C가 되어서는 안 됨

보이스-코드 정규형(BCNF)
    ⤷ 후보키가 기본키 속성 중 일부에 함수적 종속일 때
    ⤷ 다수의 주식별자를 분리하여 설계

 

2절 관계와 조인의 이해

 

조인(JOIN)
    ⤷ 식별자를 상속하고, 상속된 속성을 매핑 키로 활용하여 데이터를 결합

식별 관계 vs 비식별 관계
    ⤷ 부모 식별자를 자식 식별자에 포함 → 식별 관계
    ⤷ 부모 식별자를 자식 일반 속성에 포함 → 비식별 관계
    ⤷ 비식별 관계에서는 조인이 많이 발생

관계를 맺는다는 의미
    ⤷ 식별자를 상속시키고, 해당 식별자를 매핑하여 데이터 결합

 

3절 모델이 표현하는 트랜잭션 이해

 

IE 방식
    ⤷ 필수 관계 → 실선
    ⤷ 선택 관계 → 원

바커 방식
    ⤷ 필수 관계 → 실선
    ⤷ 선택 관계 → 점선

 

4절 Null 속성의 이해

 

Null 특성
    ⤷ 아직 정의되지 않은 값, 0이나 공백(' ') 아님
    ⤷ NOT NULL 또는 PRIMARY KEY 외 모든 데이터 유형에 포함 가능
    ⤷ NVL, ISNULL 등으로 다른 값으로 대체 가능

Null 연산
    ⤷ NULL과의 연산 → NULL 반환
    ⤷ 모든 비교 → 알 수 없음(Unknown) 반환
    ⤷ 집계함수 → NULL 제외 후 계산

 

5절 본질식별자 vs 인조식별자

 

인조식별자 특징

    ⤷ 본질식별자가 복잡할 때 만들어짐
    ⤷ 사용 시 중복 데이터 방지가 어려움
    ⤷ 본질식별자 사용 대비 추가 인덱스 필요
    ⤷ 단점 존재 → 꼭 필요한 경우에만 사용 권장

 

728x90
LIST

'Hello World > SQLD' 카테고리의 다른 글

[2-3 SQL 관리 구문]  (0) 2025.10.15
[2-2 SQL 활용]  (0) 2025.10.15
[2-1 SQL 기본 및 활용]  (0) 2025.10.11
[1-1] 데이터 모델링의 이해  (6) 2025.01.07