Jeunwork space

sqld - 정규화, 함수 종속 본문

sqld

sqld - 정규화, 함수 종속

jeunwork 2021. 8. 31. 20:44

출처 : youtube SQLD 선행학습 - 劉처사

https://www.youtube.com/watch?v=Ml88oODdHi0&list=PLKdqgOvYNmcYTIorED1PuDaJ0_pX4HjC_&index=2 

정규화(normalization)

- 자료 저장 공간을 최소화하고, 데이터가 중복되어 저장되거나, 이상현상이 발생하지 않도록 위험을 최소화하여 좋은 데이터베이스 스키마를 만들어 가는 과정

- 목적 

  1. 어떤 관계라도 데이터베이스 내에서 표현이 가능하도록 만드는 것
  2. 관계에서 바람직하지 않은 삽입, 삭제, 갱신 이상이 발생하지 않도록 함
  3. 새로운 형태의 데이터가 삽입될 때 관계를 재구성할 필요성을 줄일 수 있음
  4. 보다 간단한 관계 연산에 기초하여 검색을 보다 효율적으로 할 수 있음

이상현상(Anomaly)

중복되어 저장된 데이터 때문에 릴레이션의 수정, 삽입, 삭제와 같은 조작을 할 때 생기는 여러가지 이상현상

  • 수정 이상 : 중복 데이터 중에서 일부만 갱신되어 정보의 모순이 발생하는 것
  • 삽입 이상 : 어떤 정보를 저장하는 것이 불가능해 원하지 않는 정보를 강제로 삽입해야 하는 것
  • 삭제 이상 : 유용한 정보를 함께 삭제하지 않고는 어떤 정보를 삭제하는 것이 불가능한 것

결정자

- 주어진 릴레이션에서 다른 속성(또는 속성들의 집합)을 고유하게 결정하는 하나 이상의 속성

 

정규화 과정

  1. 제1정규형 : 릴레이션의 속성값이 더 이상 분해될 수 없는 원자값으로만 구성. 반복집합이 있는 비정규 릴레이션의 반복집합 제거
  2. 제2정규형 : 어떤 릴레이션 R이 제1정규형이고, 키에 속하지 않는 속성 모두가 키에 완전 함수 종속
  3. 제3정규형 : 어떤 릴레이션 R이 제2정규형이고, 모든 속성들이 기본키에 이행적 함수 종속을 제외

 

'sqld' 카테고리의 다른 글

sql 개발자(sqld) 42회 합격!  (0) 2021.10.01
sqld - 데이터 모델링, 엔티티, 관계, 속성  (0) 2021.08.31
Comments