잠수함 2021. 5. 21. 17:59
728x90

데이터베이스 설계

 

1. 데이터베이스 설계를 하는 목적

- 중복성 제거

- 정규화

 

2. 데이터 모델

- 데이터베이스 설계를 도식화한 도표

- 개체(entity), 속성(arrtibute), 관계(relation)로 구성

 

2-1. 개체

- 데이터가 저장되어야 하는 중요한 사물, 물체

- 엔티티에 대한 정보는 속성, 관계의 폼으로 저장

 

3. 정규화

 

3-1. 정규화 개념

- 데이터 모델을 좀 더 구체적으로 해줌

- 데이터의 기본

 

3-2. 제1 정규형(1NF)

- 하나의 엔티티가 모든 속성들이 하나의 값을 가질때 “제 1 정규형(1st Normal form)” 이라 한다.
- 각 속성들은 엔티티의 각 인스턴스를 위한 하나의 값을 가지고 있는지 확인
- 중복된 속성을 가진 엔티티는 그 안에 최소한 1개 이상의 다른 엔티티가 존재한다는 것을 의미

 

3-3 유일한 식별자

- 각각의 엔티티는 ID라고 불리는 유일한 식별자를 가져야 한다.

 

* ID는 다음 규칙을 가지는 엔티티의 속성
# 엔티티의 모든 인스턴스에 유일
# 인스턴스의 전체 라이프 타임 동안 NULL이 아니어야 한다.
# 전체 라이프 타임 동안 변하지 않는 값

 

- ID는 관계를 모델링 하기위한 중요 요소 

 

3-4 제2 정규형(2NF)

- 하나의 엔티티가 이미 1NF로 되어 있고 모든 식별되지 않은 속성들이 엔티티의 유일한 식별자에 종속적이면 “제 2 정규형(2nd Normal form)” 이라 한다.

 

3-5 관계의 종류
* 1:1 (one-to-one, 1-to-1)
# 매우 드물다

* 1:M (one-to-many, 1-to-M)
# 한 방향이 1:M, 다른 방향이 1:1 인 경우
# 가장 흔하다.

 

* M:M (many-to-many, M-to-M)
# 양방향이 1:M인 경우

# 1:M 관계로 풀어야함

 

3-5 제3 정규형(3NF)

- 하나의 엔티티가 이미 2NF로 되어 있고 식별할 수 없는 어떠한 속성도 어떤 다른 식별할 수 없는 속성들에게 종속적이지 않으면 “제 3 정규형(3nd Normal form)” 이라 한다.
- 식별할 수 없는 다른 속성들에게 종속적인 속성들은 종속적인 속성과 새로운 엔티티에 종속적인 속성으로 이동

 

장르_노래 TABLE6
노래번호 N/A N/A
장르 N/A N/A
번호(FK) N/A N/A

 

노래 TABLE
번호(PK) N/A N/A
제목 N/A N/A
길이 N/A N/A
앨범번호(FK) N/A N/A
가수번호(FK) N/A N/A

 

배급사 TABLE3
번호(PK) N/A N/A
이름 N/A N/A
주소 N/A N/A