Chapter 7: Entity-Relationship 모델

Slides:



Advertisements
Similar presentations
The 3rd Amado Photography Award
Advertisements

ER Schema (추가)
데이터베이스 9주차 : 데이터베이스 설계 2교시 : 데이터베이스 설계(3)
소프트웨어시스템 실험 Software Systems Lab. (2012년 2학기) 강의 소개
데이터베이스 설계(Database Design)
Chapter 4: Intermediate SQL
4. 데이터 기능 유형.
데이터베이스 시스템.
제약 조건 부모 테이블 자식 테이블 입 력 수 정 삭 제  관계형성을 통한 참조 무결성
Chapter 02. 데이터 모델링.
관계 대수와 SQL.
4장. 관계 대수와 SQL SQL 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어
DBMS실습(I) 데이터베이스 기본개념 2015년 1학기 동서울대학교 컴퓨터소프트웨어과.
Chapter 12 구조체와 열거형 구조체 열거형.
SQL 개요 SQL 개요 - SQL은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는 데 중요한 요인의 하나
제 3 장 엔티티-관계(ER) 모델을 사용한 데이타 모델링
 DBMS의 발전 배경(1) 화일 중심 자료처리(DP)시스템의 한계 ☞ Note
12. 데이터베이스 설계.
소프트웨어공학 UML 학기.
관계 데이터 모델과 제약조건 개념, 특성, 키, 무결성 제약조건.
2장. E/R 데이터 모델 엔티티-관계성 (Entity-Relationship) 모델의 요소 설계 원칙
데이터 웨어 하우스 이병규 김기훈.
MySQL 기본 사용법.
화면(UI) 기반 도메인모델 작성 2014년 8월.
English Communication 1
데이터베이스 설계와 ER 모델 설계, ER 모델링.
Data Modeling Database 활용을 위한 기초 이론 Database의 개요 Data Modeling
4.2 SQL 개요 SQL 개요 SQL은 IBM 연구소에서 1974년에 System R이라는 관계 DBMS 시제품을 연구할 때 관계 대수와 관계 해석을 기반으로, 집단 함수, 그룹화, 갱신 연산 등을 추가하여 개발된 언어 1986년에 ANSI(미국 표준 기구)에서 SQL.
2장. 관계 데이터 모델과 제약조건 관계 데이터 모델은 지금까지 제안된 데이터 모델들 중에서 가장 개념이 단순한 데이터 모델의 하나 IBM 연구소에 근무하던 E.F. Codd가 1970년에 관계 데이터 모델을 제안함 관계 데이터 모델을 최초로 구현한 가장 중요한 관계 DBMS.
Database 소개.
이산수학(Discrete Mathematics) 수학적 귀납법 (Mathematical Induction)
Fundamentals of Database Systems R. A. Elmasri and S. B. Navathe
1장. 데이터베이스 시스템 컴퓨터를 사용하여 정보를 수집하고 분석하는데 데이터베이스 기술이 활용되고 있음
Chapter 2. Finite Automata Exercises
Chapter 1: 개요.
UML exercise in Class.
SQL.
계수와 응용 (Counting and Its Applications)
제 3 장 관계 데이타 모델과 관계 데이타베이스 제약조건
Chapter 3: Introduction to SQL
제 7 장 엔터티-관계를 사용한 개념적 데이타 모델링
설계 단계 개념적 설계 ER 다이어그램 논리적 설계
정보처리기사 8조 신원철 양진원 유민호 이기목 김다연 윤현경 임수빈 조현진.
Project Specification - 학사관리 시스템 과제 2번
4. 관계 데이터베이스 (Relational Database)- 7, 8장
ER-Win 4.0 Database Modeling Ⅰ. Logical Design
2장. 관계 데이터 모델과 제약조건 관계 데이터 모델은 지금까지 제안된 데이터 모델들 중에서 가장 개념이 단순한 데이터 모델의 하나 IBM 연구소에 근무하던 E.F. Codd가 1970년에 관계 데이터 모델을 제안함 관계 데이터 모델을 최초로 구현한 가장 중요한 관계 DBMS.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall
데이터베이스 (Databases) 데이터베이스 소개 문양세 강원대학교 IT대학 컴퓨터과학전공.
4 장. 관계 데이터 모델과 관계 데이터베이스 제약조건
4. 관계 데이터 모델.
데이터베이스 (Database) 데이터베이스와 데이터베이스 사용자 문양세 강원대학교 IT대학 컴퓨터과학전공.
McGraw-Hill Technology Education
관계 데이타 모델과 관계 데이타베이스 제약조건 충북대학교 구조시스템공학과 시스템공학연구실
XML-II (eXtensible Markup Language) DTD/DOM
                              데이터베이스 설계 및 실습 #8 - ER-Win 한국외국어대학교 DaPS 연구실                              
