DB 5일차 (Entity/Relationship Modeling 1)
복습
- Outer Join
- Integrity
- Domain Constraints (NOT NULL)
- Candidate Keys (Uniqueness & Minimality)
- Primary Keys (entity integrity)
- Foreign keys (referential integrity)
Referential Integrity
Integrity 를 지키기 위한 3가지 해결책
- RESTRICT: FK 변경 혹은 삭제를 막아버림
- CASCADE: FK 변경시, 변경사항을 연관 테이블에 전파
- NULLIFY: 변경되거나 삭제시, FK 에 NULL 할당
Database Design
- Conceptual design
- model 설계 (DBMS 프로그램에 의존적이어서는 안됨)
- Logical design
- Physical design
Conceptual Design
Relational Model 의 설계
- Relation 의 설계
- schema 랑, tuple 설계하라는 뜻이다.
- Relational Algebra 의 설계
- 설계한 Relation 에 어떤 연산이 가능할지 설계해야한다.
- 어떤 Integrity 를 가질지, 이를 위한 Constraint 는 무엇이 필요할지 설계한다.
Entity/Relationship Model
- Entity Set: set of interesting objects
- Attributes: propeties of an entity
- Relationships: links between entity sets
주의: Relation 과 Relationship 은 다르다!
- Relation: 테이블
- Relationship: 테이블 사이의 관계
ERD
Entity Relationship Diagram
Model vs Entity vs Domain
- Model
- Data Model := Mathematical Representation of Data
- Operations & Constraints 를 가짐
- 예시
- Semistructured Model: trees / graphs
- Relational Model: Entity Set(테이블들의 집합) 과 Relationship
- Entity: somthing interesting; 테이블에 tuple 로 표시한다; element of entity set
- Domain: attribute 와 실제로 연결되는 현실세계의 value
Entity vs Entity Type vs Entity Set
참고 링크
- Entity Set: 테이블
- Entity Type: 테이블 이름과 대응되는 스키마
- Entity: 테이블 tuple (row) 한개
Relationshps
- Degree: number of participating entity sets
- Cardinality Ratio: (1:1, 1:n, n:m)