2.3 정규형(Normal Form, NF) 은 데이터 이상 현상을 제거하기 위한 관계형 모델의 설계 지침
2.3.1 정규화(Normalization)은 데이터 이상(anomaly) 현상을 제거하기 위한 관계형 모델의 설계 지침
🥕 1정규형(1NF) - 원자성(atomicity)와 관련
1정규형위배(다중값)
상품코드 엔터티 : 관련부서목록은 다중 값(multiple value)을 가진다. 다가 속성이라고도 부른다.
상품코드 |
상품명 관련부서목록 |
1정규형위배(반복그룹)
상품코드 |
상품명 관련부서번호1 관련부서번호2 |
🥕 2정규형(2NF) - 부분 종속(Partial dependency)과 관련: 일반 속성이 식별자의 일부 속성에만 종속되는 것이다.
2정규형위배
주문상세 엔터티 : 주문수량은 주문번호랑 상품코드 조합에 종속 / 상품명은 상품코드에 종속
1) 주문이 발생하지 않으면 상품입력이 안되고
2) 상품명이 변경되면 동일한 상품코드의 튜플을 모두 수정해야하며
3) 상품이 삭제되면 주문도 함께 삭제된다.
주문번호 상품코드 |
주문수량 상품명 |
🥕 3정규형(3NF) - 이행 종속(transitive dependency)과 관련: 일반 속성이 다른 일반 속성에 종속되는 것이다.
3정규형위배
사원 엔터티 : 소속부서명은 소속부서번호에 종속
사원번호 |
사원명 소속부서번호 소속부서명 |
2.3.2 반정규화(denormalization)
성능 개선을 위해 의도적으로 데이터를 중복시키는 것
데이터 무결성을 보장하기 어렵기 때문에 제한적으로 사용하는 편이 바람직
2.4 물리 데이터 모델
논리데이터모델 | 물리데이터모델 |
엔터티 | 테이블 |
속성 | 열 |
도메인 | 데이터 타입, NOT NULL 제약 조건, CHECK 제약 조건 |
기본 식별자 | PK 제약 조건 |
외래 식별자 | FK 제약 조건 |
'IT > SQL Programming' 카테고리의 다른 글
불친절한 SQL 프로그래밍 정규화(오라클 데이터베이스, SQL) (0) | 2022.09.13 |
---|---|
불친절한 SQL 프로그래밍 (0) | 2022.08.08 |