CS/데이터베이스 DB

[데이터베이스] 개체 관계 모델(E-R model)

하늘아래현서 2022. 6. 7. 23:04

1. 개체 관계 모델 구성 요소

  - 개체, 관계, 속성

 

2. 개체(entity)

  - 실제 세상에 존재하는 물리적 혹은 개념적 객체들 

  - 개체 집합 : 개체들을 모아 놓은 것

 

3. 속성(attribute)

  - 개체를 구성하거나 특징을 나타내는 요소들

  - 개체는 속성의 집합으로 표현한다.

  - 도메인 : 속성이 가질 수 있는 값의 범위

  - 관계형 데이터 베이스의 속성에 들어오는 값은 automic해야하므로 값이 하나이고 단순해야 한다.

 

4. 관계(relation)

  - 개체 사이의 연관성을 나타내는 요소들

  - 사상 크기(Mapping Cardinality)가 존재한다.

 

5. 사상 크기(Mapping Cardinality)

  - 관계 집합의 좌, 우 양 쪽에 있는 개체 집합 사이의 정수 비율

  - 1:1, 1:N, M:N 총 3가지 경우가 있다.

  - 이는 주어진 상황과 조건에 의해 결정된다.

  - 사상 크기에 따라 테이블의 개수가 정해진다. 따라서 불필요한 중복을 방지해야 한다.

 

6. 매핑 룰(Mapping rule)

  1) 1:1의 경우

     - 하나의 테이블을 편의상 두 개의 테이블로 나눈 경우이다.

        즉 각 테이블은 기본키가 같은 (두 테이블의 공통 속성이 기본키인) 경우가 많다.

     - 공통 속성은 서로가 서로의 외래키가 가능하지만

        실제로는 외래키는 하나만 설정해야 하므로

        (어느 쪽을 설정해도 상관은 없지만) 메인 역할을 하는 테이블 쪽의 키를 기본키로 두고

        남은 테이블 쪽을 외래키로 둘 수 있다.

  2) 1:N의 경우

      - 두 개의 개체 집합으로 각각 테이블을 만든다.

         두 개의 테이블 중 1의 개체 집합의 기본키가 N의 외래키가 된다.

  3) M:N의 경우

      - 두 개의 개체 집합을 각각 테이블로 만들고

        관계 집합에 해당하는 교차 테이블을 만든다.

        총 3개의 테이블에서 각 개체 집합으로 만든 테이블의 기본키가 교차 테이블의 외래키가 된다.

  4) 이렇게 매핑 룰을 이용하여 테이블을 만든 후에도

       논리적 모델링(정규형에 따른 정규화) 과정을 거쳐야만

       불필요한 중복을 완전히 배제할 수 있다.