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 |