📌장점
a. 개념적 설계를 위한 인기 있는 Model
b. 높은 수준으로 추상화함
c. 이해하기 쉬움.
d. 구문들의 표현력이 뛰어남
e. 사람들이 응용에 대해 생각하는 방식과 가까움
f. 많은 CASE 도구들에서 지원됨
(* ER모델로 표현하면 스키마를 자동으로 만들어줌)
특정 Data model과 독립적으로 응용세계를 모델링할 수 있도록 하는 일반적 방법론
실제로 데이터 베이스를 ”어떻게 구현할 것인가” 와는 독립적으로, 정보 사용의 모델을 개발하는 과정
개념적 Database 설계 과정에서 조직체(실세계)의 엔티티, 관계, 프로- 세스, 무결성, 제약조건 등을 나타내는 추상화 Model을 구축
인기있는 개념적 수준의 Model에는 ER Model(엔티티- 관계)이 있음
Database 구조나 Schema를 하향식으로 개발할 수 있기 위한 framework를 제공.
컴퓨터에서 data를 표현하거나 검색하는 것과 같이 구체적인 것은 거의 고려하지 x
ER (개념적 데이터 모델)을 구현(관계 data model/ 계층 datamodel(ex.tree조직도 모델)/ 네트워크 data model)으로 바꿔주는 Model이 존재함
- 엔티티 : 서로 구분이 되면서 실 세게에서 Database에 나타내려는 객체(사람, 장소, 사물 등)를 의미→ 구조
- 관계 : 두개 이상의 엔티티들 간의 연관을 나타냄 → 연산
- 프로세스 : 관련된 활동을 나타냄 → 연산
- 무결성 제약조건 : Data의 정확성과 비즈니스 규칙을 의미 → 제약조건
물리적인 저장 장치(disk등)와 접근 방식(access path)을 다룸
개념적 설계의 최종 산출물 = 물리적인 구현을 고려하지 않는, 한 조직의 개념적 schema
Database를 생성하는 과정 (=schema 설계)
- 목적
Data 간의 관계를 표현하는 것 !
요구사항 수집 및 분석
(Entity) 관련있는 엔티티들을 선정
(Attribute) 엔티티들의 속성들이 무엇인가를 결정
(Relationship) 엔티티들 간의 관계가 무엇인가를 파악하고 적용
적합한 연산
연산들의 의미가 명확한 지 재분석
데이터 양, 타입, 사용자, 결과, 예상되는 이상치 등을 분석
개념적 설계
DBMS 선정
'기술적 / 정치적 / 경제적' 요인을 고려해 DBMS 선정
논리적 설계
논리적 Schema 생성
물리적 설계
Transaction설계(응용 프로그래밍 고려 단계)
튜닝