정규화
1NF: 모든 속성은 반드시 하나의 값을 가져야 한다.
2NF: Part-key Dependency(부분키 의존성)이 없어야 한다.
주식별자 전체에 종속적이어야 한다.
3NF: 일반 속성간에는 서로 종속적이지 않는다.
0NF

0NF(비정규형) - 아직 정규화가 되지않은 상태
문제점
1. 중복데이터: 사원의 정보가 프로젝트 수 만큼 반복됨
2. 삽입 이상: 프로젝트에 참여하지 않은 사원은 등록 불가
3. 수정 이상: 부서 이름을 바꾸면 여러 행 수정해야 함
4. 삭제 이상: 사원이 참여한 프로젝트 삭제하면 사원 정보도 유실
1NF: 모든 속성은 반드시 하나의 값을 가져야 한다.
입력 이상 (=삽입이상) : 프로젝트에 참여한 사원만 사원정보를 등록할 수 있음
수정 이상 (=갱신이상) : 사원의 부서 번호 변경 시 참여 프로젝트 수 만큼의 건 수 만큼 변경해야 함
삭제 이상 : Tom사원의 프로젝트 참여 기록을 삭제하면 Tom사원의 기본 정보도 같이 삭제됨
→ 중복되는 프로젝트 관련 속성을 분리
분리 시 연관성을 유지할 수 있도록 외래키를 정의해야 함

2NF: 주식별자 전체에 종속적이어야 한다.
입력 이상: 사원이 참여한 프로젝트만 입력될 수 있음
수정 이상: 부서, 매니저 정보 수정이 연관된 건수 모두 같이 변경해야 함
삭제 이상: 사원 정보가 삭제되면 부서, 매니저 정보도 같이 삭제됨
→ 서로 종속적인 일반 속성들을 분리

3NF: 일반 속성간에는 서로 종속적이지 않는다.
입력 이상: 사원이 없으면 부서 정보, 매니저 정보를 입력할 수 없음
수정 이상: 부서, 매니저 정보 수정이 연관된 건수 모두 같이 변경해야 함
삭제 이상: 사원 정보가 삭제되면 부서, 매니저 정보도 같이 삭제됨
→ 서로 종속적인 일반 속성들을 분리

ERD 그리기

사원엔터티의 사번과 매니저엔터티의 사번과 겹치기 때문에
사원엔터티에서 재귀관계를 이용하여 나타내기

연습문제



1NF : 모든 속성은 반드시 하나의 값을 가져야 한다.
- 제1정규형에 대해 만족
2NF: Part-key Dependency(부분키 의존성)이 없어야 한다.
중복되는 것 분리.
학생의 학번과 강좌의 강좌번호를 주식별자로 사용하겠다 ( 등록 에서)
등록에서 중복되는 것을 확인하고 분리.
-> 교수번호, 강좌명 중복
-> 등록에서 교수번호, 강좌명 삭제
3NF: 일반 속성간에는 서로 종속적이지 않는다.

정규형



'oracle DB' 카테고리의 다른 글
| [Data Modeling] ERD 작성 연습문제11 (0) | 2025.04.01 |
|---|---|
| [Data Modeling] M:M (0) | 2025.04.01 |
| [Data Modeling] 8. Assigning Unique Identifiers (0) | 2025.04.01 |
| [Data Modeling] 7. Identifying Relationships (0) | 2025.04.01 |
| [Data Modeling] ERD 작성 (0) | 2025.03.31 |