데이터베이스의 중복을 최소화하여 저장 효율을 높이고
연산 시 이상 현상을 최소화할 수 있는 논리적 구조로 변환시키는 작업
삭제 이상(deletion anomaly)
한개의 튜플을 삭제할 경우 참조된 테이블의 유지 되어야 할 데이터가 손실되는 현상
삽입 이상(insertion anomaly)
어떤 정보를 테이블에 삽입하고자 할 때 불필요한 정보까지도 삽입해야 하는 경우
갱신 이상(update anomaly)
중복된 튜플들 중에 일부만 갱신함으로써 정보의 불일치성이 발생하게 되는 현상
R.X -> R.Y
수강 | 학번 | 과목명 | 성적 | 이름 |
---|---|---|---|---|
2022101 | 정보통신개론 | 90 | 홍길동 | |
2022101 | 데이터베이스 | 80 | 홍길동 | |
2022100 | 데이터베이스 | 90 | 아무개 |
릴레이션 명이 수강
일 때
수강 릴레이션에서 학번
은 이름
을 고유하게 결정한다 수강.학번 -> 수강.이름
[학번, 과목명]
은 성적
을 고유하게 결정한다. {수강.학번, 수강.과목명} -> 수강.성적
학번 | 이름 | 주소 | 취미 |
---|---|---|---|
202201 | 홍길동 | 서울 | 볼링, 게임 |
202202 | 김길동 | 경기 | 야구, 농구, 핸드볼 |
학번 | 이름 | 주소 | 취미 |
---|---|---|---|
202201 | 홍길동 | 서울 | 볼링 |
202201 | 홍길동 | 서울 | 게임 |
202202 | 김길동 | 경기 | 야구 |
202202 | 김길동 | 경기 | 농구 |
202202 | 김길동 | 경기 | 핸드볼 |
릴레이션의 모든 속성들이 단일값(atomic value)만을 갖는 형태
기본키로 여러 개의 속성이 함께 사용되는 복합키를 사용하는 릴레이션의 일반 속성이
모두 복합키에 종속되는 형태 기본적으로 제 1 정규형을 만족시키는 것을 전제로 한다.
기본키가 아닌 일반 속성들 간의 종속 관계가 존재하지 않는 형태
기본적으로 제 2 정규형을 만족시키는 것을 전제로 한다.