1. 데이터의 논리적 표현
릴레이션 스키마의 설계
- 논리적 데이터베이스 설계
- 관계 모델을 이용하여 어떻게 실세계를 정확히 표현할 것인가?
1. 애트리뷰트, 엔티티, 관계성을 파악
2. 관련된 애트리뷰트들을 릴레이션으로 묶음
- 고려사항
-- 애트리뷰트들간의 관계성(relationship): 데이터 종속성 (A -> B : A와 B는 서로 종속적 관계가 있다 | 학번 -> 학생이름)
-- 효율적인 데이터 처리
-- 데이터의 일관성
3. 변칙적 성질의 예방
- 데이터 변경 시의 이상현상 (삽입, 삭제, 변경)
스키마 변환의 원리
1. 정보 표현의 무손실 : 하위 릴레이션들을 조인하면 R릴레이션이 나와야 한다.
2. 최소의 데이터 중복
3. 분리의 원칙 : 연관된 관계성끼리 묶어서 릴레이션을 만들어야 한다.
2. 함수 종속
3. 기본 정규형 (1NF, 2NF, 3NF)
제약조건 : 이상현상이 발생하지 않게하는 조건
(1) 1NF
원자값 : 더이상 분해해서 질의하지 않는 경우 (성+이름 을 성과 이름으로 나눠서 호출하지 않으면 원자값으로 본다)
(2) 2NF : 1NF 에서 부분함수 종속을 제거한 것
키에 속하지 않는 애트리뷰트들은 모두 기본키에 완전함수 종속
함수 종속으로 릴레이션을 나눈뒤 나머지를 릴레이션으로 분해
A는 키값이므로 R2에도 포함되어야 한다.
지도 : 1NF에서 학번 지도교수 학과로 프로젝션
수강 : 1NF에서 학번, 과목번호, 성적으로 프로젝션
둘을 조인하면 수강지도가 나온다
2NF이상의 원인 : 이행적 함수종속 : A=>B, B=>C (학번 => 지도교수, 지도교수 => 학과)
(3) 3NF : 프로젝션으로 2NF 릴레이션을 분해(이행적 함수 종속을 제거)
이원 릴레이션 : 애트리뷰트 2개로 구성된 릴레이션
4. BCNF, 4NF
(4) BCNF (strong 3NF) : 릴레이션의 모든 결정자가 후보키인 경우
(5) 4NF : MVD(다치 종속)를 가진 릴레이션을 프로젝션
- 기관에서 DB를 구성하는 것이 modeling(schema 설계)
- 기관의 전문가가 대화를 통해 제약조건(함수 종속) 생성
- 이 함수 종속을 통해 새로운 함수종속을 유도 가능
- 모든 함수 종속을 하나의 스키마로 만들면 변환 과정에 이상 발생
- 이를 해결하기 위해 정규화를 사용
'Study > 데이터베이스' 카테고리의 다른 글
데이터베이스 7. 함수 종속, 1NF, 2NF (0) | 2023.11.04 |
---|---|
데이터베이스 6. SQL (0) | 2023.10.22 |
데이터베이스 5. 관계대수와 관계해석 (0) | 2023.10.22 |
데이터베이스 4. 관계 데이터베이스 (0) | 2023.10.16 |
데이터베이스 3. 데이터베이스 시스템의 구성 (0) | 2023.10.15 |