ER Schema (추가) 2004.11.
ER Schema의 구성 Entities Attributes Relationships Strong/weak entities Attributes Composite attributes Multi-valued attributes Derived attributes Keys: primary Relationships 1:1, 1:N, M:N Roles: optional Generation/Specialization Total/partial participation
은행 기관의 ER diagram branch-city branch-name assets branch loan-branch social-security customer-name customer-street customer-city customer borrower loan loan-number amount payment payment-number payment-date payment-amount depositor access-date account account-number balance ISA savings-account interest-rate overdraft-amount checking-account cust-banker type employee works-for e-social-security dependent-name employment-length start-date telephone-number employee-name manager worker loan-payment
Strong entity set은 같은 attribute를 가진 테이블로 변환 Entity Set Tables Strong entity set은 같은 attribute를 가진 테이블로 변환 customer 테이블 Week entity set은 strong entity set을 식별하는 primary key 행을 포함한 테이블이 된다 customer-name social-security c-street c-city Jones Smith Hayes 321-12-3123 019-28-3746 677-89-9011 Main North Harrison Rye loan-number payment-number payment-date payment-amount L-17 L-23 L-15 5 11 22 10 May 1996 17 May 1996 23 May 1996 50 75 300 payment 테이블
Relationship set Tables 다 대 다 relationship set은 참여하는 두 entity set의 primary key와 relationship set의 descriptive attr.에 대한 column을 가진 table로 표현된다. Week entity set에 그를 식별하고 있는 strong entity set을 연결하는 relationship set에 상응하는 table은 중복 payment table에는 loan-payment table에 나타난 정보 (즉, loan- number와 payment-number col.)를 이미 가지고 있다. social-security account-number access-date … depositor 테이블
Composite and Multi-valued Attributes 복합 어트리뷰트 (Composite attributes) 복합 어트리뷰를 구성하는 원소를 개별적으로 분리하여 필드 구성 Name => name.first-name and name.last-name 다중치 어트리뷰트 (Multi-valued attribute) M of an entity E => a separate table EM employee-dependent-names( employee-id, dname)
Weak Entities (Existence Dependency) Entity y가 있어야만 Entity x가 존재할 때 x는 y에 existence dependent하다고 함. y는 지배 entity(아래 예에서, loan) x는 종속 entity(아래 예에서, payment) loan entity가 삭제되면, 그에 연관된 모든 payment entity 또한 삭제되어야 loan-payment payment loan
Representing Weak Entity Sets 강 엔티티 (Strong entity)의 primary key를 추가해야 함
Generalization/ Specialization 사람 Generalization/ Specialization 주민# 성명 나이 전화# 100 김철수 45 222-1111 200 이영희 23 333-1111 500 박재관 22 444-1111 600 오세희 33 555-1111 … Generalization Not complete, Not disjoint 조교 주민# 학과 경력 사무실 사람 600 전산과 2 222-3333 … 학생 ISA 주민# 학과 학번 평점 500 기계과 2000 85 600 전산과 1995 95 조교 학생 교수 교수 주민# 학과 교수# 사무실 100 철학과 553 123-1234 …
Generalization/ Specialization complete, disjoint 조교 성명 나이 전화# 주민# 학과 경력 사무실 오세희 33 555-1111 600 전산과 2 222-3333 사람 … … 학생 성명 나이 전화# 주민# 학과 학번 평점 ISA 박재관 22 444-1111 500 기계과 2000 85 … … 오세희 33 555-1111 600 전산과 1995 95 교수 조교 학생 교수 성명 나이 전화# 주민# 학과 교수# 사무실 김철수 45 222-1111 100 철학과 553 123-1234 … … 이영희 43 333-1111 200 NULL
Generalization/Specialization account-number balance account interest-rate ISA overdraft-amount savings-account checking-account ISA standard gold senior num-checks interest-payment min-balance date-of-birth
Generalization Tables 방법1 : 일반화 엔티티 account에 대한 테이블 작성 일반화되는 각 엔티티 집합에 대한 테이블 작성(일반화 엔티티 집합의 주 키 포함) 테이블 테이블 애트리뷰트 방법2 : 일반화되는 각 엔티티 집합에 대한 테이블 작성 방법2에서는 일반화 엔티티 account에 대한 테이블이 없다. account savings-account checking-account account-number, balance, account-type account-number, interest-rate account-number, overdraft-amount savings-account checking-account account-number, balance, interest-rate account-number, balance, overdraft-amount