약 엔티티 집합 (계속)

Download Report

Transcript 약 엔티티 집합 (계속)

Chapter 7: Entity-Relationship 모델
Database System Concepts, 6th Ed.
©Silberschatz, Korth and Sudarshan
See www.db-book.com for conditions on re-use
Chapter 7: Entity-Relationship Model
 모델링
 제약조건 (Constraints)
 E-R Diagram
 설계 논점
 약 엔티티 집합
 확장된 E-R 기능
 University Database 설계
 Relation Schema로의 변환
Database System Concepts - 6th Edition
7.2
©Silberschatz, Korth and Sudarshan
모델링
 데이터베이스는 다음과 같이 엔티티 집합과 관계 집합을 이용하여
모델링할 수 있다 :
- 엔티티 집합 (entity set)
- 엔티티 집합 사이의 관계 집합 (relationship set)
 엔티티는 다른 객체와는 구분되며 존재하는 객체이다.
- 예 : 특정한 사람, 회사, 사건 ,식물
 엔티티는 애트리뷰트를 갖는다.
- 예: 사람은 이름, 주소를 갖는다.
 엔티티 집합이란 같은 애트리뷰트를 가지는 같은 유형의 엔티티들의
집합이다.
예 : 모든 사람들, 회사들, 나무들, 휴일들의 집합
Database System Concepts - 6th Edition
7.3
©Silberschatz, Korth and Sudarshan
엔티티 집합의 예
instructor_ID instructor_name
Database System Concepts - 6th Edition
student-ID student_name
7.4
©Silberschatz, Korth and Sudarshan
관계 집합 (Relationship Sets)
 관계는 여러 엔티티간의 연관성이다.
Example:
44553 (Peltier)
student entity
advisor
relationship set
22222 (Einstein)
instructor entity
 관계 집합은 각각을 다음의 엔티티 집합으로 취하는 n  2 엔티티 간의
수학적인 릴레이션이다.
{(e1, e2, … en) | e1  E1, e2  E2, …, en  En}
여기에서 (e1, e2, …, en) 은 관계이다.

Example:
(44553,22222)  advisor
Database System Concepts - 6th Edition
7.5
©Silberschatz, Korth and Sudarshan
관계 집합의 예 advisor
Database System Concepts - 6th Edition
7.6
©Silberschatz, Korth and Sudarshan
관계 집합 (계속)
 애트리뷰트는 관계 집합의 속성일 수도 있다.
 예를 들어 엔티티 집합 instructor , student 사이의 관계 집합 advisor
