BlueHarmel
BlueHarmel Devlog
BlueHarmel
전체 방문자
오늘
어제

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (330)
    • Book (11)
    • Dev (29)
      • ArtCon (0)
      • ESTsoft 오르미 (29)
    • Study (290)
      • Web (18)
      • AWS (2)
      • 알고리즘 (1)
      • GameDev (1)
      • 정보처리기사 (201)
      • English (1)
      • Mathematics (24)
      • 머신러닝 (7)
      • 딥러닝 (10)
      • 네트워크 보안 (5)
      • R (4)
      • 컴퓨터 네트워크 (6)
      • 데이터베이스 (8)
      • 데이터 통신 (0)
      • 운영체제 (2)
      • TIL (0)
    • Project (0)
      • 개인 (0)
      • 단체 (0)

인기 글

hELLO · Designed By 정상우.
BlueHarmel

BlueHarmel Devlog

8. 데이터 종속성과 정규화
Study/데이터베이스

8. 데이터 종속성과 정규화

2023. 12. 20. 01:03

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
    BlueHarmel
    BlueHarmel
    Interested in Mathematics, Foreign Language, and "Programming"

    티스토리툴바