개체-관계 모델
1976년 피터 첸이 제안
개체Entity와 개체 간의 관계를 이용해 현실 세계를 개념적 구조로 표현하는 방법
현실 세계를 개체-관계 모델을 이용해 개념적으로 모델링 하여 그림으로 표현한 것울 개체-관계 다이어그램 Entity-Relationship Diagram 혹은 E-R 다이어그램이라 한다
개체-관계 모델을 제대로 활용하려면 먼저 개체, 속성, 관계를 이해하여야 한다
1. 개체 Entity
현실 세계에서 조직을 운영하는 데 꼭 필요한 사람이나 사말과 같이 구별되는 모든 것을 의미한다
저장할만한 가치가 있는 중요 데이터를 가지고 있는 사람이나 사물 등이며, 개념적 모델링을 하는 데 가장 중요한 요소
사람과 사물처럼 물리적으로 존재하는 것 이외의 것도 지정될 수 있다(사건, 개념 등)
다른 개체와 구별되는 이름을 가지고 있고,각 개체만의 고유한 특성이나 상태, 즉 속성을 하나 이상 가지고 있다
개체의 고유한 이름과 속성들로 정의한 것을 개체 타입Entity type이라 한다
개체 인스턴스 Entity Instance .aka 개체 어커런스 Entity occurrence
개체를 구성하고 있는 속성이 실제 값을 가짐으로 실체화된 개체
개체 집합 Entity set
특정 개체 타입에 대한 개체 인스턴스들을 모아 놓은것
데이터베이스에서 실제로 저장하고 관리하는 것이라 할 수 있음
2. 속성 Attribute
개체가 가지고 있는 고유의 특성
그 자체로만으로는 의미가 없지만 관련 있는 속성들을 모아 개체를 구성하면 하나의 중요한 의미를 표현할 수 있음
의미 있는 데이터의 가장 작은 논리적 단위로 인식된다
- 속성
- 속성값의개수
- 단일 값 속성
- 다중 값 속성
- 의미의 분해 가능성
- 단순 속성
- 복합 속성
- 기존 속성 값에서 유도
- 유도 속성
- 속성값의개수
단일 값 속성과 다중 값 속성
특정 개체를 구성하는 속성 값이 하나면 단일 값 속성 Single-valued attribute으로 분류한다
속성이 값을 여러 개 가질 수 있으면 다중 값 속성 multi-valued attribute으로 분류한다
ER다이어그램에서 단일 값 속성은 일반 타원으로, 다중 값 속성은 2중 타원으로 표현한다
단순 속성과 복합 속성
단순 속성 Simple Attribute
의미를 더는 분해할 수 없는 속성
단순 속성의 값은 의미가 하나임
복합 속성 Composite Attribute
의미를 분해할 수 있어 값이 여러 개의 의미를 포함한다
유도 속성
값이 별도로 저장되는 것이 아니라 기존의 다른 속성 값에서 유도되어 결정되는 속성을 유도 속성 Derived Attribute으로 분류한다
널 속성
null값은 아직 결정되지 않았거나 모르는 값 unknown value를 의미한다
또는 해당되는 값이 없는, 즉 존재하지 않는 값의 경우도 널 값이라 한다
공백, 0과는 다른 개념이다
널값이 허용되는 속성을 널 속성 Null Attribute라고 한다
키 속성 Key Attribute
개체를 구성하는 속성들 중에서 특별한 역할을 하는 속성
모든 개체 인스턴스의 키 속성 값이 다르므로 키 속성은 개체 집합에서 존재하는 각 개체 인스턴스들을 식별하는데 사용된다
특정 경우는 키를 둘 이상의 속성으로 구성하기도 한다
개체 타입을 정의할때 중요한 제약 조건은 키 속성의 값이 개체 인스턴스마다 달라서 이 값으로 개체 인스턴스를 식별할 수 있어야 한다는 것이다
키 속성으로 적합한 속서이 여러개면 이 중 하나를 키로 사용하면 된다
ER다이어그램에서 밑줄로 구분한다
3. 관계 Relationship
개체와 개체가 맺고 있는 의미 있는 연관성으로, 개체-관계 모델의 중요한 요소이다
관계는 개체 집합들 사이의 대응 관계 Correspondence, 즉 매칭을 의미한다
관계를 여러 개체 사이에서 정의되는 관계 타입과 실제 속성 값으로 구성된 특정 개체 인스턴스들 간에 맺어진 실제 관계인 관계 인스턴스로 구분하여 표현하기도 한다
관계도 개체처럼 속성을 가질 수 있다
관계를 맺음으로써 발생하는 중요한 데이터들이 관계의 속성이 된다
관계의 유형
관계에 참여하는 개체 타입의 수를 기준으로
이항 관계
삼항 관계
순환 관계
등으로 나눌 수 있다
매핑 카디널리티 Mapping Cardinality
매핑 원소의 수
관계를 맺는 두 개체 집합에서, 각 개체 인스턴스가 연관성을 맺고 있는 상대 개체 집합의 인스턴스 개수를 의미한다
일대일 / 일대다 / 다대다
로 분류된다
일대일 관계 1:1
개체 A의 각 개체 인스턴스가 개체 B의 개체 인스턴스 하나와 관계를 맺을 수 있고, 개체 B의 각 개체 인스턴스도 개체 A의 개체 인스턴스 하나와 관계를 맺을 수 있음
일대다 관계 1:n
개체 A의 각 개체 인스턴스는 개체 B의 인스턴스 여러 개와 관계를 맺을 수 있지만, 개체 B의 각 개체 인스턴스는 개체 A의 개체 인스턴스 하나와만 관계를 맺을 수 있다면 두 개체는 일대다 관계임
다대다 관계 n:m
개체 A의 각 개체 인스턴스가 개체 B의 개체 인스턴스 여러 개와 관계를 맺을 수 있고, 개체 B의 각 개체 인스턴스도 개체 A의 개체 인스턴스 여려 개와 관계를 맺을 수 있다면 두 개체는 다대다 관계임
관계의 참여 특성
개체 A와 B의 관계에서, 개체 A의 모든 개체 인스턴스가 관계에 반드시 참여해야 한다면 개체 A가 관계에 필수 참여 또는 전체 참여한다고 한다
개체 인스턴스 중 일부만 관계에 참여해도 되면 개체 A가 관계에 선택적 참여한다 또는 부분 참여한다라고 한다
관계의 종속성
개체 B가 독자적으로는 존재할 수 없고, 다른 개체 A의 존재 여부에 의존적이라면, 개체 B가 개체 A에 종속되어 있다고 한다
이때 이러한 종속을 특별히 존재 종속 Existence Dependence이라 한다
다른 개체의 존재 여부에 의존적인 개체를 약한 개체 Weak Entity라 하고 다른 개체 존재 여부를 결정하는 개체를 강한 개체 Strong Entity라고 한다
두 개체가 종속적인 관계를 맺고 있어 약한 개체를 종속 개체로, 강한 개체를 오너 개체로 부르기도 한다
강한 개체와 약한 개체는 일반적으로 일대다의 관계이며, 약한 개체는 강한 개체와의 관계에 필수적으로 참여한다는 특징이 있다
약한 개체는 자신이 지닌 속성만으로는 식별이어려워 일반적으로 강한 개체의 키를 포함하여 키를 구성한다
약한 개체를 구별해주는 속성을 구별자 Delimiter 혹은 부분키 Partial Key라고 한다
'공부 > 데이터베이스' 카테고리의 다른 글
| 4. 데이터 모델링 / 총정리 (0) | 2025.09.06 |
|---|---|
| 4. 데이터 모델링 / 03 논리적 데이터 모델 (0) | 2025.09.06 |
| 4. 데이터 모델링 / 01 데이터 모델링과 데이터 모델의 개념 (0) | 2025.09.04 |
| 3. 데이터베이스 시스템 / 총 정리 (0) | 2025.09.04 |
| 3. 데이터베이스 시스템 / 05 데이터베이스 관리 시스템의 구성 (0) | 2025.09.04 |