728x90
반응형
데이터 모델과 SQL
정규화
- 데이터의 중복을 제거하고, 무결성을 유지
- 데이터를 분해하는 과정
- 논리 데이터 모델링 수행 시점에서 고려
이상현상
- 삽입이상, 삭제이상, 갱신이상
- 삽삭갱(삽살개)로 외웠음(feat.정처기)
정규화 단계(원-부-이-결-다-조)
제 1 정규화(1NF)
- 모든 속성은 반드시 하나의 값만 가짐(원자성)
제 2 정규화(2NF)
- 완전 함수 종속, 기본키의 부분집합이 결정자가 되면 안된다
제 3 정규화(3NF)
- 이행 종속을 없애도록 테이블을 분해
- A->B, B->C => A->C
BCNF 정규화
- 모든 결정자가 후보키가 되도록 테이블 분해
제 4 정규화(4NF)
- 다중값 종속성 제거
제 5 정규화(5NF)
- 조인에 의한 종속성 발생시 분해
반정규화(역정규화)
- 성능을 위해 중복을 허용하고, 조인을 줄이는 것
트랜잭션
- 하나의 논리적, 연속적 업무 단위
표기법
IE 표기법
- 원을 사용하여 필수, 선택 관계 구분
- 필수관계 = 원 x
- 선택관계 = 원
바커 표기법
- 실선과 점선
- 필수관계 = 실선
- 선택관계 = 점선
NULL 속성
- 아직 정해지지 않은 값
- 0 or 빈 문자열 과는 다른 개념
특성
- NULL 포함 연산은 항상 NULL
- 집계함수(sum, avg, max, min)는 NULL제외 연산 결과 return
표기법
- IE 표기법엔 따로 없음
- 바커 표기법, 속성 앞 원이 NULL 허용을 알림
참고
728x90
반응형
'SQL > 제 1 과목' 카테고리의 다른 글
1장_데이터 모델링의 이해 (2) | 2024.05.15 |
---|