6-1. E/R 모델

2021. 5. 2. 20:11Computer Sciences/Database

데이터베이스 설계 과정

  1. 데이터베이스에 어떤 정보를 저장할지 분석
  1. 해당 정보의 구성요소 간의 관계 분석
  1. 데이터베이스 스키마 라고 불리는 데이터베이스의 구조 명세
  1. 설계는 DBMS에 입력될 수 있는 양식(SQL)에 맞춰 커밋됨
  1. 데이터베이스가 물리적으로 생성됨

고수준 설계 모델

  • E/R 모델
  • UML 모델
  • ODL 모델

데이터베이스 모델링 및 시행 과정

  1. 문제 분석
  1. E/R 모델 산출
  1. 관계 스키마 생성
  1. 관계 DBMS 생성

E/R(Entity-Relationship) 모델

  • Entity: 사각형
    • 다른 객체와 구별 가능한 형태의 실세계 객체
    • 속성의 집합으로 표현됨
    • Entity Sets: 같은 속성을 공유하는 같은 타입의 엔티티 집합
  • Attributes: 타원
    • Entity set의 각 멤버가 보유한 설명 속성
    • 표준 E/R 모델은 속성으로 원시값(Int, String 등)만 사용할 수 있음
  • Relationship: 마름모
    • Relationship: 여러 엔티티간의 연관을 나타냄
    • Relationship set: 같은 타입의 관계에 대한 집합

예제: 영화

  1. 데이터베이스에 필요한 정보
    • 영화
    • 주연 배우
    • 배급사
    • 엔티티 - 각 영화, 각 배우, 각 배급사
    • 엔티티 셋 - 영화들의 집합, 배우들의 집합, 배급사들의 집합
  1. 엔티티의 속성
    • 엔티티에서 필요한 정보를 속성으로 추출함
    • 베지어 곡선, 테이블, 텍스트 형태로 표현 가능
  1. 엔티티 셋: 영화, 배우
    • Movies라는 Entity Sets엔 Movie 엔티티가 포함됨
    • Stars라는 Entity Sets엔 Star 엔티티가 포함됨
    이를 E/R 모델로 표현하면 다음과 같음
  1. 관계
    • Movie와 Stars의 관계
    • 한 영화에 여러 배우가 출연할 수 있음
    • 한 배우가 여러 영화에 출연할 수 있음 → 다대다 관계
    • 이를 E/R 모델로 표현하면 다음과 같음
  1. 영화의 전체 E/R 모델
    • 관계의 화살표
      • Movie는 하나의 Studio에서 제작한다는 뜻
      • 즉 Movies와 Studios는 다대일 관계
  1. 릴레이션으로 엔티티 셋와 관계 셋 표현

E/R 관계 셋의 다양성

1. 화살표 표현

  • 다대다 - 실선
  • 다대일 - 한쪽 화살표(화살표를 쏘는 쪽이 다, 받는 쪽이 일)
  • 일대일 - 양측 화살표

2. number 라벨 표현

  • 다대다 - M, N
  • 다대일 - N, 1
  • 일대일 - 1, 1

3. (min,max) 라벨 표현

  • 다대다 - (0, N), (0, N)
  • 다대일 - (0, 1), (0, N)
    • Studios입장에서는 한 Studio는 하나의 Presidents와 관계가 있음
    • Presidents 입장에서는 한 Presidents에 여러 Studio와 관계가 있음
    • number 라벨 표현과 혼동 주의
  • 일대일 - (0, 1), (0, 1)
    • Studios는 (1, 1)인데, 이는 Studio는 Presidents에 하나의 관계가 반드시 있다는 것을 나타냄
  • 0의 의미는 관계가 없을 수도 있다는 뜻

관계의 다양한 방법

  • E/R 모델은 두 엔티티 세트 이상과 관련된 관계 세트을 쉽게 정의할 수 있음
  • 아래는 삼진 관계
    • Stars와 Movies는 다대다 관계이며 Studios와 다대일의 관계를 맺음

관계의 역할

  1. 영화의 후속작에 대한 관계
    • 앞선 영화의 후속작은 앞선 영화에 다대일 관계
  1. 배우와 영화, 스튜디오 간의 계약 관계
    • 여러 배우는 하나의 스튜디오와 전속 계약할 수 있음(다대일)
    • 여러 영화는 하나의 스튜디오와 전속 계약할 수 있음(다대일)
    • 배우와 영화는 다대다 관계
  • 관계를 명확하게 표현해주어야 헷갈리지 않음

관계의 속성

  • 관계 세트도 속성을 가질 수 있음
  • Movies, Stars, Studios의 속성이 아님
  • 계약이라는 관점에서 Contracts에 속하는 속성임

E/R 다이어그램의 상속

  • isa 관계로 상속을 나타냄(삼각형)
  • 상속되는 것 - 부모의 속성
  • 표준 관계 모델은 상속을 지원하지 않음

상속 정리

  • E/R 모델에서는 상속을 지원함
  • 표준 릴레이션 모델에서는 상속을 지원하지 않음
  • 현재 DBMS에선 상속을 지원하는 모델이 있지만 표준화되지 않음
  • DBMS 마이그레이션 시 문제 발생

 

'Computer Sciences > Database' 카테고리의 다른 글

6-3. 제약조건  (0) 2021.05.02
6-2. 디자인 원칙  (0) 2021.05.02
5. Bags and Extended Relational Algebra  (0) 2021.05.02
4. Relational Algebra  (0) 2021.05.02
3. Defining a Schema in SQL  (0) 2021.05.02