는 언제부터 지도강사 - 지도학생의 관계가 설정되었는지를 나타내는
date 라는 자체 속성을 가질 수 있다.
Database System Concepts - 6th Edition
7.7
©Silberschatz, Korth and Sudarshan
관계 집합의 차수 (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 로 연결된다.
Database System Concepts - 6th Edition
7.8
©Silberschatz, Korth and Sudarshan
애트리뷰트 (Attributes)
 엔티티는 엔티티 집합의 모든 멤버가 소유하는 설명 속성인 애트리뷰트의
집합으로 표현된다.

Example:
instructor = (ID, name, street, city, salary )
course= (course_id, title, credits)
 도메인 - 각 애트리뷰트에 허용되는 값들의 집합
 애트리뷰트 유형:

단순 및 복합 애트리뷰트

단일 값 및 다중 값 애트리뷰트


Example: 다중 값 애트리뷰트 : phone_numbers
유도 (derived) 애트리뷰트

다른 애트리뷰트를 이용하여 계산해낼 수 있다.

Example: age, given date_of_birth
Database System Concepts - 6th Edition
7.9
©Silberschatz, Korth and Sudarshan
Composite Attributes
Database System Concepts - 6th Edition
7.10
©Silberschatz, Korth and Sudarshan
대응수 제약조건 (Mapping Cardinality Constraints)
 관계 집합을 통해 다른 엔티티와 연관될 수 있는 엔티티의 수를
나타낸다.
 이진 관계 집합을 기술하는데 가장 유용하다.
 이진 관계 집합에 대한 대응 수는 다음 유형 중 하나이어야 한다:

일 대 일 (One to one)

일 대 다 (One to many)

다 대 일 (Many to one)

다 대 다 (Many to many)
Database System Concepts - 6th Edition
7.11
©Silberschatz, Korth and Sudarshan
Mapping Cardinalities
One to many
One to one
Note: 여기에서 A 와 B 의 임의의 요소는 다른 집합의 요소와
매핑 관계를 갖지 않을 수 있다.
Database System Concepts - 6th Edition
7.12
©Silberschatz, Korth and Sudarshan
Mapping Cardinalities
Many to
one
Many to many
Note: 여기에서 A 와 B 의 임의의 요소는 다른 집합의 요소와
매핑 관계를 갖지 않을 수 있다.
Database System Concepts - 6th Edition
7.13
©Silberschatz, Korth and Sudarshan
키
 어떤 엔티티 집합의 수퍼 키는 그 값이 각 엔티티를 유일하게
결정하는 하나 이상의 애트리뷰트 집합이다.
 엔티티 집합의 후보 키는 최소의 조건을 만족시키는 수퍼 키로
정의된다.

ID 는 instructor 의 후보 키

course_id 는 course의 후보 키
 여러 개의 후보 키가 존재할 수 있지만, 그 중의 하나가 주 키로
선택된다.
Database System Concepts - 6th Edition
7.14
©Silberschatz, Korth and Sudarshan
관계 집합의 키 (Keys for Relationship Sets)
 참여하는 엔티티 집합의 주 키의 결합이 관계 집합의 슈퍼 키를
이룬다.

(s_id, i_id) 는 advisor의 슈퍼 키가 된다.
 후보 키를 선택할 때 관계 집합의 대응 수를 고려해야 한다.
 하나 이상의 후보 키가 존재하는 경우에는 주 키를 선택할 때 관계
집합의 의미를 고려해야 한다.
Database System Concepts - 6th Edition
7.15
©Silberschatz, Korth and Sudarshan
E-R Diagrams
 사각형은 엔티티 집합을 나타낸다.
 마름모는 관계 집합을 나타낸다.
 엔티티 집합을 나타내는 사각형 안에 애트리뷰트들이 열거된다.
 주 키 애트리뷰트에는 밑줄을 긋는다.
Database System Concepts - 6th Edition
7.16
©Silberschatz, Korth and Sudarshan
복합, 다중 값, 유도 애트리뷰트를 갖는 엔티티
Database System Concepts - 6th Edition
7.17
©Silberschatz, Korth and Sudarshan
애트리뷰트를 갖는 관계 집합
Database System Concepts - 6th Edition
7.18
©Silberschatz, Korth and Sudarshan
역할 (Roles)
 관계의 엔티티 집합들이 반드시 구분될 필요는 없다.

각 엔티티 집합은 관계 집합에서 역할을 갖는다.

역할은 사각형과 마름모를 연결하는 선에 라벨을 붙여 E-R도에
표시한다.

“course_id” 와 “prereq_id” 의 라벨은 역할을 나타낸다.
Database System Concepts - 6th Edition
7.19
©Silberschatz, Korth and Sudarshan
대응수 제약조건
 관계 집합과 엔티티 집합간의 “일”을 나타내는 데는()를, “다”를
나타내는 데는 (—)을 사용해 이들 유형을 구분한다.

일 대 일 (One to one)

일 대 다 (One to many)

다 대 일 (Many to one)

다 대 다 (Many to many)
Database System Concepts - 6th Edition
7.20
©Silberschatz, Korth and Sudarshan
일 대 일 관계
 instructor 엔티티와 student 엔티티 사이의 일 대 일 관계

한 명의 강사는 advisor 관계를 통해 최대 한명의 학생과
관련된다.

또한 한 명의 학생은 advisor 관계를 통해 최대 한명의 강사와
관련된다.
Database System Concepts - 6th Edition
7.21
©Silberschatz, Korth and Sudarshan
일 대 다 관계
 instructor 엔티티와 student 엔티티 사이의 일 대 다 관계

한 명의 강사는 advisor 관계를 통해 여러 명(0명 포함)의 학생과
관련된다.

한 명의 학생은 advisor 관계를 통해 최대 한명의 강사와
관련된다.
Database System Concepts - 6th Edition
7.22
©Silberschatz, Korth and Sudarshan
다 대 일 관계
 instructor 엔티티와 student 엔티티 사이의 다 대 일 관계

한 명의 강사는 advisor 관계를 통해 최대 한명의 학생과
관련된다.

한 명의 학생은 advisor 관계를 통해 여러 명(0명 포함)의
강사와 관련된다.
Database System Concepts - 6th Edition
7.23
©Silberschatz, Korth and Sudarshan
다 대 다 관계
 한 명의 강사는 advisor 관계를 통해 여러 명(0명 포함)의 학생과
관련된다.
 한 명의 학생은 advisor 관계를 통해 여러 명(0명 포함)의 강사와
관련된다.
Database System Concepts - 6th Edition
7.24
©Silberschatz, Korth and Sudarshan
관계 집합에서의 엔티티 집합의 참가도 표시
 전체적인 참가 (total participation) (이중선으로 표시됨) : 엔티티
집합에 속한 모든 엔티티는 관계 집합에 속한 적어도 하나의 관계에
참가하여야 한다.

E.g., participation of section in sec_course is total

모든 section 엔티티는 관련된 course를 갖는다.
 부분적인 참가 (partial participation): 엔티티 집합에 속한 어떤
엔티티는 관계에 참가하지 않을 수 있다.

Example: participation of instructor in advisor is partial
Database System Concepts - 6th Edition
7.25
©Silberschatz, Korth and Sudarshan
Alternative Notation for Cardinality Limits
 Cardinality limits can also express participation constraints
Database System Concepts - 6th Edition
7.26
©Silberschatz, Korth and Sudarshan
E-R Diagram에서의 3진 관계 표시
Database System Concepts - 6th Edition
7.27
©Silberschatz, Korth and Sudarshan
약 엔티티 집합 (Weak Entity Sets)
 주 키를 갖지 않는 엔티티 집합을 약 엔티티 집합이라 한다.
 강 엔티티 집합이 있어야만 약 엔티티 집합이 존재한다. 약 엔티티
집합은 일 대 다 관계 집합을 통해 강 엔티티 집합에 연결해야 한다.
 약 엔티티 집합의 구별자(또는 부분 키, discriminator)는 약 엔티티
집합 내의 엔티티들을 구분하는 애트리뷰트의 집합이다.
 약 엔티티 집합의 주 키는 약 엔티티 집합이 존재 종속 관계에 있는 강
엔티티 집합의 주 키와 약 엔티티 집합의 구별자가 합쳐져
이루어진다.
Database System Concepts - 6th Edition
7.28
©Silberschatz, Korth and Sudarshan
약 엔티티 집합 (계속)
 약 엔티티 집합의 구별자(discriminator)에는 점선으로 밑줄을 긋는다.
 약 엔티티 집합을 포함하는 관계 집합은 이중 마름모로 나타낸다.

section 의 주키 – (course_id, sec_id, semester, year)
Database System Concepts - 6th Edition
7.29
©Silberschatz, Korth and Sudarshan
E-R Diagram for a University Enterprise
Database System Concepts - 6th Edition
7.30
©Silberschatz, Korth and Sudarshan
E-R 스키마를 릴레이션 스키마로 변환
(Reduction to Relational Schemas)
Database System Concepts - 6th Edition
7.31
©Silberschatz, Korth and Sudarshan
E-R 스키마를 릴레이션 스키마로 변환
 엔티티 집합과 관계 집합은 데이터베이스의 내용을 표현하는 릴레이션
(테이블) 스키마로 균일하게 나타낼 수 있다.
 E-R도에 상응하는 데이터베이스는 릴레이션 (테이블)의 모임으로
표현될 수 있다.
 각 엔티티 집합과 관계 집합에 대해 그에 상응하는 이름이 할당된
유일한 릴레이션이 존재한다.
 각 릴레이션(테이블)은 고유한 이름을 가진 여러 개의 열(애트리뷰트에
대응함)을 가진다.
Database System Concepts - 6th Edition
7.32
©Silberschatz, Korth and Sudarshan
단순 애트리뷰트를 가진 엔티티 집합의 표현
 강 엔티티 집합은 동일한 애트리뷰트를 가지는 테이블로 변환된다.
student(ID, name, tot_cred)
 약 엔티티 집합은 강 엔티티 집합을 식별하는 주 키의 행을 포함한
테이블이 된다
section ( course_id, sec_id, sem, year )
Database System Concepts - 6th Edition
7.33
©Silberschatz, Korth and Sudarshan
관계 집합을 테이블로 표현
 다 대 다 관계 집합은 참여하는 두 엔티티 집합의 주 키와 관계 집합의
설명 애트리뷰트에 대한 열을 가진 테이블로 표현된다.
 Example: advisor 관계집합을 위한 테이블
advisor = (s_id, i_id)
Database System Concepts - 6th Edition
7.34
©Silberschatz, Korth and Sudarshan
스키마의 중복성 제거 (Redundancy of Schemas)
 다 대 일 혹은 일 대 다 관계집합은 다 쪽이 전체적인 참가 (total
participation) 의 조건을 만족시키는 경우, 다 쪽의 테이블에 일 쪽의
주키를 하나의 애트리부트로서 부가 시키는 것으로 표현할 수 있다.
 Example: inst_dept 관계 집합을 위한 독립된 테이블을 생성하는 대신
instructor 엔티티 집합을 표현하는 테이블에 dept_name 애트리뷰트를
부가하여 표현한다.
Database System Concepts - 6th Edition
7.35
©Silberschatz, Korth and Sudarshan
스키마의 중복성 제거 (계속)
 일 대 일 관계집합의 경우, 양쪽 모두를 다 대 일 (혹은 일 대 다)
관계집합에서의 다 쪽의 경우와 같이 취급할 수 있다.
 즉, 양 쪽 엔티티 집합을 나타내는 테이블 중 하나에 여분의
애트리뷰트를 부가하여 표현할 수 있다.
 그러나 다 쪽이 부분적인 참가 (partial participation) 의 조건을
만족시키는 경우, 다 쪽의 테이블에 일 쪽의 주키를 하나의
애트리부트로서 부가 시키는 것은 널 값을 동반하는 결과를 가져올
수 있다.
 약 엔티티 집합에 그를 식별하고 있는 강 엔티티 집합을 연결하는
관계 집합에 상응하는 테이블은 중복 표현에 해당한다.

section 테이블은 sec_course 테이블에 나타난 정보를
이미 가지고 있다
Database System Concepts - 6th Edition
7.36
©Silberschatz, Korth and Sudarshan
복합/다중값 애트리뷰트
 복합 애트리뷰트를 구성하는 각 요소 애트리뷰트는
평탄화 작업을 통하여 독립된 애트리뷰트로 표현된다.

Database System Concepts - 6th Edition
Example: 다중값 속성을 제외한 instructor 스키마
instructor(ID,
first_name, middle_initial, last_name,
street_number, street_name,
apt_number, city, state, zip_code,
date_of_birth)
7.37
©Silberschatz, Korth and Sudarshan
복합/다중값 애트리뷰트
 엔티티 E의 다중값 애트리뷰트 M은 독립된 스키마 EM으로 표현된다.

EM 의 스키마는 E 의 주키 와 다중값 애트리뷰트 M 으로
이루어진다.

Example: instructor 의 다중값 애트리뷰트 phone_number 는
다음과 같이 표현된다:
inst_phone= ( ID, phone_number)

다중값 애트리뷰트의 각 값은 EM 스키마를 갖는 릴레이션의
독립된 튜플에 매핑된다.

예를 들어 22222 의 주키를 가지고 456-7890 와 123-4567 의
다중값 속성 phone numbers 를 갖는 엔티티는 다음과 같이 2
개의 튜플로 매핑된다:
(22222, 456-7890) 와 (22222, 123-4567)
Database System Concepts - 6th Edition
7.38
©Silberschatz, Korth and Sudarshan
다중값 애트리뷰트 (계속)
 특별한 경우: time_slot 엔티티가 주키 외에 단 하나의 애트리뷰트 만을
가지며, 그 애트리뷰트가 다중값 애트리뷰트인 경우

최적화: 해당 엔티티에 대한 릴레이션을 생성하지 않고, 단지 댜중값
애트리뷰트만을 위한 릴레이션을 생성하시오.

time_slot(time_slot_id, day, start_time, end_time)
Database System Concepts - 6th Edition
7.39
©Silberschatz, Korth and Sudarshan
설계 논점
 엔티티 집합과 애트리뷰트의 사용
 phone 을 엔티티 집합으로 표현하면 phone numbers 에 대한 다른 정보를
추가적으로 기입할 수 있다 (plus multiple phone numbers)
Database System Concepts - 6th Edition
7.40
©Silberschatz, Korth and Sudarshan
설계 논점
 엔티티 집합과 관계 집합의 사용
 가능한 지침은 엔티티 간에 발생하는 행위를 기술하기 위하여 관계 집합을
지정하는 것이다.
Database System Concepts - 6th Edition
7.41
©Silberschatz, Korth and Sudarshan
설계 논점
 이진과 n-항 관계 집합
비이진(n>2인 n항의) 관계 집합을 여러 개의 이진 관계 집합으로 대치할 수
있지만, n항 관계 집합은 하나의 관계내에 여러 엔티티들이 참여함을 보다
명백히 보여준다.
 관계집합에서의 애트리뷰트 위치
e.g., advisor 관계 집합의 애트리뷰트로서 date 를 정의할 것인지 혹은
student 엔티티 집합의 애트리뷰트로서 date 를 정의할 것인지의 여부를
선택/결정하여야 한다.
Database System Concepts - 6th Edition
7.42
©Silberschatz, Korth and Sudarshan
비이진 관계 집합을 이진 관계 집합으로 바꾸기
 비이진(n>2인 n항의) 관계 집합을 여러 개의 이진 관계 집합으로 대치할
수 있다.
Database System Concepts - 6th Edition
7.43
©Silberschatz, Korth and Sudarshan
Extended ER Features
Database System Concepts - 6th Edition
7.44
©Silberschatz, Korth and Sudarshan
확장 E-R 특성: 세분화 (Specialization)
 하향식 설계 절차; 집합내의 서로 다른 엔티티와 구분되는 엔티티 집합내의
서브 그룹핑으로 지정
 이들 서브 그룹핑은 상위 단계 엔티티 집합에는 적용되지 않는
애트리뷰트를 가지거나 관계에 참여하는 하위단계 엔티티 집합이 된다.
 ISA라는 라벨을 가진 삼각형으로 나타낸다 (E.g., instructor “is a” person).
 애트리뷰트 상속 - 하위 단계 엔티티 집합은 연결된 상위 단계 엔티티
집합의 모든 애트리뷰트와 관계 참여를 상속받는다.
Database System Concepts - 6th Edition
7.45
©Silberschatz, Korth and Sudarshan
Specialization Example
Database System Concepts - 6th Edition
7.46
©Silberschatz, Korth and Sudarshan
확장 E-R 특성: 일반화 (Generalization)
 상향식 설계 절차; 동일한 기능을 공유하는 여러 엔티티 집합을
상위 단계 엔티티 집합으로 결합한다.
 세분화와 일반화는 서로가 단순한 역 관계이다; E-R도에서는 같은
방법으로 표현된다.
 세분화와 일반화의 용어는 상호 같은 의미로 사용된다.
Database System Concepts - 6th Edition
7.47
©Silberschatz, Korth and Sudarshan
세분화와 일반화 (계속)
 하나의 엔티티 집합에 대하여 각기 다른 특성을 사용하여 서로 다른
다수의 세분화된 엔티티 집합을 정의할 수 있다.
 E.g., employee를 instructor 와 secretary 로 세분화 표현하는 것 외에,
추가적으로 permanent_employee 와 temporary_employee 로 세분화
표현하는 것을 고려할 수 있다.
 의미 : 특정 employee 엔티티는

permanent_employee or 혹은 temporary_employee의 멤버가 될 수
있으며,

또한 instructor 혹은 secretary 의 멤버가 될 수 있다.
 여기에서 ISA 관계는 superclass - subclass 관계와 같은 의미를
나타낸다.
Database System Concepts - 6th Edition
7.48
©Silberschatz, Korth and Sudarshan
세분화/일반화에서의 설계 제약 조건
 어떤 엔티티들이 주어진 하위 단계 엔티티 집합의 멤버가 될 수 있는가에
대한 제약 조건

조건 정의 (condition-defined)


Example: all customers over 65 years are members of seniorcitizen entity set; senior-citizen ISA person.
사용자 정의 (user-defined)
 단일 일반화 내에서 엔티티들이 하나 이상의 하위 단계 엔티티 집합에 속할
수 있는가에 대한 제약 조건.

분리 (Disjoint)



하나의 엔티티는 오직 하나의 하위 단계 엔티티 집합에 속한다.
E-R diagram에서 IS_A 관계를 나타내는 삼각형에 다수의 하위
단계 엔티티 집합이 연결되는 것으로 표현된다.
중첩 (Overlapping)

하나의 엔티티는 하나 이상의 하위 단계 엔티티 집합에 속할 수
있다.
Database System Concepts - 6th Edition
7.49
©Silberschatz, Korth and Sudarshan
세분화/일반화에서의 설계 제약 조건 (계속)
 완전성 제약 조건 (Completeness constraint) -- 일반화 내에서
상위 단계 엔티티 집합내의 엔티티가 적어도 하나의 하위 단계
엔티티 집합에 속해야만 하는가의 여부를 지정

완전 (total): 하나의 엔티티는 하위 단계 엔티티 집합 중 하나의
엔티티 집합에 반드시 속하여야 한다.

부분 (partial): 하나의 엔티티는 하위 단계 엔티티 집합 중
하나의 엔티티 집합에 반드시 속할 필요는 없다.
Database System Concepts - 6th Edition
7.50
©Silberschatz, Korth and Sudarshan
통합화
 아래와 같은 3항 관계 집합 proj_guide를 가정한다.
 다음 eval-for와 같은 3항 관계 집합을 추가로 생각해 보자.
Database System Concepts - 6th Edition
7.51
©Silberschatz, Korth and Sudarshan
통합화 (계속)
 관계 집합 eval_for 와 proj_guide 는 같은 정보를 표현한다.
 이러한 중복을 통합화를 통해 제거한다.

관계를 추상적인 엔티티로 취급

관계간의 관계를 허용

관계의 추상화를 새로운 엔티티로
Database System Concepts - 6th Edition
7.52
©Silberschatz, Korth and Sudarshan
통합화 (계속)
 중복을 도입하지 않고, 다음 그림은 아래와 같은 내용을 표현한다:

한 학생은 한 특정 프로젝트에서 한 특정 강사의 지도를 받는다

각 학생, 강사, 프로젝트의 조합은 하나의 관련 평가와 연관될 수 있다.
Database System Concepts - 6th Edition
7.53
©Silberschatz, Korth and Sudarshan
세분화를 릴레이션 스키마로 표현
 방법1 :

상위 단계 엔티티 집합을 위한 하나의 스키마 작성

각 하위 단계 엔티티 집합에 대하여 각각 하나의 스키마 작성 (단,
상위 단계 엔티티 집합의 주키를 포함시킴)
schema
person
student
employee

attributes
ID, name, street, city
ID, tot_cred
ID, salary
단점: 예를 들어 employee 에 대하여 정보 검색을 수행하는 경우, 두
개의 릴레이션 (상위/하위 단계 릴레이션)을 모두 액세스 하여야
한다.
Database System Concepts - 6th Edition
7.54
©Silberschatz, Korth and Sudarshan
세분화를 관계 스키마로 표현 (계속)
 방법 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 정보가 중복되어 저장될 수 있다.
Database System Concepts - 6th Edition
7.55
©Silberschatz, Korth and Sudarshan
통합화에 상응하는 스키마
 다음 요소를 포함하는 스키마를 생성한다.

통합화된 관계 집합의 주키

관련된 엔티티 집합의 주티

기타 애트리뷰트
Database System Concepts - 6th Edition
7.56
©Silberschatz, Korth and Sudarshan
통합화에 상응하는 스키마 (계속)
 예를 들어 eval_for 관계 집합에 대하여 다음과 같은 스키마가
생성된다.
eval_for (s_ID, project_id, i_ID, evaluation_id)
Database System Concepts - 6th Edition
7.57
©Silberschatz, Korth and Sudarshan
E-R 설계 결정
 객체를 표현하기 위해 애트리뷰트를 사용할 것인가 엔티티 집합을
사용할 것인가.
 실세계의 개념을 엔티티 집합으로 나타낼 것인가 관계 집합으로
나타낼 것인가.
 삼진 관계를 사용할 것인가 이진 관계의 쌍을 사용할 것인가.
 강 엔티티를 사용할 것인가 약 엔티티를 사용할 것인가.
 일반화의 사용 - 설계시 모듈화에 기여
 통합화의 사용 - 내부 구조의 상세 사항에는 관여하지 않고 통합
엔티티 집합을 단일 단위로 취급할 수 있다.
Database System Concepts - 6th Edition
7.58
©Silberschatz, Korth and Sudarshan
End of Chapter 7
Database System Concepts, 6th Ed.
©Silberschatz, Korth and Sudarshan
See www.db-book.com for conditions on re-use
Figure 7.01
Database System Concepts - 6th Edition
7.60
©Silberschatz, Korth and Sudarshan
Figure 7.02
Database System Concepts - 6th Edition
7.61
©Silberschatz, Korth and Sudarshan
Figure 7.03
Database System Concepts - 6th Edition
7.62
©Silberschatz, Korth and Sudarshan
Figure 7.04
Database System Concepts - 6th Edition
7.63
©Silberschatz, Korth and Sudarshan
Figure 7.05
Database System Concepts - 6th Edition
7.64
©Silberschatz, Korth and Sudarshan
Figure 7.06
Database System Concepts - 6th Edition
7.65
©Silberschatz, Korth and Sudarshan
Figure 7.07
Database System Concepts - 6th Edition
7.66
©Silberschatz, Korth and Sudarshan
Figure 7.08
Database System Concepts - 6th Edition
7.67
©Silberschatz, Korth and Sudarshan
Figure 7.09
Database System Concepts - 6th Edition
7.68
©Silberschatz, Korth and Sudarshan
Figure 7.10
Database System Concepts - 6th Edition
7.69
©Silberschatz, Korth and Sudarshan
Figure 7.11
Database System Concepts - 6th Edition
7.70
©Silberschatz, Korth and Sudarshan
Figure 7.12
Database System Concepts - 6th Edition
7.71
©Silberschatz, Korth and Sudarshan
Figure 7.13
Database System Concepts - 6th Edition
7.72
©Silberschatz, Korth and Sudarshan
Figure 7.14
Database System Concepts - 6th Edition
7.73
©Silberschatz, Korth and Sudarshan
Figure 7.15
Database System Concepts - 6th Edition
7.74
©Silberschatz, Korth and Sudarshan
Figure 7.17
Database System Concepts - 6th Edition
7.75
©Silberschatz, Korth and Sudarshan
Figure 7.18
Database System Concepts - 6th Edition
7.76
©Silberschatz, Korth and Sudarshan
Figure 7.19
Database System Concepts - 6th Edition
7.77
©Silberschatz, Korth and Sudarshan
Figure 7.20
Database System Concepts - 6th Edition
7.78
©Silberschatz, Korth and Sudarshan
Figure 7.21
Database System Concepts - 6th Edition
7.79
©Silberschatz, Korth and Sudarshan
Figure 7.22
Database System Concepts - 6th Edition
7.80
©Silberschatz, Korth and Sudarshan
Figure 7.23
Database System Concepts - 6th Edition
7.81
©Silberschatz, Korth and Sudarshan
Figure 7.24
Database System Concepts - 6th Edition
7.82
©Silberschatz, Korth and Sudarshan
Figure 7.25
Database System Concepts - 6th Edition
7.83
©Silberschatz, Korth and Sudarshan
Figure 7.26
Database System Concepts - 6th Edition
7.84
©Silberschatz, Korth and Sudarshan
Figure 7.27
Database System Concepts - 6th Edition
7.85
©Silberschatz, Korth and Sudarshan
Figure 7.28
Database System Concepts - 6th Edition
7.86
©Silberschatz, Korth and Sudarshan
Figure 7.29
Database System Concepts - 6th Edition
7.87
©Silberschatz, Korth and Sudarshan