ER-관계 사상에 의한 관계 데이터베이스 설계 데이터베이스 (Databases) ER-관계 사상에 의한 관계 데이터베이스 설계 문양세 강원대학교 IT대학 컴퓨터과학전공
설계 과정 [그림 7.1] ER-관계 사상에 의한 관계 DB 설계 작은 세계 요구사항들의 수정과 분석 데이타베이스 요구사항들 개념적 설계 개념 스키마 (데이타 모델 사상) 논리적 설계 (DATA MODEL MAPPING) 논리 스키마 (In the data model of a specific DBMS) 물리적 설계 Internal Schema (For the same DBMS) Functional Requirements FUNCTIONAL ANALYSIS APPLICATION PROGRAM DESIGN TRANSACTION IMPLEMENTATION High-level Transaction Specification DBMS-independent DBMS-specific Application Programs 내부저장구조 인덱스 접근경로 화일조직 상용 DBMS 사용 ERD 사용 관계스키마 사용
COMPANY 데이터베이스의 ER 스키마 다이어그램 ER-관계 사상에 의한 관계 DB 설계 Fname Minit Lname Number N 1 Name Address WORKS_FOR Name Locations Sex Salary NumberOfEmployees StartDate DEPATMENT Ssn 1 EMPLOYEE 1 1 MANAGES CONTROLS Bdate Hours supervisee N supervisor M N WORKS_ON PROJECT 1 SUPERVISION N 1 Name DEPENDENTS_OF Location N Number DEPENDENT Name Sex BirthDate Relationship
ERD를 관계 DB 스키마로 사상 ER-관계 사상에 의한 관계 DB 설계 어떻게 하지?
사상 단계 1: 정규 엔티티 타입 엔티티 타입은 릴레이션으로 매핑한다. 모든 단순 애트리뷰트를 포함시킨다. ER-관계 사상에 의한 관계 DB 설계 엔티티 타입은 릴레이션으로 매핑한다. 모든 단순 애트리뷰트를 포함시킨다. 엔티티 타입의 키 중에서 하나를 릴레이션의 기본 키로 지정한다.
사상 단계 2: 약한 엔티티 타입 약한 엔티티 타입을 릴레이션으로 매핑한다. 모든 단순 애트리뷰트를 포함시킨다. ER-관계 사상에 의한 관계 DB 설계 약한 엔티티 타입을 릴레이션으로 매핑한다. 모든 단순 애트리뷰트를 포함시킨다. 소유 릴레이션(owner relation)의 키 속성을 포함시킨다. 생성된 릴레이션의 기본 키는 소유 릴레이션의 키와 약한 엔티티 타입의 부분키를 합쳐서 만든다.
사상 단계 3: 릴레이션 S와 T의 1:1 관계 ER-관계 사상에 의한 관계 DB 설계 외래키 접근방식: 한 릴레이션(S)을 선택하여 T의 기본키를 S에 외래키로 포함, S는 완전참여 릴레이션을 선택하는 것이 좋음. 관계타입의 모든 단순 애트리뷰트를 S에 포함시킴. (이 방식이 가장 유용, 다음 방식은 참조만 할 것) 합병된 릴레이션 접근방식: 두 릴레이션을 하나의 릴레이션으로 통합, 두 릴레이션이 모두 완전참여일 때 좋은 방법 교차참조/관계 릴레이션 접근방식: S와 T를 교차 참조하는 제3의 릴레이션 R 생성
COMPANY 데이터베이스의 ER 스키마 다이어그램 ER-관계 사상에 의한 관계 DB 설계 Fname Minit Lname Number N 1 Name Address WORKS_FOR Name Locations Sex Salary NumberOfEmployees StartDate DEPATMENT Ssn 1 EMPLOYEE 1 1 MANAGES CONTROLS Bdate Hours supervisee N supervisor M N WORKS_ON PROJECT 1 SUPERVISION N 1 Name DEPENDENTS_OF Location N Number DEPENDENT Name Sex BirthDate Relationship
사상 단계 4: 릴레이션 S와 T의 1:N 관계 ER-관계 사상에 의한 관계 DB 설계 외래키 접근방식: N측의 릴레이션(S)을 선택하여 1측의 릴레이션 T의 기본키를 S에 외래키로 포함, 관계타입의 모든 단순 애트리뷰트를 S에 포함시킴. (권장) 교차참조/관계 릴레이션 접근방식: S와 T를 교차 참조하는 제3의 릴레이션 R 생성
사상 단계 5: 릴레이션 S와 T의 M:N 관계 ER-관계 사상에 의한 관계 DB 설계 N:M 이진 관계는 별도의 릴레이션(이를 관계 릴레이션이라고 부름)으로 생성하고, 관계에 참여하는 두 릴레이션의 기본 키 를 각각 참조하는 외래키로 애트리뷰트를 구성한다. 이 때 두 외래키가 관계 릴레이션의 기본키를 형성한다.
사상 단계 6: 다치 애트리뷰트 릴레이션 R의 다치 애트리뷰트는 R의 기본키를 포함하는 새로운 릴레이션으로 매핑된다. ER-관계 사상에 의한 관계 DB 설계 릴레이션 R의 다치 애트리뷰트는 R의 기본키를 포함하는 새로운 릴레이션으로 매핑된다. 새로운 릴레이션의 키는 R의 기본키와 다치 애트리뷰트의 조합이다.
사상 단계 7: n차 관계 ER-관계 사상에 의한 관계 DB 설계 n차 관계는 관계에 참여하는 n개 릴레이션의 키들로 구성되는 관계 릴레이션으로 매핑된다. 관계 릴레이션의 애트리뷰트들은 참여 릴레이션의 기본키를 참조하는 외래키들과 관계 속성(들)으로 구성된다.
사상 단계 요약 ER Model Relational Model Entity Type “Entity” relation ER-관계 사상에 의한 관계 DB 설계 ER Model Relational Model Entity Type “Entity” relation 1:1,1:N relationship type Foreign Key (or “relationship” relation) N:M relationship type “Relationship” relation and two foreign keys N-ary relationship type “Relationship” relation and n foreign keys Simple attribute Attribute Composite attribute Set of simple component attribute Multi-valued attribute Relation and foreign key Value set Domain Key attribute Primary (or secondary) key
Homework #4 ER-관계 사상에 의한 관계 DB 설계