밥벌이/데이터베이스
개체-관계 모델(ER 모델)
middleware
2010. 8. 26. 10:23
반응형
-
ER 모델의 개요
-
ER 모델의 정의
- ER 모델은 1976년 Peter Chen에 의해 발표된 모델링 도구
- ER 모델은 데이터베이스 설계의 한 부분으로, 데이터베이스 요구 사항을 그래픽 형태로 표현
- 3.개체 타입(Entity Type)과 관계 타입(Relationship Type)을 이용하여 현실 세계를 개념적으로 표현하는 기법
- 현실 세계의 정보를 특정 DBMS와는 무관하게 개념적으로 설계
- 최초에는 개체, 속성(Attribute), 관계의 개념만이 있었으나 점차 복합 속성과 일반화 계층이 추가
-
ER 모델의 특성
- 그래픽 형태로 표현 : 데이터베이스 사용자들간의 의사소통이 원활해짐
- 특정 DBMS 및 하드웨어 무관하게 설계 가능 : 설계 과정에 구현 사항을 반영하지 않음
- Portable 하고 Compatible 함
- 역공학(Reverse Engineering)의 적용이 가능
- ER 모델의 장.단점
-
장점 | 단점 |
|
|
-
ERD(ER Diagram)
-
ER 모델은 몇 가지 도형을 이용하여 현실 세계를 표현
- ER 모델에서 사용하는 도형
-
구성요소 | 도형 | 주요내용 |
개체 타입 |
|
|
관계 타입 |
|
|
속성 |
|
|
다중 값 속성 |
|
|
파생 속성 |
|
|
키 속성 |
|
|
선(Link) | |
|
-
ER 모델 구성 요소
-
개체 및 개체 타입
-
개체
- 현실 세계의 객체로써 유형 또는 무형의 정보 대상으로 존재하며, 서로 구별될 수 있는 것
- 개체는 현실 세계에 존재하는 실체를 의미하는 것으로, 하나 이상의 속성으로 구성
-
개체 타입
- 같은 특성들을 공유하는 같은 타입의 개체들의 집합
- 같은 속성들을 갖고 있는 개체들의 집합
-
-
관계 및 관계 타입
-
관계
- 여러 개체들 간에 존재하는 연관성
- 관계도 하나 이상의 속성을 가질 수 있음
-
관계 타입
- 같은 관계들의 집합
- 개체 타입들 간의 연관성
-
차수
- 관계에 참여하는 개체 타입들의 개수
- 참여하는 개체 수에 따라 참여하는 개체가 2개이면 이항 관계, 3개 이면 삼항 관계, N개 이면 N항 관계라고 표현
-
-
관계 유형 | 개체 타입 / 관계 타입 |
단항 관계(Unary Relationship) |
|
이항 관계(Binary Relationship) |
|
삼항 관계(Temary Relationship) |
|
-
카디널리티(Cardinality)
- 관계에 참여하는 개체의 개수
- 특정 개체와 관련된 대상 개체의 최대 인스턴스 수
-
이항 관계에서 카디널리티의 예
- 1:1 관계 : 관계에 참여하고 있는 두 개체 타입이 모두 한 개씩의 개체를 가질 수 있는 관계
- 1:N 관계 : 관계에 참여하고 있는 개체 타입 중 한 개체 타입은 여러 개의 개체를 가질 수 있고, 다른 한 개체 타입은 한 개의 개체를 가질 수 있는 관계
- N:M 관계 : 관계에 참여하고 있는 두 개체 타입 모두 여러 개의 개체를 가질 수 있는 관계
-
카디널리티 표현 방법1
-
카디널리티 표현 방법2
-
관계에 개체들이 의무적으로 참여하는지의 여부
- 의무적(Mandatory) 관계 : 개체 어커런스가 연관된 개체에 해당되는 어커런스를 반드시 요구하는 경우
-
선택적(Optional) 관계 : 개체 어커런스가 연관된 개체에 해당하는 어커런스를 반드시 요구하지 않는 경우
-
최대(Maximum) 카디널리티와 최소(Minimun) 카디널리티를 이용한 카디널리티의 표현 방법
-
속성
- 속성은 개체 또는 관계에 대한 특성이나 상태를 기술하는 데이터 항목
- 속성이 가질 수 있는 모든 가능한 값들의 집합을 도메인(Domain)이라고 함
-
속성의 분류
- 단순 속성(Simple Attribute) : 더 이상 작은 단위(다른 속성)로 나누어지지 않는 속성
- 복합 속성(Composite Attribute) : 더 작은 단위로 나누어 질 수 있는 속성, 즉 여러 개의 속성들로 표현되는 속성
- 단일값 속성(Single-valued Attribute) : 속성값이 원자값인 것으로 하나의 값만 존재
- 다중값 속성(Multi-valued Attribute) : 속성값이 여러 개 존재할 수 있는 것
- 파생 속성(Derived Attribute) : 기존 속성값을 이용하여 유도해 낼 수 있는 속성
- NULL 값 속성(NULL-valued Attribute) : null 값을 갖는 속성
-
키 속성(Key Attribute) : 객체를 유일하게 식별할 수 있는 속성
-
존재 종속(Existence Dependence)
-
한 개체(약한 개체)의 존재가 다른 개체(강한 개체)의 존재에 종속
- 이때 강한 개체가 삭제되면 약한 개체도 함께 삭제되어야 함
- 존재 종속의 관계를 강한 개체(일반 개체)와 약한 개체, 부모 개체와 자식 개체 등으로 정의
-
강한 개체 타입(Strong Entity Type)
- 타 개체 존재 여부와 상관없이 존재할 수 있는 개체
- 기본키가 있는 개체
-
약한 개체 타입(Weak Entity Type)
- 존재 종속이 성립하는 개체 타입으로서 기본키가 있는 개체
- 관계를 갖는 강한 개체 타입(키 속성 존재)과 연관시켜서 식별
- 부양 가족 개체의 경우 자신을 소유하는 직원에 종속되어, 직원이 존재하는 경우 함께 존재하게 되며, 직원이 삭제되는 경우 함께 삭제
-
약한 개체의 부분키(Partial Key)는 주어진 강한 개체에 대해 하나의 약한 개체를 유일하게 식별할 수 있는 최소 개의 속성으로 구성되며, 구별자(Discriminator)라고도 함예) 강한 개체 타입 : 사원(사번, 이름, 봉급, 부서), 사번 : 기본키
- 약한 개체 타입 : 부양가족(이름, 나이, 성별), 이름 : 부분키
-
- 존재 종속은 개체의 종속 관계를 표현합니다. 강한 개체 타입과 약한 개체 타입의 차이점을 비교하면서 두 개체 타입을 이해
반응형