제 1 정규형
한 릴레이션 R이 제1정규형을 만족할 필요 충분 조건은 릴레이션 R의 모든 애트리뷰트가 원자값만을 갖는다는 것
즉 릴레이션의 모든 애트리뷰트에 반복 그룹(repeating group)이 나타나지 않으면 제1정규형을 만족함
제1정규형을 만족하지 않는 위의 그림을 제1정규형으로 변환하는 방법
반복 그룹 애트리뷰트에 나타나는 집합에 속한 각 값마다 하나의 튜플로 표현
제1정규형에 존재하는 갱신 이상
모든 애트리뷰트가 원자값을 가지면 제1정규형을 만족함
이 릴레이션의 기본 키는 (학번,과목번호)
수정 이상
- 한 학과에 소속한 학생 수 만큼 그 학과의 전화번호가 중복되어 저장되므로 여러 학생이 소속된 학과의 전화번호가 변경되었을 때 그 학과에 속한 모든 학생들의 튜플에서 전화번호를 수정하지 않으면 데이터베이스의 일관성이 유지되지 않음
삽입 이상
- 한 명의 학생이라도 어떤 학과에 소속되지 않으면 이 학과에 관한 튜플을 삽입할 수 없음. 왜냐하면 학번이 기본 키의 구성요소인데 엔티티 무결성 제약조건에 따라 기본 키에 널값을 입력할 수 없기 때문
삭제 이상
- 어떤 학과에 소속된 마지막 학생 튜플을 삭제하면 이 학생이 소속된 학과에 관한 정보도 삭제됨
갱신 이상이 생기는 이유
- 기본 키에 대한 부분 함수적 종속성이 학생 릴레이션에 존재
제 2정규형
한 릴레이션 R이 제2정규형을 만족할 필요 충분 조건은 릴레이션 R이 제1정규형을 만족하면서, 어떤 후보 키에도 속하지 않는 모든 애트리뷰트들이 R의 기본 키에 완전하게 함수적으로 종속하는 것
기본 키가 두 개 이상의 애트리뷰트로 구성되었을 경우에만 제1정규형이 제2정규형을 만족하는가를 고려할 필요가 있음
제2정규형에 존재하는 갱신 이상
- 학생1 릴레이션의 기본 키는 한 애트리뷰트인 학번이므로 제2정규형을 만족함
수정 이상
- 여러 학생이 소속된 학과의 전화번호가 변경되었을 때 그 학과에 속한 모든 학생들의 튜플에서 전화번호를 수정하지 않으면 데이터베이스의 일관성이 유지되지 않음
삽입 이상
- 어떤 학과를 신설해서 아직 소속 학생이 없으면 그 학과의 정보를 입력할 수 없다. 왜냐하면 학번이 기본키인데 엔티티 무결성 제약조건에 따라 기본 키에 널값을 입력할 수 없기 때문
삭제 이상
- 어떤 학과에서 마지막 학생의 투플이 삭제되면 그 학과의 전화번호도 함께 삭제됨
갱신 이상이 생기는 이유
- 학생1 릴레이션에 이행적 종속성이 존재하기 때문
'정보처리산업기사 > 데이터베이스' 카테고리의 다른 글
[데이터베이스]색인 순차 파일-hoyhi-tistory (0) | 2021.03.11 |
---|---|
[데이터베이스]해싱(Hashing)-hoyhi-tistory (0) | 2021.03.11 |
[데이터베이스]이분 검색(이진 검색)-hoyhi-tistory (0) | 2021.03.11 |
[데이터베이스]주요 정렬 알고리즘-hoyhi-tistory (0) | 2021.03.11 |
[데이터베이스]수식의 표기법-hoyhi-tistory (0) | 2021.03.11 |