06. SQL 명지대학교 ICT 융합대학 김정호.
BBroker.
이산수학(Discrete Mathematics)
제 8 장 ER-관계 사상에 의한 관계 데이타베이스 설계
1. 관계 데이터 모델 (1) 관계 데이터 모델 정의 ① 논리적인 데이터 모델에서 데이터간의 관계를 기본키(primary key) 와 이를 참조하는 외래키(foreign key)로 표현하는 데이터 모델 ② 개체 집합에 대한 속성 관계를 표현하기 위해 개체를 테이블(table)
데이터베이스 (Database) 관계 대수와 관계 해석 (Part 1) 문양세 강원대학교 IT대학 컴퓨터과학전공.
ER-관계 사상에 의한 관계 데이터베이스 설계
Chapter 2: Intro to Relational Model
Chapter 1 인간행동의 이해와 사회복지실천
2장. 데이터베이스 시스템 개념과 아키텍처 2.1 데이터 모델, 스키마, 인스턴스
GB ridge 웹 모바일및 빅데이터 응용과정 3주차: 데이터베이스 프로그래밍 [경기도형 대학생 취업브리지 사업]
CHAPTER 4 관계 데이터 모델과 관계 데이터베이스 제약조건. CHAPTER 4 관계 데이터 모델과 관계 데이터베이스 제약조건.
엔티티-관계(ER) 모델을 사용한 데이터 모델링
Presentation transcript:

Chapter 7: Entity-Relationship 모델

Chapter 7: Entity-Relationship Model 모델링 제약조건 (Constraints) E-R Diagram 설계 논점 약 엔티티 집합 확장된 E-R 기능 University Database 설계 Relation Schema로의 변환

모델링 데이터베이스는 다음과 같이 엔티티 집합과 관계 집합을 이용하여 모델링할 수 있다 : 데이터베이스는 다음과 같이 엔티티 집합과 관계 집합을 이용하여 모델링할 수 있다 : - 엔티티 집합 (entity set) - 엔티티 집합 사이의 관계 집합 (relationship set) 엔티티는 다른 객체와는 구분되며 존재하는 객체이다. - 예 : 특정한 사람, 회사, 사건 ,식물 엔티티는 애트리뷰트를 갖는다. - 예: 사람은 이름, 주소를 갖는다. 엔티티 집합이란 같은 애트리뷰트를 가지는 같은 유형의 엔티티들의 집합이다. 예 : 모든 사람들, 회사들, 나무들, 휴일들의 집합

엔티티 집합의 예 instructor_ID instructor_name student-ID student_name

관계 집합 (Relationship Sets) 관계는 여러 엔티티간의 연관성이다. Example: 44553 (Peltier) advisor 22222 (Einstein) student entity relationship set instructor entity 관계 집합은 각각을 다음의 엔티티 집합으로 취하는 n  2 엔티티 간의 수학적인 릴레이션이다. {(e1, e2, … en) | e1  E1, e2  E2, …, en  En} 여기에서 (e1, e2, …, en) 은 관계이다. Example: (44553,22222)  advisor

관계 집합의 예 advisor

