이전에 정리했던 글이다.
교재: fundamental of database system
이전 글
2020/07/13 - [강의 정리/Database] - 데이터베이스시스템 - Chapther 1
2020/07/13 - [강의 정리/Database] - 데이터베이스시스템 - Chapther 2
[CHAPTHER 3 - Data Modeling Using the Entity-Relationship (ER) Model]
▶ 데이터베이스 디자인 개요
* 데이터베이스 디자인은 Database design, Application design으로 나뉨
* 이번 장에서는 conceptual database design을 중점으로 학습
* (일반적으로) Application design은 프로그램의 interface에 중점을 두는, S/W engineering 분야로 분류
▶ E-R(entity-relationship) Diagram
* Conceptual Design의 방법의 일종
* Entity : attribute를 가지고 있는, 객체
* Entity는 여러 개일 수도 있으며, 이를 Entity set이라고 한다.
* attribute : 속성 (simple/composite/multivalued)
* key attribute : 고유한 속성
* key attribute는 composite(한 개이나 고유성을 위해 여러 value를 가짐)일 수도 있고, key 자체가 여러 개일 수도 있음
▶ Relationship
* entity관의 관계를 나타냄
* degree : relationship에 참여하는 entity가 몇 개인지를 나타냄
* degree가 2면 binary, 3이면 ternary라고 부름. ternary부터는 제약을 나타내기 어려움
* 연결되는 두 객체는 서로 1:1, N:1(다:1), M:N(다:다)의 관계를 가질 수 있음
* 여러 제약 조건을 가질 수 있음 (몇 대 몇 관계인가, 0을 포함하는가 등)
* Recursive인 type이 존재할 수 있음 (한 entity 내에서 relationship이 일어날 수 있다는 뜻)
* 재귀의 경우, entity의 participant가 어떤 role을 수행하는지 명시해야 함
* Relationship type 또한 attribute를 가질 수 있음
* participant가 전체(total)인지 부분(partial)인지에 따라 각각 double line, single line으로 표현(아래 E-R Diagram의 표현 항목의 이미지 참조)
▶ Relationship의 (min, max) 표기법
* participant의 수에 대한 제약으로 (min, max)로 표현한다.
* Default는 min이 0, max가 n
* 해당 표기법 사용 시 double line은 사용하지 않음
▶ Weak Entity Types
* key attribute를 가지고 있지 않은 entity를 말함
* 식별을 위해 다른 entity에 의존
▶ E-R(entity-relationship) Diagram의 표현
* Entity는 사각형로, Attribute는 (타)원으로, 그 중에서도 Key Attribute는 underline이 있으며, Relationship은 마름모로 나타낸다는 것이 가장 중요
▶ Weak Entity Types
* UML Diagram
* Extended Entity Relationship(EER) Model