DB - Lecture5

Pyro·2021년 9월 13일
0

Database

목록 보기
5/8

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
    • table 설계
  • 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)
profile
dreams of chronic and sustained passion

0개의 댓글