반응형
정규화란?
함수적 종속성 등의 종속성 이론을 이용하여 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개어 바람직한 스키마로 만들어가는 과정이다.
- 하나의 종속성이 하나의 릴레이션에 표현될 수 있도록 분해해가는 과정
- 정규형은 차수가 높아질수록 만족시켜야 할 제약 조건이 늘어남
- 데이터베이스의 논리적 설계 단계에서 수행
- 논리적 처리 및 품질에 큰 영향을 미침
- 정규화된 데이터 모델은 일관성, 정확성, 단순성, 비중복성, 안정성 등을 보장
- 정규화 수준이 높을수록 유연한 데이터 구축이 가능하고 데이터의 정확성이 높아지는 반면 물리적 접근이 복잡하고 너무 많은 조인으로 인해 조회 성능이 저하됨
정규화의 목적
- 데이터 구조의 안정성 및 무결성 유지
- 어떠한 릴레이션이라도 데이터베이스 내에서 표현 가능하게 만듦
- 효과적인 검색 알고리즘 생성 가능
- 데이터 중복을 배제하여 이상(Anomaly)의 발생 방지 및 자료 저장 공간의 최소화 가능
- 데이터 삽입 시 릴레이션을 재구성할 필요성을 줄임
- 데이터 모형의 단순화가 가능
- 속성의 배열 상태 검증이 가능
이상(Anomaly)의 개념 및 종류
정규화를 거치지 않으면 데이터베이스 내에 데이터들이 불필요하게 중복되어 릴레이션 조작 시 예기치 못한 곤란한 현상이 발생하는데, 이를 이상(Anomaly)이라 하며 삽입 이상, 삭제 이상, 갱신 이상이 있다.
- 삽입 이상(Insertion Anomaly): 릴레이션에 데이터를 삽입할 때 의도와 상관없이 원하지 않은 값들도 함께 삽입되는 현상
- 삭제 이상(Deletion Anomaly): 릴레이션에서 한 튜플을 삭제할 때 의도와는 상관없는 값들도 함께 삭제되는 연쇄가 일어나는 현상
- 갱신 이상(Update Anomaly): 릴레이션에서 튜플에 있는 속성값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보에 모순이 생기는 현상
정규화의 원칙
- 정보의 무손실 표현, 즉 하나의 스키마를 다른 스키마로 변환할 때 정보의 손실이 있어서는 안됨
- 분리의 원칙, 하나의 독립된 관계성은 하나의 독립된 릴레이션으로 분리시켜 표현해야 함
- 데이터의 중복성이 감소되어야 함
정규화 과정까지 하려니까 너무 방대해서 다음 글에서 계속해보는걸로.. 정의된 문장만으로 이해하기는 쉽지 않고 이런저런 예제를 찾아봐야 이해가 좀 된다.
728x90
반응형
'DataBase > SQL' 카테고리의 다른 글
[SQLD] 개념 정리 #04 이것저것 1탄 (0) | 2021.03.17 |
---|---|
[SQLD] 개념 정리 #03 정규화 과정 (0) | 2021.03.11 |
[SQLD] 개념 정리 #01 시스템 카탈로그, 식별 관계/비식별 관계 (4) | 2021.03.10 |
[ORACLE] CLOB형식 데이터를 String으로 받을 때 (0) | 2021.02.14 |
[ORACLE] 파이널 프로젝트 매치업 조회부분 sql 쿼리 짠 것 (0) | 2021.02.05 |