3. Entity-Relationship Model

jisu_log·2024년 10월 12일

Database

목록 보기
3/5

< Methodologies for Conceptual Design>

  • Entity Relationship (ER) Diagrams
  • Use of Design Tools in industry for designing and documenting large scale designs
  • The UML (Unified Modeling Language) Class Diagrams are popular in industry to document conceptual database designs

- ER Model Concepts

* Entity

  • 데이터베이스에 표현되는 mini-world(현실 세계의 축소된 영역)특정 사물이나 객체
    -> 현실 세계의 객체나 실체, 데이터베이스에 저장되는 대상

ex) EMPLOYEE, DEPARTMENT

* Attributes

  • 엔터티를 설명하기 위해 사용되는 속성들

< Types of Attributes>

* Simple, 단순 속성

  • 각 엔터티는 해당 속성에 대해 single atomic value(더 나눌 수 없는 값)을 가짐
    ex) SSN

* Composite, 복합 속성, ( )

  • 하나의 속성이 여러 구성 요소(하위 속성)로 이루어질 수 있음
    -> 구성 요소가 다시 복합 속성으로 구성될 수 있는 계층 구조를 형성할 수 있음

-> 하나의 'Name' 속성은 FirstName, MiddleName, LastName과 같은 하위 속성으로 구성됨

* Multi-valued, 다중 값 속성, { }

  • 하나의 엔터티가 해당 속성에 대해 multiple values를 가질 수 있음
    -> {Color} 와 같은 표기법으로 나타냄

-> RDB에서는 Simple 속성 지원
-> ORDB, ODB에서는 Composite, Multi-valued 속성 지원

* Composite multi-valued attribute

  • Composite Attribute와 Multi-valued Attribute는 중첩(nested)될 수 있음


-> (A, B) != (B, A)
-> 순서 중요


- Entity Types and Key Attributes

* Entity type, 엔터티 유형

  • 기본 속성이 동일한 엔터티들을 하나의 entity type으로 그룹화하거나 유형화함

* Key attribute, 키 속성

  • 각 엔터티가 unique value를 가져야 하는 엔터티 유형의 속성

- Attributes and Value Sets

* A value set, 값 집합

  • 속성과 연관된 set of values를 정의함

  • 수학적으로, 엔터티 유형 E에 대한 속성 A가 값 집합 V를 가질 때, A는 다음의 함수로 정의됨

여기서 P(V)V의 power set(멱집합)을 의미함
-> 이 정의는 단순 속성(Simple attribute)다중 값 속성(multi-valued attribute)를 모두 포함함
-> 함수 A는 엔터티 집합 E의 각 엔터티에 대해 값 집합 V의 부분 집합을 할당하는 함수
-> 함수 A(e)는 특정 엔터티 e에 대한 A 속성의 값을 반환

  • 특정 엔터티 e에 대한 속성 A의 값 : A(e)로 표현


-> EMPLOYEE는 엔터티 집합 E
-> E의 각 엔터티인 John, Alice 등


<ER Diagram에서의 표현>

* Entity type: 직사각형

* Attribute: 타원형(oval)

  • 각 속성은 해당 엔터티 유형에 연결

  • Composite attribute(복합 속성)의 구성 요소는 복합 속성을 나타내는 타원에 연결

* Key attribute: 밑줄(underline)

* Multi-valued attribute(다중 값 속성): 이중 타원

- Complex Attributes

- Notation for ER diagrams



- Relationships

- Relationship

  • 두 개 이상의 서로 다른 엔터티를 특정 의미로 연결하는 것

- Constraints on Relationship Types, 관계 유형의 제약 조건(=Ratio Constraints, 비율 제약 조건)

<Cardinality Ratio, 카디널리티 비율>

: 최대 참여도를 지정

  • One-to-one (1:1)
  • One-to-many (1:N) or Many-to-one (N:1)
  • Many-to-many (M:N)

<Existence Depencency Constraint, 존재 의존성 제약>

: 최소 참여도를 지정

  • zero (선택적 참여, 존재 의존적이지 않음)
  • one or more (필수 참여, 존재 의존적)

-> total participation(전체 참여) (or existence dependency(존재 의존성))은 double line으로 표시
-> partial participation(부분 참여)single line으로 표시

* Many-to-one (N:1) Relationship

  • WORKS_FOR 관계 집합의 각 관계 인스턴스는 하나의 EMPLOYEE 엔터티하나의 DEPARTMENT 엔터티를 연결

    -> 하나의 EMPLOYEE는 하나의 DEPARTMENT를 가짐
    -> 하나의 DEPARTMENT는 여러명의 EMPLOYEE를 가짐
    -> N:1

* Many-to-many (M:N) Relationship


-> 하나의 EMPLOYEE는 여러개의 PROJECT를 가짐
-> 하나의 PROJECT는 여러개의 EMPLOYEE를 가짐
-> M:N

* Binary Relationship(이항 관계)
: 두 개의 Entity Type 사이에서 형성된 관계 (degree : 2)

* Recursive Relationship Type, 재귀적 관계 유형(= Self-referencing relationship type, 자기 참조 관계 유형)

: 동일한 엔터티 유형이 서로 다른 역할로 참여하는 관계 유형

ex) supervision 관계 -> supervisor(상사)도 EMPLOYEE, supervisee(부하)도 EMPLOYEE

<Recursive relationship type 표기>

  • 첫 번째 역할 참여: 1로 라벨
  • 두 번째 역할 참여: 2로 라벨
    -> ERD에서는 참여를 구분하기 위해 역할 이름을 반드시 표기해야 함

- ER DIAGRAM


* Weak Entity Types

  • Key Attribute가 없으며, 다른 엔터티 유형에 의존하여 식별

  • weak entity는 반드시 소유자(Owner) 또는 식별자 엔터티 유형(Identifying Entity type)과 식별 관계(Identifying Relationship Type)에 참여해야 함

  • 엔터티 식별 방법:
    -> 약한 엔터티 유형의 부분 키(Partial Key)와 식별 관계에서 연관된 특정 엔터티의 조합을 통해 식별됨
    -> Foreign key + Partial key 조합

  • Strong entity type : 고유한 Primary key 보유, 다른 엔터티에 의존 X

- Attributes of Relationship types ****

  • Relationship type은 속성을 가질 수 있음

- 1:1 관계 유형의 속성은 참여하는 엔터티 유형 중 하나로 이전될 수 있음

ex) MANAGES 관계의 Start_date 속성은 개념적으로 MANAGES 관계에 속하지만, EMPLOYEE(관리자) DEPARTMENT(부서) 중 하나의 속성으로 이전될 수 있음

- 1:N 관계 유형의 속성은 N쪽 엔터티 유형으로 이전될 수 있음

ex) WORKS_FOR 관계에 직원이 부서에서 근무를 시작한 시점을 나타내는 Start_date 속성이 있는 경우, 이 속성은 N쪽(직원)의 속성으로 이전될 수 있음

0개의 댓글