기존의 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
'Computer Science > 데이터베이스' 카테고리의 다른 글
Relational Model (0) | 2022.04.04 |
---|---|
ER Modeling (0) | 2022.03.31 |
데이터 베이스 Introduction (0) | 2022.03.28 |