관계 집합 (계속) 애트리뷰트는 관계 집합의 속성일 수도 있다. 예를 들어 엔티티 집합 instructor , student 사이의 관계 집합 advisor 는 언제부터 지도강사 - 지도학생의 관계가 설정되었는지를 나타내는 date 라는 자체 속성을 가질 수 있다.

관계 집합의 차수 (Degree of a Relationship Set) 관계 집합에 참여하는 엔티티 집합의 수를 의미한다 두 엔티티 집합을 내포하는 관계 집합은 이진(또는 2차, binary relationship)이다. 일반적으로 DB시스템 내의 대부분의 관계 집합은 이진이다. 관계 집합에는 3 이상의 엔티티 집합을 내포할 수도 있다. Example: students work on research projects under the guidance of an instructor. 엔티티 집합 instructor, student 및 project는 삼진(3차) 관계 집합 proj_guide 로 연결된다.

애트리뷰트 (Attributes) 엔티티는 엔티티 집합의 모든 멤버가 소유하는 설명 속성인 애트리뷰트의 집합으로 표현된다. Example: instructor = (ID, name, street, city, salary ) course= (course_id, title, credits) 도메인 - 각 애트리뷰트에 허용되는 값들의 집합 애트리뷰트 유형: 단순 및 복합 애트리뷰트 단일 값 및 다중 값 애트리뷰트 Example: 다중 값 애트리뷰트 : phone_numbers 유도 (derived) 애트리뷰트 다른 애트리뷰트를 이용하여 계산해낼 수 있다. Example: age, given date_of_birth

Composite Attributes

대응수 제약조건 (Mapping Cardinality Constraints) 관계 집합을 통해 다른 엔티티와 연관될 수 있는 엔티티의 수를 나타낸다. 이진 관계 집합을 기술하는데 가장 유용하다. 이진 관계 집합에 대한 대응 수는 다음 유형 중 하나이어야 한다: 일 대 일 (One to one) 일 대 다 (One to many) 다 대 일 (Many to one) 다 대 다 (Many to many)

Mapping Cardinalities One to one One to many Note: 여기에서 A 와 B 의 임의의 요소는 다른 집합의 요소와 매핑 관계를 갖지 않을 수 있다.

Mapping Cardinalities Many to one Many to many Note: 여기에서 A 와 B 의 임의의 요소는 다른 집합의 요소와 매핑 관계를 갖지 않을 수 있다.

키 어떤 엔티티 집합의 수퍼 키는 그 값이 각 엔티티를 유일하게 결정하는 하나 이상의 애트리뷰트 집합이다. 엔티티 집합의 후보 키는 최소의 조건을 만족시키는 수퍼 키로 정의된다. ID 는 instructor 의 후보 키 course_id 는 course의 후보 키 여러 개의 후보 키가 존재할 수 있지만, 그 중의 하나가 주 키로 선택된다.

관계 집합의 키 (Keys for Relationship Sets) 참여하는 엔티티 집합의 주 키의 결합이 관계 집합의 슈퍼 키를 이룬다. (s_id, i_id) 는 advisor의 슈퍼 키가 된다. 후보 키를 선택할 때 관계 집합의 대응 수를 고려해야 한다. 하나 이상의 후보 키가 존재하는 경우에는 주 키를 선택할 때 관계 집합의 의미를 고려해야 한다.

E-R Diagrams 사각형은 엔티티 집합을 나타낸다. 마름모는 관계 집합을 나타낸다. 엔티티 집합을 나타내는 사각형 안에 애트리뷰트들이 열거된다. 주 키 애트리뷰트에는 밑줄을 긋는다.

복합, 다중 값, 유도 애트리뷰트를 갖는 엔티티

애트리뷰트를 갖는 관계 집합

역할 (Roles) 관계의 엔티티 집합들이 반드시 구분될 필요는 없다. 각 엔티티 집합은 관계 집합에서 역할을 갖는다. 역할은 사각형과 마름모를 연결하는 선에 라벨을 붙여 E-R도에 표시한다. “course_id” 와 “prereq_id” 의 라벨은 역할을 나타낸다.

