CS 전공/DB

[데이터베이스] 6. 데이터베이스 설계

Easyho.log 2024. 4. 24. 16:35

1. 데이터베이스 설계 단계

1. 데이터베이스 설계

 데이터베이스 설계는 사용자의 다양한 요구 사항을 고려하여 데이터베이스를 생성하는 과정이다.

 대표적인 설계 방법으로 E-R 모델과 릴레이션 변환 규칙을 이용한 설계이다.

2. 데이터베이스 설계 단계

데이터베이스 설계 단계는 다음과 같다.

요구 사항 분석 → 개념적 설계 → 논리적 설계 → 물리적 설계 → 구현

 

1) 요구 사항 분석

- 목적 : 사용자의 요구 사항을 수집하고 분석하여 데이터베이스의 용도를 파악한다.

- 결과물 : 요구 사항 명세서

 

우리가 해야 할 작업은 사용자의 업무 분석과 요구 사항 수집이다. 그리고 요구 사항 수집을 통해 요구 사항 명세서를 작성한다.

 

2) 개념적 설계

- 목적 : DBMS에 독립적인 개념적 스키마 설계

- 요구 사항 분석 결과물을 개념적 데이터 모델을 이용해 개념적 구조로 표현 개념적 모델링

- 결과물 : E-R 다이어그램

- 작업 과정 : 개체와 속성 추출 -> 관계 추출 -> E-R 다이어그램 작성

 

i) 개체와 속성 추출

가장 중요한 키 포인트는 요구 사항 명세서의 의미 있는 명사를 찾는 것이다! 찾아낸 명사를 바탕으로 개체와 속성을 분류하는 것이다!

또한, 식별하는 속성을 가진 명사에 대해서는 키 속성으로 분류한다!

 

ii) 관계 추출

가장 중요한 키 포인트는 요구 사항 명세서의 의미 있는 동사를 찾는 것이다! 이번엔 관계이기 때문에 동사를 찾는데, 찾아낸 관계에 대해 매핑 카디널리티 (ex.1:1, 1:N, N:M) 과 참여 특성 (ex. 필수적 참여/ 선택적 참여)를 결정한다!

 

iii) E-R 다이어그램 작성

개체와 속성, 관계를 추출하였으면 이를 바탕으로 E-R 다이어그램을 작성한다.

E-R 다이어그램 예

 

 

3) 논리적 설계

- 목적 : DBMS에 적합한 논리적 스키마 설계

- 결과물 : 논리적 스키마 (= 릴레이션 스키마)

- 주요 작업 : E-R 다이어그램을 만들었으니 이를 바탕으로 릴레이션 스키마로 변환해주는 작업을 실시해야 한다. 

 

하지만, 스키마로 변환하는데 다음과 같은 규칙을 지켜야 한다!

규칙 1) 모든 개체는 릴레이션으로 변환한다.
규칙 2) 다대다 관계는 릴레이션으로 변환한다.
규칙 3) 일대다 관계는 외래키로 표현한다. (약한 개체가 참여하는 일대다 관계는 외래키를 포함해서 기본키로 지정)
규칙 4) 일대일 관계는 외래키로 표현한다. (필수적으로 참여하는 개체의 릴레이션만 외래키를 받는다)

→ 모든 개체가 필수적으로 참여하면 릴레이션 하나로 합친다.
규칙 5) 다중 값 속성은 릴레이션으로 변환한다.

 

4) 물리적 설계

논리적 설계에서 얻은 릴레이션 스키마를 SQL문으로 작성한다.


사실 데이터베이스 설계는 직접 만들어보는 것이 중요하기에 규칙을 외워서만으로는 데이터베이스를 제대로 이해하기 쉽지 않다고 생각한다. 마침, 시험기간인데도 불구하고... 교수님이 과제를 내주셨다~ 이 부분을 이용해서 직접 논리적 모델링까지 해볼 계획이다.

아무튼 끝!