Entity Relationship Model

youngwiki
Pinkgo (토론 | 기여)님의 2025년 3월 19일 (수) 14:47 판 (Relationship Sets)

상위 문서: Database Design

개요

Entity Relationship Model(ER model)은 enterprise를 entity와 relationship으로 모델링하여 DB 설계를 명확하게 정의한다. 즉, ER model은 실제 enterprise의 meanings와 interactions를 개념적인 schema로 mapping하는데 유용하다. 이 모델은 데이터 구조와 그들 간의 관계를 entity-relationship diagram을 통해 시각적으로 표현하여, DB 설계 과정을 이해하기 쉽게 만든다.

개념

Entity Set

  • Entity: object들로부터 구분되는 enterprise의 object나 thing으로, attribute의 집합으로 표현된다.
    • 예를 들면 준영, 삼성, 현대 등이 있다,
  • Entity Set: 동일한 attribute를 공유하는 동일한 유형의 entity의 집합이다.
    • 예를 들면 서강대에서 재직하는 교수의 집합이 있다.
    • entity는 attribute의 집합으로 표현된다. 예를 들어 학생이라는 entity는 이름, 학번, 전공등으로 표현된다.
    • attribute의 부분집합은 entity set의 primary key를 구성한다. 이는 해당 집합의 각각의 원소들을 구분하는 역할을 한다. 학생 entity 집합에서는 학번이 그 역할을 할 수 있다.
Entity set을 시각적으로 나타낸 예시이다.

이러한 entity set은 아래와 같이 시각적으로 표현된다.

  • 각각의 entity set들은 직사각형으로 표현된다.
  • Attribute들은 entity ractangle 안에 열거된다.
  • 밑줄쳐진 attribute는 해당 attribute가 primary key임을 나타낸다.

Relationship Sets

  • Relationship: 몇몇 entity들 사이의 연관을 나타내는 집합이다.
    • 예를 들어서 학생 junyoung과 교수 junho 사이에는 advisor라는 relationship을 정의할 수 있다.
  • Relationship Set: entity set으로 부터의 두개 이상의 entity사이로 나타나는 수학적인 relation[1]이다. 이는 수학적으로 다음과 같이 나타낼 수 있다.

구문 분석 실패 (구문 오류): {\displaystyle \{(e_1,\,\,e_2,...,\,e_n)|e_1\,\in\,E_1,\,e_2\,\in\,E_2,...,\,e_n\,\in\,E_n\} where (e_1,\,\,e_2,...,\,e_n) is a relationship. 예시: (junyoung, junho)\,\in\,advisor }

Normalization Theory

Normalization Theory[2]는 데이터베이스 설계에서 잘못된 설계를 식별하고 이를 수정할 수 있는 방법을 제공한다.

각주

  1. 두 개 이상의 집합에 대하여 집합 원소들 간의 쌍을 나타낸다.
  2. 정규화 이론