개념적 데이터베이스 디자인 과정에서 엔티티, 관계, 무결성 제약 등을 설계한다.
엔티티는 데이터베이스에 표시하고 다른 엔티티와 구별할 수 있는 객체다.
relation은 2개 이상의 엔티티 간의 관계다.
개념적 데이터베이스 디자인의 최종 결과물은 개념적 스키마다.
Requirement analysis
Conceptual design
DBMS selection
Logical design
Schema refienment
이상 개념적 데이터 모델 디자인
Physical design
Security design
주제를 선정하고 요구 사항을 수집한다.
수집한 요구 사항을 토대로 관련된 엔티티, 애트리뷰트, relation을 결정한다.
요구 사항을 가지고 개념적 스키마를 생성한다. ER model이 대표적인 예시다.
엔티티의 유형, relation의 유형, 애트리뷰트, 애트리뷰트의 도메인, 기본키 등을 결정한다.
결과물은 ER model
기술적 요인, 경제적 요인을 판단하여 DBMS를 선택한다.
기술적 요인: data model, storage, interface, query language, tool, service ...
경제적 요인: DBMS 하드웨어 구매 비용, 유지보수 비용, 인건비, 교육비, 이전 시스템 migration 등
ER model을 가지고 데이터베이스 스키마를 뽑아낸다.
개념적 스키마(예: ER model)은 관계형 데이터베이스 스키마에 매핑된다.
엔티티는 보통 테이블로 매핑이 되고 매핑 이후에 정규화 작업을 거쳐 일관성은 지키되 중복은 최소화하는 스키마로 만든다.
결과물은 스키마
Response time, Transaction processing ratio 두 가지 관점 중 하나로 설계한다. (쿼리당 처리 시간 vs 시간당 처리 가능 트랜잭션 개수)
트랜잭션: 어떤 처리를 위한 프로그램 단위
(e.g., 계좌이체. 두 가지 연산 필요. 내 통장 연산 & 상대 통장 연산)