개념적 설계 <모델> | ° 정보모델링(Information Modeling) - 현실세계의 데이터 관점을 개념적 관점으로 변환하는 설계과정 ° 데이터에 대한 자료의 양과 사용패턴을 분석하는 단계(인간의 이해를 돕기위한 모델) ° Semantic Modeling 수행, E-R Diagram, Transaction 식별 및 모델링(검색, 갱신, 혼합) | 개체분석(Entity Analysis), Top-Down | 속성합성(Attribute Synthesis), Bottom-Up | 장점 | 부작용이 적다 | 초기 설계부담이 적다 | 단점 | 초기에 모든 개념을 알아야 함 | 재구성이 필요함 | Entity 정의 | ° 독립엔티티(Kernel Entity, Master Entity) - 다른 엔티티의 인스턴스 존재여부와 무관하게 존재하는 기본적인 엔티티 ° 업무중심엔티티(Transaction Entity) - 업무가 실행되면서 발생하는 엔티티 ° 종속엔티티(Dependent Entity, Characteristic Entity) - 다른 엔티티의 존재에 의존하는 엔티티 ° 교차엔티티(Relative Entity, Associative Entity) - 두 엔티티간의 관계를 나타내는 엔티티 | 관계정의 | ° 기수성(Cardinality), 선택성(Optionality) | E-R Diagram 작성 | ° 데이터베이스 스키마를 결정하는 중요한 그림 | 식별자 정의 | ° Primary key, Foreign Key | 속성정의 | | ※ 데이터모델 구성요소 구성요소 | ° 데이터구조(Structure), 연산(Operation)/관계?, 제약(Constraint) | 분류 | 객체기반모델 | 레코드기반모델 | 물리적모델 | ° DBMS나 물리적 저장장치 구조와 무관하게 사용자 관점에서 기술 | ° 사용자와 저장장치 관점의 중간에서 데이터베이스를 기술, DBMS와 밀접한 연관성을 갖음 | ° 저장장치에 저장되는 관점에서 데이터베이스 기술 | ° 개체-관계모델(E-R Model) ° 객체지향 모델(OO Model) ° 의미적 모델(Semantic Model) | ° 관계 모델 ° 계층 모델 ° 네트워크 모델 | ° 연합모델(Unifying Model) ° 프레임메모리(Frame memory) | | ※ 연결함정 부채꼴함정(Fan Trap) | 균열함정(Chasm Trap) | ° entitiy간의 관계모델 설계를 잘못하여 연계된 정보 Tracing이 불가능한 것 ° 모델을 변환하여 해결함 | ° 관계성이 정의되어 있으나 일부 entity간에는 관계가 존재하지 않는 경우 ° 관계성 집합을 추가 | | | ※ EER모델 : ER모델에 일반화(generalization), 집단화(aggregation), 세분화(specialization) 등의 추상적 기능을 추가 Specialization, Generalization, Aggregation, Inheritance, Subtype/SuperType |
논리적 설계 <스키마> | ° 데이터 모델링 - 개념적 데이터베이스를 논리적 설계로 변환하는 과정(목표 DBMS에 종속적인 논리 스키마 설계) ° LDM(Logical Data Modeling), 계층형, 네트워크형, 객체관계형, 관계형모델등의 데이터베이스 구조로 전환 ° 관계매핑(Relation Mapping), Transaction Interface설계, 정규화 및 무결성 제약 정의, 성능추정 단계 계층형(Hierachical) | ° 개체 집합들 사이의 관계를 링크로 연결한 트리형태의 구조 ° 1:n 관계의 대용량 데이터베이스 처리에 매우 강력 ° 사용자는 데이터 저장의 물리적 저장구조를 알아야 하며 구조 변경시 Application도 같이 변경됨 ° 1:n관계가 아닌 일반적인 관계(n:m)는 구조상 표현이 매우 어려움 | 망형(Network) | ° 개체 집합들 사이의 관계를 링크로 연결한 그래프형태의 구조 ° 멤버 레코드형이 여러 개의 집합에 속할 수 있으므로 다대다(n:m)관계의 표현이 보다 용이함 ° 한 오너(Owner)로부터 다른 오너로 직접 이동 가능 ° 계층형 모델처럼 데이터 저장의 물리적 구조를 알아야 하며 구조 변경시 Application도 같이 변경 | 관계형(Relational) | ° 개체 집합에 대한 속성 관계를 표현하기 위하여 개체를 테이블로 사용하고 개체 집합들 사이의 관계는 공통속성으로 연결하는 독립된 형태의 데이터 모델 | 객체지향(Object- oriented) | ° 상속, 객체ID, 자료추상형 등의 객체지향 개념과 데이터베이스 개념을 통합하여 가급적 실세계와 유사하게 모형화하는 데이터 모델 | 객체관계(Relational object) | ° 객체지향모델의 장점과 관계모델의 장점을 취하여 하나의 시스템으로 통합된 모델 | |