대응수 제약조건 관계 집합과 엔티티 집합간의 “일”을 나타내는 데는()를, “다”를 나타내는 데는 (—)을 사용해 이들 유형을 구분한다. 일 대 일 (One to one) 일 대 다 (One to many) 다 대 일 (Many to one) 다 대 다 (Many to many)

일 대 일 관계 instructor 엔티티와 student 엔티티 사이의 일 대 일 관계 한 명의 강사는 advisor 관계를 통해 최대 한명의 학생과 관련된다. 또한 한 명의 학생은 advisor 관계를 통해 최대 한명의 강사와 관련된다.

일 대 다 관계 instructor 엔티티와 student 엔티티 사이의 일 대 다 관계 한 명의 강사는 advisor 관계를 통해 여러 명(0명 포함)의 학생과 관련된다. 한 명의 학생은 advisor 관계를 통해 최대 한명의 강사와 관련된다.

다 대 일 관계 instructor 엔티티와 student 엔티티 사이의 다 대 일 관계 한 명의 강사는 advisor 관계를 통해 최대 한명의 학생과 관련된다. 한 명의 학생은 advisor 관계를 통해 여러 명(0명 포함)의 강사와 관련된다.

다 대 다 관계 한 명의 강사는 advisor 관계를 통해 여러 명(0명 포함)의 학생과 관련된다.

관계 집합에서의 엔티티 집합의 참가도 표시 전체적인 참가 (total participation) (이중선으로 표시됨) : 엔티티 집합에 속한 모든 엔티티는 관계 집합에 속한 적어도 하나의 관계에 참가하여야 한다. E.g., participation of section in sec_course is total 모든 section 엔티티는 관련된 course를 갖는다. 부분적인 참가 (partial participation): 엔티티 집합에 속한 어떤 엔티티는 관계에 참가하지 않을 수 있다. Example: participation of instructor in advisor is partial

Alternative Notation for Cardinality Limits Cardinality limits can also express participation constraints

E-R Diagram에서의 3진 관계 표시

약 엔티티 집합 (Weak Entity Sets) 주 키를 갖지 않는 엔티티 집합을 약 엔티티 집합이라 한다. 강 엔티티 집합이 있어야만 약 엔티티 집합이 존재한다. 약 엔티티 집합은 일 대 다 관계 집합을 통해 강 엔티티 집합에 연결해야 한다. 약 엔티티 집합의 구별자(또는 부분 키, discriminator)는 약 엔티티 집합 내의 엔티티들을 구분하는 애트리뷰트의 집합이다. 약 엔티티 집합의 주 키는 약 엔티티 집합이 존재 종속 관계에 있는 강 엔티티 집합의 주 키와 약 엔티티 집합의 구별자가 합쳐져 이루어진다.

약 엔티티 집합 (계속) 약 엔티티 집합의 구별자(discriminator)에는 점선으로 밑줄을 긋는다. 약 엔티티 집합을 포함하는 관계 집합은 이중 마름모로 나타낸다. section 의 주키 – (course_id, sec_id, semester, year)

E-R Diagram for a University Enterprise

E-R 스키마를 릴레이션 스키마로 변환 (Reduction to Relational Schemas)

E-R 스키마를 릴레이션 스키마로 변환 엔티티 집합과 관계 집합은 데이터베이스의 내용을 표현하는 릴레이션 (테이블) 스키마로 균일하게 나타낼 수 있다. E-R도에 상응하는 데이터베이스는 릴레이션 (테이블)의 모임으로 표현될 수 있다. 각 엔티티 집합과 관계 집합에 대해 그에 상응하는 이름이 할당된 유일한 릴레이션이 존재한다. 각 릴레이션(테이블)은 고유한 이름을 가진 여러 개의 열(애트리뷰트에 대응함)을 가진다.

단순 애트리뷰트를 가진 엔티티 집합의 표현 강 엔티티 집합은 동일한 애트리뷰트를 가지는 테이블로 변환된다. student(ID, name, tot_cred) 약 엔티티 집합은 강 엔티티 집합을 식별하는 주 키의 행을 포함한 테이블이 된다 section ( course_id, sec_id, sem, year )

