대학공부/데이터베이스

3. Database Design and E-R Model

진진리 2025. 3. 19. 17:13

Systems Development Life Cycle (SDLC)

 

 

Entity-Relationship Modeling

-  사용자의 요구사항을 토대로 E-R Modeling을 수행

 

Example

  • 사용자 요구사항

 

  • E-R Diagram


E-R(Database) Modeling

  • 데이터베이스는 엔티티들과 엔티티들 간의 관계의 모음으로 모델링될 수 있다.

 

Entity Sets

  • Entity: 다른 객체와 구별되고 존재하는 객체
    • 개념적인 객체
    • 개념적, 물리적으로 존재
    • 요구 명세에서 보통 명사
  • Entities have attibutes
  • Entity set: 같은 속성을 공유하는 같은 타입의 엔티티 집합

 

Weak Entity Sets

  • weak entity set: primary key를 가지지 않는 entity set
  • identifying entity set의 존재에 의존
    • identifying entity set과 total 혹은 one-to-many 관계를 가져야 함
    • 이러한 identifying relationship이중 다이아몬드로 표현
  • discriminator (or partial key): weak entity set을 구별하는 속성들의 집합
    • 점선 밑줄로 표시
  • primary key: weak entity set이 의존하는 strong entity set의 primary key와 discriminator의 합


Attributes

  • 엔티티는 속성의 집합으로 표현된다.
  • Domain: 각 속성에 허용된 값의 집합
  • Attribute types
    • Simple / composite attributes
    • Single-valued / multivalued attributes
    • Derived attributes: 다른 속성에서 계산된 속성

 

Redundant Attributes

  • 두 entity set이 관계를 맺을 때 중복되는 속성


Relationship Sets

  • relationship: 여러 엔티티들 간의 연관성
  • relationship set: 같은 속성을 공유하는 동일한 관계들의 집합
  • attribute를 가질 수 있음

 

Degree of a Relationship Set

  • binary relationship: 두 엔티티 집합을 포함
    • 데이터베이스 시스템 내의 대부분의 관계 집합
  • 그 외에 Unary relationship, Ternary/N-ary relationship

 

 

Mapping Cardinality Constraints

  • 관계 집합을 통해 다른 엔티티와 연관될 수 있는 엔티티의 수를 표현
  • binary relationship set은 다음 중 하나여야 함
    • One to one
    • One to many
    • Many to one
    • Many to many

One-to-One Relationship

  • 강사/학생은 서로 최대 하나의 학생/강사와 연관됨

 

One-to-Many Relationship

  • 강사는 여러(0포함) 학생과 연관됨
  • 학생은 최대 하나의 강사와 연관됨

 

Many-to-Many Relationship

  • 강사/학생은 여러(0 포함) 학생/강사와 연관됨

 

 

Participation of an Entity Set in a Relationship Set

  • Total participation (이중선으로 표현)
    • 엔티티 집합의 모든 엔티티가 적어도 하나의 관계 집합 내 관계에 참여하는 경우
  • Partial participation
    • 몇몇의 엔티티가 관계 집합 내 관계에 참여하지 않는 경우


 

Keys

  • super key: 특정 엔티티를 유일하게 식별하는 속성들의 집합
  • candidate key: minimal super key
  • primary key: 선택된 candidate key -> null을 포함하지 않고 직관적이며 쿼리 성능을 고려한 키를 선택

 

Keys for Relationship Sets

  • 관계 집합의 super key: 참여하는 엔티티 집합의 기본키의 조합
    • 이는 관계 집합에서 최대 하나의 관계만 가질 수 있음을 의미
  • 관계 집합의 candidate key: 매핑 기수를 고려해야 함
    • 일대일이라면 어느 한쪽의 기본키, 일대다라면 다쪽 기본키, 다대다라면 두 기본키의 합집합 등
  • primary key를 선택할 때는 관계 집합의 의미를 고려해야 함

 

Roles

  • 엔티티 집합의 관계는 distinct할 필요 없음
  • 각 엔티티는 관계에서 역할을 수행

 


Extended ER Features

Specialization

  • 하나의 집합 내에서 다른 엔티티들과 구별되는 하위 그룹을 지정
  • 이러한 triangle component를 ISA 관계(instructor "is a" person)라고 한다.
  • Attribute Inheritance: 하위 엔티티 집합은 상위 엔티티 집합의 모든 속성과 관계를 상속받는다.

Generalization

  • 여러 엔티티 중 공통된 특징을 결헙하여 하나의 상위 엔티티 집합을 생성
  • 특수화 <-> 일반화 : E-R 다이어그램에서는 같은 방식으로 표현됨

 

Design Constraints on a Specialization/Generalization

  • 하위 엔티티 집합의 속하는 엔티티에 대한 제한
    • condition-defined
    • user-defined
  • 하나 이상의 하위 엔티티 집합에 속할 수 있는지에 대한 제한
    • Disjoint: 오직 하나의 하위 엔티티 집합에 속할 수 있음
    • Overlapping: 여러 개의 하위 엔티티 집합에 속할 수 있음
  • Completeness constraint
    • 상위 엔티티 집합의 엔티티가 적어도 하나의 하위 엔티티 집합에 속해야 하는지에 대한 제한
    • total: 한 엔티티는 반드시 하나의 하위 엔티티 집합에 속해야 함
    • partial: 엔티티는 하위 엔티티 집합에 속할 필요 없음

Summary of Symbols Used in E-R Notation

 

 

Constructing an ER model - Procedure

 

'대학공부 > 데이터베이스' 카테고리의 다른 글

6. Recovery System  (2) 2025.04.04
5. Transactions  (0) 2025.03.24
4. Relational Database Design (Normalization)  (0) 2025.03.23
2. SQL  (0) 2025.03.18
1. Relational Model  (0) 2025.03.18