사용자들의 요구 사항을 고려하여 데이터베이스를 생성하는 과정데이터베이스는 구조를 변경하기 어렵기 때문에 설계 과정에서부터 품질 좋은 데이터베이스를 생성해야 됨
품질 기준
사용하는 구성원들의 요구 사항을 만족하는지, 데이터의 일관성과 무결성, 사용자가 이해하기 쉽고 접근성이 좋은지 등.
E-R모델과 릴레이션 변환 규칙을 이용한 데이터베이스 설계와 정규화를 이용한 데이터베이스 설계
요구 사항 분석 > 개념적 설계 > 논리적 설계 > 물리적 설계 > 구현
요구 사항 분석 단계의 결과물인 명세서를 바탕으로 개념적 구조를 설계
사용자의 요구 사항을 개념적 데이터 모델을 이용해 표현 / 일반적으로 E-R모델로 설계하며 E-R 다이어그램으로 표현하는 것이 주요 작업
요구 사항 명세서 → 개념적 데이터 모델 = 개념적 모델링
개체와 속성 추출 - 일반적으로 요구 사항의 문장에서 명사
관계 추출 - 일반적으로 요구 사항을 표현한 문장에서 동사
개발에 사용할 DBMS에 적합한 논리적 데이터 모델을 이용해 개념적 구조를 기반으로 논리적 구조를 설계
일반적으로 관계 데이터 모델을 사용하며, E-R 다이어그램을 릴레이션 스키마로 변환하는 것이 주요 작업
변환 시 고려할 사항이 많음
개념적 데이터 모델 → 논리적 데이터 모델 = 논리적 모델링
모든 개체는 릴레이션으로 변환한다
다대다 관계는 릴레이션으로 변환한다
일대다 관계는 외래키로 표현한다
3-1 일반적인 일대다 관계는 외래키로 표현한다
3-2 약한 개체가 참여하는 일대다 관계는 외래키를 포함해서 기본키로 지정한다
일대일 관계는 외래키로 표현한다
4-1 일반적인 일대일 관계는 외래키를 서로 주고받는다
4-2 일대일 관계에 필수적으로 참여하는 개체의 릴레이션만 외래키를 받는다
4-3 모든 개체가 일대일 관계에 필수적으로 참여하면 릴레이션 하나로 합친다
다중 값 속성은 릴레이션으로 변환한다
기타 고려 사항
다만 릴레이션의 개수가 많으면 DBMS의 부담이 커짐, 릴레이션의 개수가 불필요하게 늘어나지 않도록 관리