관계 집합을 테이블로 표현 다 대 다 관계 집합은 참여하는 두 엔티티 집합의 주 키와 관계 집합의 설명 애트리뷰트에 대한 열을 가진 테이블로 표현된다. Example: advisor 관계집합을 위한 테이블 advisor = (s_id, i_id)

스키마의 중복성 제거 (Redundancy of Schemas) 다 대 일 혹은 일 대 다 관계집합은 다 쪽이 전체적인 참가 (total participation) 의 조건을 만족시키는 경우, 다 쪽의 테이블에 일 쪽의 주키를 하나의 애트리부트로서 부가 시키는 것으로 표현할 수 있다. Example: inst_dept 관계 집합을 위한 독립된 테이블을 생성하는 대신 instructor 엔티티 집합을 표현하는 테이블에 dept_name 애트리뷰트를 부가하여 표현한다.

스키마의 중복성 제거 (계속) section 테이블은 sec_course 테이블에 나타난 정보를 이미 가지고 있다 일 대 일 관계집합의 경우, 양쪽 모두를 다 대 일 (혹은 일 대 다) 관계집합에서의 다 쪽의 경우와 같이 취급할 수 있다. 즉, 양 쪽 엔티티 집합을 나타내는 테이블 중 하나에 여분의 애트리뷰트를 부가하여 표현할 수 있다. 그러나 다 쪽이 부분적인 참가 (partial participation) 의 조건을 만족시키는 경우, 다 쪽의 테이블에 일 쪽의 주키를 하나의 애트리부트로서 부가 시키는 것은 널 값을 동반하는 결과를 가져올 수 있다. 약 엔티티 집합에 그를 식별하고 있는 강 엔티티 집합을 연결하는 관계 집합에 상응하는 테이블은 중복 표현에 해당한다. section 테이블은 sec_course 테이블에 나타난 정보를 이미 가지고 있다 36

복합/다중값 애트리뷰트 복합 애트리뷰트를 구성하는 각 요소 애트리뷰트는 평탄화 작업을 통하여 독립된 애트리뷰트로 표현된다. Example: 다중값 속성을 제외한 instructor 스키마 instructor(ID, first_name, middle_initial, last_name, street_number, street_name, apt_number, city, state, zip_code, date_of_birth) 37

복합/다중값 애트리뷰트 엔티티 E의 다중값 애트리뷰트 M은 독립된 스키마 EM으로 표현된다. Example: instructor 의 다중값 애트리뷰트 phone_number 는 다음과 같이 표현된다: inst_phone= ( ID, phone_number) 다중값 애트리뷰트의 각 값은 EM 스키마를 갖는 릴레이션의 독립된 튜플에 매핑된다. 예를 들어 22222 의 주키를 가지고 456-7890 와 123-4567 의 다중값 속성 phone numbers 를 갖는 엔티티는 다음과 같이 2 개의 튜플로 매핑된다: (22222, 456-7890) 와 (22222, 123-4567) 38

다중값 애트리뷰트 (계속) 특별한 경우: time_slot 엔티티가 주키 외에 단 하나의 애트리뷰트 만을 가지며, 그 애트리뷰트가 다중값 애트리뷰트인 경우 최적화: 해당 엔티티에 대한 릴레이션을 생성하지 않고, 단지 댜중값 애트리뷰트만을 위한 릴레이션을 생성하시오. time_slot(time_slot_id, day, start_time, end_time) 39

설계 논점 엔티티 집합과 애트리뷰트의 사용 phone 을 엔티티 집합으로 표현하면 phone numbers 에 대한 다른 정보를 추가적으로 기입할 수 있다 (plus multiple phone numbers) 40

설계 논점 엔티티 집합과 관계 집합의 사용 가능한 지침은 엔티티 간에 발생하는 행위를 기술하기 위하여 관계 집합을 지정하는 것이다. 41

