3. Conceptual Design: Enhanced ER(EER) Model

코와->코어·2021년 10월 7일
0

데이터베이스

목록 보기
2/6
post-thumbnail

Enhanced-ER(EER) Model

개선된 ER Model: 기존의 ER model에 다음의 기능들을 추가 확장한 model

  • Subclasses/Superclasses
  • Inheritance
  • Multiple Inheritance
  • Disjoint/Overlap Constraints
  • Specialization
  • Generalization

applications를 더 완전하고 정확하게 모델링하기 위해 사용
object-oriented applications에 유용

Subclass and Superclass

  • 한 entity type은 여러 개의 의미있는 sub-entity type 들로 group화 가능
  • Subclass와 superclass 관계를 IS-A (혹은 Inclusion) relationship이라고 함

  • 각 Subclass는 superclass 보다 더 많은 attribute들을 가짐(즉 superclass의 attribute들 외에 자신만의 고유한 attribute들을 추가로 가질 수 있음.)

상속

  • subclass에 속하는 개체는 superclass에 속하는 개체의 모든 속성들과 관계들, 기능(프로그램)들을 상속
  • 다른 class들과 자기 자신만의 관계를 가질 수 있음
  • 상속을 통해 이미 존재하는 ER schema를 새로운 ER Schema를 만드는 데 재사용할 수 있음

다중 상속

Single Inheritance 단일 상속

  • subclass는 superclass 하나만 가짐
  • It forms a class hierarchy (= like tree).

Multiple Inheritance 다중 상속

  • subclass는 하나 이상의 superclasses 가짐
  • subclass는 각각의 superclasses들의 속성 상속 가능
  • 즉, 각 superclass는 자기 자신 고유의 이질적인 특성들을 가질 수 있음.

상속 제약조건

  • Disjoint : superclass의 개체는 최대 한 개의 subclass에만 속할 수 있음
  • Overlap : superclass의 개체는 하나 이상의 subclass에 속할 수 있음
  • Total : superclass는 subclasses에 반드시 속해야 함
  • Partial : superclass는 subclasses에 안 속해도 됨

Specialization 세분화

  • superclass로부터 subclass들의 집합을 정의하는 과정
  • Top-Down (= Refinement정제) Modeling
  • IS_A relationship 기반
  • subclass는 자신의 모든 직접/간접 superclass의 속성들을 상속한다

Example:
{SECRETARY, ENGINEER, TECHNICIAN} is a specialization of EMPLOYEE based upon job type.
{SALARY_EMP, HOURLY_EMP} is a specialization of EMPLOYEE based in payment type

Generalization

  • Specialization의 역
  • Bottom-Up (= Synthesis 합성) modeling
  • IS-A relationship 기반
  • 공통특징을 갖는 class들을 superclass로 일반화

Example:
{CAR, TRUCK, BUS} can be generalized into VEHICLE;

profile
풀스택 웹개발자👩‍💻✨️

0개의 댓글