상세 컨텐츠

본문 제목

SQLD 공부 6일 차!

SQL과 데이터베이스

by 크앙크아앙 2025. 5. 30. 16:42

본문

오늘도 저번과 마찬가지로 지금까지 해왔던 공부를 복습한 내용을 작성해보고자 합니다.


1. 정규화

- 이상현상이 이러나는 것을 방지하기 위해 데이터의 중복을 최소화면서 테이블을 보다 잘 조직된 상태로 분해하는 과정

이상현상이란?
- 입력, 수정, 삭제하는 과정에서 인관성이 깨지는 현상

1) 삽입 이상(Insertion Anamoly): 테이블에 데이터를 삽입할 때 의도하지 않은 정보까지 삽입해야 하는 현상
2) 갱신 이상(Update Anamoly): 중복 저장되어있는 데이터 중 하나만 갱신하고 나머지를 갱신하지 않을때 나타나는 데이터 불일치 현상
3) 삭제 이상(Deletion Anamoly): 테이블에 있는 특정 데이터를 삭제할 때 의도하지 않은 정보까지 삭제되는 현상

 

- 정규화 절차
1) 제 1차 정규화
- 테이블의 속성값은 원자값으로 구성되어 있어야한다.
- 중복값 제거
- 기본키 설정

2) 제 2차 정규화
- 기본키가 2개 이상의 속성으로 이루어진 경우 부분 함수종속성을 제거한다.

3) 제 3차 정규화
- 기본키를 제외한 칼럼간의 종속성을 제거한다 (이행함수 종속성을 제거한다).

4) BCNF: 기본키를 제외하고 후보키가 있는 경우 후보키가 기본키를 종속시키면 분해한다.

1. 제 1 정규형

- 모든 속성이 하나의 속성값만을 가지고 있으면서 유사한 속성이 반복되지 않는 형태

- 주식별자에 대해 일반 속성은 1:1 관계를 가져야 한다.

유사한 속성이 반복되는 것을 정규화를 통해 별도의 테이블로 분리하였다

 

하나의 속성에 하나의 속성값만 존재하도록 1차 정규화를 실행하였다

 


2. 제 2 정규형

- 부분 함수종속성을 제거한 형태

- 주식별자에 완전하게 종속적이지 않은 속성을 별도의 테이블로 분리한다

 

부분 함수종속성이란?
: 주식별자가 두 개 이상으로 구성된 복합식별자인 경우 일반 속성이 주식별자의 일부에만 종속성을 가지는 것

 

테이블을 분리하여 부분 함수종속성을 제거하였다


3. 제 3 정규형

- 이행 함수 종속성을 제거한 형태

 

이행 함수종속성이란?
- 일반 속성 간에 함수 종속성이 존재하는 경우
A -> B이고 B -> C인 경우 A -> C가 되는 것을 이행 함수종속성이라고 한다.

 

이행 함수종속성을 제거하였다


 

'SQL과 데이터베이스' 카테고리의 다른 글

SQLD 공부 7일 차  (1) 2025.06.04
SQLD 공부 6일 차 (2)  (3) 2025.06.02
SQLD 공부 5일 차  (6) 2025.05.27
SQLD 공부 4일 차  (1) 2025.05.23
SQLD 공부 3일 차  (0) 2025.05.22

관련글 더보기