설계 논점 이진과 n-항 관계 집합 비이진(n>2인 n항의) 관계 집합을 여러 개의 이진 관계 집합으로 대치할 수 있지만, n항 관계 집합은 하나의 관계내에 여러 엔티티들이 참여함을 보다 명백히 보여준다. 관계집합에서의 애트리뷰트 위치 e.g., advisor 관계 집합의 애트리뷰트로서 date 를 정의할 것인지 혹은 student 엔티티 집합의 애트리뷰트로서 date 를 정의할 것인지의 여부를 선택/결정하여야 한다. 42

비이진 관계 집합을 이진 관계 집합으로 바꾸기 비이진(n>2인 n항의) 관계 집합을 여러 개의 이진 관계 집합으로 대치할 수 있다. 43

Extended ER Features

확장 E-R 특성: 세분화 (Specialization) 하향식 설계 절차; 집합내의 서로 다른 엔티티와 구분되는 엔티티 집합내의 서브 그룹핑으로 지정 이들 서브 그룹핑은 상위 단계 엔티티 집합에는 적용되지 않는 애트리뷰트를 가지거나 관계에 참여하는 하위단계 엔티티 집합이 된다. ISA라는 라벨을 가진 삼각형으로 나타낸다 (E.g., instructor “is a” person). 애트리뷰트 상속 - 하위 단계 엔티티 집합은 연결된 상위 단계 엔티티 집합의 모든 애트리뷰트와 관계 참여를 상속받는다.

Specialization Example

확장 E-R 특성: 일반화 (Generalization) 상향식 설계 절차; 동일한 기능을 공유하는 여러 엔티티 집합을 상위 단계 엔티티 집합으로 결합한다. 세분화와 일반화는 서로가 단순한 역 관계이다; E-R도에서는 같은 방법으로 표현된다. 세분화와 일반화의 용어는 상호 같은 의미로 사용된다.

세분화와 일반화 (계속) 하나의 엔티티 집합에 대하여 각기 다른 특성을 사용하여 서로 다른 다수의 세분화된 엔티티 집합을 정의할 수 있다. E.g., employee를 instructor 와 secretary 로 세분화 표현하는 것 외에, 추가적으로 permanent_employee 와 temporary_employee 로 세분화 표현하는 것을 고려할 수 있다. 의미 : 특정 employee 엔티티는 permanent_employee or 혹은 temporary_employee의 멤버가 될 수 있으며, 또한 instructor 혹은 secretary 의 멤버가 될 수 있다. 여기에서 ISA 관계는 superclass - subclass 관계와 같은 의미를 나타낸다.

세분화/일반화에서의 설계 제약 조건 어떤 엔티티들이 주어진 하위 단계 엔티티 집합의 멤버가 될 수 있는가에 대한 제약 조건 조건 정의 (condition-defined) Example: all customers over 65 years are members of senior-citizen entity set; senior-citizen ISA person. 사용자 정의 (user-defined) 단일 일반화 내에서 엔티티들이 하나 이상의 하위 단계 엔티티 집합에 속할 수 있는가에 대한 제약 조건. 분리 (Disjoint) 하나의 엔티티는 오직 하나의 하위 단계 엔티티 집합에 속한다. E-R diagram에서 IS_A 관계를 나타내는 삼각형에 다수의 하위 단계 엔티티 집합이 연결되는 것으로 표현된다. 중첩 (Overlapping) 하나의 엔티티는 하나 이상의 하위 단계 엔티티 집합에 속할 수 있다.

세분화/일반화에서의 설계 제약 조건 (계속) 완전성 제약 조건 (Completeness constraint) -- 일반화 내에서 상위 단계 엔티티 집합내의 엔티티가 적어도 하나의 하위 단계 엔티티 집합에 속해야만 하는가의 여부를 지정 완전 (total): 하나의 엔티티는 하위 단계 엔티티 집합 중 하나의 엔티티 집합에 반드시 속하여야 한다. 부분 (partial): 하나의 엔티티는 하위 단계 엔티티 집합 중 하나의 엔티티 집합에 반드시 속할 필요는 없다.

