4장. ER 모델의 고급 기능

기타/[데이터베이스 모델링과 마이닝]

2019. 4. 8. 22:04

 

[타입]

: 어떤 부류의 인스턴스를 총괄

- 개체 : 타입(Entity Type)

- 속성 : 인스턴스(Entity Instance)

 

 

[관계(Relationship) 타입과 인스턴스]

: 서로다른 모델(타입, 인스턴스)의 관계를 어떻게 표현할까?

=> 관계 모델로 논리설계(모델들에 있는 (주요키)FK를 관계모델로 가져와 구별 키값으로 사용)

- Binary Relationship : 두 모델(개체 타입) 간의 연결(개체-관계-개체  의 관계를 의미)

 

 

[ER 모델의 고급 기능]

: peter chen 표기법에서 링크에 설명(n,1등)이 표기가 안되있으면 다대다 관계, 한쪽에만 있으면 1대다, 양쪽에 있으면 1:1

 

 

[3진관계]

한 관계에 3개의 개체가 연관되어 있는 관계.

=> 이 셋이 어떤 관곈지 이해하기 위해서 인스턴스 레벨로 그려보면 이해하기 용이하다.

 

 

[키 제약조건(Key Constraints)]

1)

: 한개의 B가 단일한 A밖에 가지지 못한다 / 한개의 A가 여러 B를 가질수 있다. (일대다)

2)

: 한개의 B가 단일한 A밖에 가지지 못한다 / 한개의 A가 단일한 B밖에 가지지 못한다. (일대일)

 

# 직원-부서 관계에서의 키 제약 조건

 1) 한 부서에 많아야 한명의 부서장만 있다 / 한명의 직원이 여러부서를 관리할 수 있다.

  

 2) 한 부서에 많아야 한명의 부서장만 있다 / 한 직원이 많아야 하나의 부서만  관리할 수 있다.

 

 3) 한 직원에게 단일 부서와 단일 법인카드만 관련될수 있다.

 

 

 

[참여 제약조건]

모든 A가 R에 포함을 의미(IE표기법에서 O안들어감)

# 키제약조건,  참여제약조건 예시

: 모든 직원은 근무에 속한다

: 모든 부서는 근무에 속한다

: 각 부서에 단일한 부서장이 존재.

: IE표기법

 

 

[약 개체(Weak Entity)]

: A 개체가 있어서 B 개체가 존재(= 의존적)

: 약 개체(B)는 다른 개체의 기본 키까지 보아야 유일하게 식별할 수 있다.

: 약 개체집합은 이 식별관계 집합(R)에 전체적으로 참여

 

- 키 제약조건 성립 : 단일 B에 단일 A

- 참여 제약조건 성립 : 모든 B가 A에 연관됨.

- 표기법 : 링크선과 개체선이 굵은 선 : 링크가 지워지면 개체도 지워지기 때문이다.

- IE : Exactly-One 형태로 표현한다.

# 인스턴스레벨로 보기

- 인스턴스

  : 김과장 - 김복돌, 69, 모

  : 이대리 - 윤미래, 33, 배우자

  : 김부장 - 김복돌, 69, 모

 

- 김과장이 있기에 피부양자(김복돌) 정보가 있는것.

- 피부양자가 같은 두사람 -> 따로 삽입 (공유하면 그냥 개체가 된다 => 직원 삭제시 피부양자가 삭제되지 않기 때문)

- 한 사람이 여러 피부양자는 가능하다.

 

 

[식별 관게]

- 식별 소유자(Identifying owner) 

  : A. 약 개체는 자기 자신의 일부 애트리뷰트와 다른 개체의 기본 키를 조합하여야만 유일하게 식별되는데, 이때 다른 개체를 의미.

- 식별 관계집합(Identifying Relationship)

  : A와 B 사이의 일대다 관계집합 = 해당 약 개체집합에 대한 식별 관계집합.

 

 

[일반화(Generalization)]

: 아반떼, 소나타, 그랜저등 은 인스턴스인가? => 아님(아래 여러개 있음) - 개체

=>  1)에 속하면 2)에도 속한다. (아반떼에 속하는 것들이 더 넓은 개념(더욱 일반화시키면)에서 '자동차' 개체에 속한다)

= 일반화 관계.

=> 1)하고 2)는 어떻게 표현? 1)-R-2) 처럼 관계형태로? X : 관계형태가 아니라 타입간의 의미상 포함관계이다.

 

- ISA(is a) 계층

 : A ISA B = A개체는 모두 B개체 (상속의 개념)

: 교직원에 속하는 직원, 교수

 

<추가조건>

1) 중첩(Overlap) 제약조건

  : 김XX이 직원이면서 교수도 될수 있는가?

2) 포괄(covering) 제약조건

  : 교직원들은 모두 직원 아니면 교수인가?

 

 

[군집화(Aggregation)]

- 타이어, 엔진, 프레임 개체가 있다. 

  -> 이것들이 승용차의 일부(일반화)관계인가? X

  -> 위 개체들을 모아 하나로 취급해야한다 = 군집화

- 일반화와 군집화의 구별 유의

# 군집화 예시

: 지도관계와 이수관계를 그냥 이으면 안됨? => 불가능.(관게-관계 불가능)

 

- IE 표기법 : 그냥 지도 박스에서 이수 박스로 선 이으면 된다.