Jinhwan 2022. 4. 2. 15:11

기존의 ER Modeling에서 객체 지향의 성질을 추가한 것으로 Enhanced ER Model을 의미한다.


목차

  • Subclasses/Superclasses
  • Constraints
  • Process od defining a set of subclasses

Subclass and Superclass

이는 객체지향에서 부모 객체와 자식 객체와 같은 의미로 해석 될 수 있다.

Entity를 다음과 같이 표현하는 것을 의미하는데 이 그림에서 우리는 이들의 특성을 파악 할 수 있다.

 

1. Subclass IS-A superclass 로 표현이 가능하다는 것이다.

ex) Engineer is a employy, Engineer → Employee

2. subclass에 속한 entity는 superclass에 속한 어떤 entity와 같은 entity이다. 따라서 subclass에 속하면 반드시 하나의 superclass에 속해야함

 

3. Superclass에 속한 entity는 반드시 어떤 subclass에 속할 이유가 없음

- 이 때문에 subclass는 superclass보다 더 적은 entity를 가지게 된다.

 

4. subclass는 superclass의 attribute, function을 상속받는다.

- 따라서 subclass는 superclass보다 더 많은 attribute를 가지게 된다.

- 이는 우리가 ER diagram을 재사용할 필요가 없게 만들어준다.

- subclass는 여러개의 superclass로 부터 상속을 받을 수 있는데 이를 multiple Inheritance라고 한다.


Constraints

  • Super class가 Subclass에 몇개 속할 수 있나?
    • Disjoint : 1개 | 사원들은 정규직 혹은 비정규직이다.
    • Overlap : 여러개 | 학생은 기계공학부와 소프트웨학부를 전공한다.
  • Superclass가 Subclass에 속해야하 하는가?
    • Total : 반드시 | 사원들은 반드시 정규직 또는 비정규직이다.
    • Partial : 자기 맘대로 | 회사원은 야구 동아리, 축구 동아리 등에 가입할 수 있지만 굳이 안 가입해도 된다.

 

 


Process of defining a set of subclasses

Specialization

  • Top-Down방식으로 정의하는 방법
  • superclass에서 특정 속성을 바탕으로 subclass를 확장해나가는 방법

Generalization

  • Bottom-Up 방식으로 정의하는 방법
  • subclass의 공통적인 속성을 바탕으로 superclass를 추출해 나가는 방법

해당 내용은 성균관대학교 김응모 교수님 데이터 베이스 개론 수업을 듣고 정리한 것입니다.


긴 글 읽어주셔서 감사합니다.

 

틀린 부분이 있으면 댓글을 달아주시면 감사하겠습니다.

 

📧 : may3210@g.skku.edu

🔗 : https://github.com/RicardoKim