통합화 아래와 같은 3항 관계 집합 proj_guide를 가정한다. 다음 eval-for와 같은 3항 관계 집합을 추가로 생각해 보자.

통합화 (계속) 관계 집합 eval_for 와 proj_guide 는 같은 정보를 표현한다. 이러한 중복을 통합화를 통해 제거한다. 관계를 추상적인 엔티티로 취급 관계간의 관계를 허용 관계의 추상화를 새로운 엔티티로

통합화 (계속) 중복을 도입하지 않고, 다음 그림은 아래와 같은 내용을 표현한다: 한 학생은 한 특정 프로젝트에서 한 특정 강사의 지도를 받는다 각 학생, 강사, 프로젝트의 조합은 하나의 관련 평가와 연관될 수 있다. 53

세분화를 릴레이션 스키마로 표현 방법1 : 상위 단계 엔티티 집합을 위한 하나의 스키마 작성 각 하위 단계 엔티티 집합에 대하여 각각 하나의 스키마 작성 (단, 상위 단계 엔티티 집합의 주키를 포함시킴) schema attributes person ID, name, street, city student ID, tot_cred employee ID, salary 단점: 예를 들어 employee 에 대하여 정보 검색을 수행하는 경우, 두 개의 릴레이션 (상위/하위 단계 릴레이션)을 모두 액세스 하여야 한다.

세분화를 관계 스키마로 표현 (계속) 방법 2: 각 엔티티 집합에 대하여 개별적으로 각각 스키마 작성 (단, 자체 애트리뷰트와 상속 받은 애트리뷰트를 포함하도록 스키마 작성) schema attributes person ID, name, street, city student ID, name, street, city, tot_cred employee ID, name, street, city, salary 만약 세분화가 완전 (total)의 제약조건을 만족시키면 상위 단계 엔티티 집합 (person)을 위한 스키마는 정보 저장을 위하여 별도로 작성할 필요가 없어진다. 오히려, 하위단계 릴레이션들의 합집합 요소를 포함하는뷰 (view) 릴레이션 형태로 볼 수 있다. 그러나 외래키 제약조건 명시를 위하여 필요할 수 있다. 단점: students이고 employees인 두 조건을 동시에 만족하는 people의 경우, name, street , city may 정보가 중복되어 저장될 수 있다.

통합화에 상응하는 스키마 다음 요소를 포함하는 스키마를 생성한다. 통합화된 관계 집합의 주키 관련된 엔티티 집합의 주티 기타 애트리뷰트

통합화에 상응하는 스키마 (계속) 예를 들어 eval_for 관계 집합에 대하여 다음과 같은 스키마가 생성된다. eval_for (s_ID, project_id, i_ID, evaluation_id)

E-R 설계 결정 객체를 표현하기 위해 애트리뷰트를 사용할 것인가 엔티티 집합을 사용할 것인가. 실세계의 개념을 엔티티 집합으로 나타낼 것인가 관계 집합으로 나타낼 것인가. 삼진 관계를 사용할 것인가 이진 관계의 쌍을 사용할 것인가. 강 엔티티를 사용할 것인가 약 엔티티를 사용할 것인가. 일반화의 사용 - 설계시 모듈화에 기여 통합화의 사용 - 내부 구조의 상세 사항에는 관여하지 않고 통합 엔티티 집합을 단일 단위로 취급할 수 있다.

End of Chapter 7

Figure 7.01

Figure 7.02

Figure 7.03

Figure 7.04

Figure 7.05

Figure 7.06

Figure 7.07

Figure 7.08

Figure 7.09

Figure 7.10

Figure 7.11

Figure 7.12

Figure 7.13

Figure 7.14

Figure 7.15

Figure 7.17

Figure 7.18

Figure 7.19

Figure 7.20

Figure 7.21

Figure 7.22

Figure 7.23

Figure 7.24

Figure 7.25

Figure 7.26

Figure 7.27

Figure 7.28

Figure 7.29