데이터베이스 설계

2024. 11. 27. 21:54데이터베이스

데이터베이스 설계(database design)

사용자의 요구사항으로부터 현실세계를 반영한 데이터베이스 구조를 도출해내는 과정

(= 여러 필드로 구성된 테이블을 어떠한 물리적 형태의 데이터베이스로 저장할 것인가)


DB 설계 단계

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

 

 

요구사항 분석

- DB가 제공해야 하는 핵심적인 정보 대상 및 제한 조건 도출

 

개념적 설계

- 개념적 스키마 생성  개체관계 다이어그램(Entity Relationship Diagram, ERD) or ER 스키마(ER schema)

- 개체관계 모델(entity relationship model)이 대표적

- 추상적으로 표현하는 단계

 

논리적 설계

- 논리적 스키마 생성  →  테이블 스키마(relational shema) or 데이터베이스 스키마(database schema)

- 관계형 테이블과 이를 구성하는 필드 집합 정의

 

물리적 설계

- 물리적 스키마 생성

- 테이블의 저장 구조 결정 (ex. 필드의 데이터 타입, 인덱스 등)

- 가장 단순한 방법은 필드의 데이터 타입만 결정한 후 SQL의 create table 이용하여 테이블 생성하기

- DB의 성능이 중요할 땐 시간•공간 측면 고려하여 설계

 


 

설계 시 고려 사항

 

충실성(faithfulness)

- DB에 사용자와 응용 프로그램이 필요로 하는 모든 정보가 표현되어야 함

- 요구사항과 설계 과정에 존재하는 것들이 다르지 않도록 주의 

- 데이터 무결성

 

단순성(simplicity)

- ER 스키마 혹은 테이블 스키마만 보고서도 요구 사항이 무엇이었는지 역으로 파악할 수 있어야 함

- 스키마 관리 용이, 응용 프로그램 작성 과정 쉬워짐

 

중복의 최소화(redundancy minization)

- 데이터 중복 시 저장 공간 낭비 + 데이터 일관성 깨짐

 

제약조건(constraints)의 표현

- 제약 조건: 데이터가 갖춰야 할 특성 (ex. 학생은 하나의 학과에만 소속, 한 교과목은 각 학기마다 한 강좌만 개설 등)

- 모든  제약 조건이 스키마상에 표현될 수는 없음 → 데이터 모델이 주어진 제약 조건의 표현 수단을 제공 못하는 경우