개체-관계 모델

위키백과 ― 우리 모두의 백과사전.

"구조"화된 데이터를 저장하기 위해 데이터베이스를 쓴다. 이 데이터의 "구조" 및 그에 수반한 제약 조건들은 다양한 기법에 의해 설계될 수 있다. 그 기법 중 하나가 개체-관계 모델링(Entity-Relationship Modelling)이다. 줄여서 ERM이라고 한다. ERM 프로세스의 산출물을 가리켜 개체-관계 다이어그램(Entity-Relationship Diagram)이라 한다. 줄여서 ERD라 일컫는다. 데이터 모델링 과정은 데이터 모델을 그림으로 표현하기 위해 표시법을 필요로 한다. ERD는 개념적 데이터 모델 혹은 시맨틱 데이터 모델의 한 타입이다.


[편집] 연결

서로 관계된 두 개의 엔티티
서로 관계된 두 개의 엔티티
애트리뷰트를 갖는 엔티티
애트리뷰트를 갖는 엔티티
애트리뷰트를 갖는 관계
애트리뷰트를 갖는 관계
프라이머리 키
프라이머리 키
ER 다이어그램 예제
ER 다이어그램 예제

개체(엔티티)는 분리된 물체 하나를 표현한다. 엔티티는 명사 하나에 해당한다고 생각하면 쉽다. 예를 들면 다음과 같다: 컴퓨터(1개), 사람(1명), 악곡(1개), 수학적 정리(1개). 관계(릴레이션쉽)는 두 개 이상의 엔티티들이 어떻게 서로 연관되어 있나를 기록한다. 예를 들면 다음과 같다: 회사와 컴퓨터 사이의 "소유하다"라는 관계, 상사와 부하 직원 사이의 "감독하다"라는 관계, 가수와 악곡 사이의 "부르다"라는 관계, 수학자와 수학적 정리 사이의 "증명했다"라는 관계 등이다. 엔티티는 사각형으로 그리고, 관계는 다이아몬드형으로 그린다.

엔티티도 애트리뷰트를 가질 수 있고, 관계로 애트리뷰트를 가질 수 있다. 예를들면 다음과 같다: 피고용인 엔티티는 주민등록번호 애트리뷰트를 가질 수 있다.(한국에서는...); "증명됐다" 관계는 "날짜" 애트리뷰트를 가질 수 있다. 애트리뷰트는 엔티티 셋이나 관계 셋에 선으로 연결시킨 타원형들로 그린다.

모든 엔티티(위크 엔티티가 아닌 한)는 최소한의 고유 식별 애트리뷰트 집합을 가지고 있어야 한다. 최소한의 고유 식별 애트리뷰트 집합은 엔티티의 프라이머리 키라 불린다.

개체-관계 다이어그램은 하나의(single) 엔티티를 보여주고 있거나 하나의(single) 관계 인스턴스를 보여주고 있는 것은 아니다. 사각형은 "엔티티 집합들"을 나타내고 있는 것이고, 다이아몬드형은 "관계 집합들"을 보여주고 있는 것이다. 예를 들면 다음과 같다: 특정한 악곡은 하나의 엔티티이다. 하나의 데이터베이스 안의 모든 악곡들의 모음은 하나의 엔티티 집합이다. 한 아이와 그 아이의 점심 도시락 사이의 "먹어치움" 관계는 하나의(single) 관계이다. 하나의 데이터베이스 안의 모든 그러한 아이-점시 도시락 관계는 관계 집합이다.