1. 정의
- 사물을 개체(Entity)와 개체간의 관계(=Relationship)로 표현
커플을 예로들면
남자친구 - 개체(Entity)
여자친구 - 개체(Entity)
사귄다 - 관계(Relationship)
2. E-R다이어그램 : ER모델을 표준화된 그림으로 나타낸 것
E - R 다이어그램 예제
3. 개체
- 독립적인 실체 (사람,사물,장소,개념,사건 등)
- 각각의 데이터 값을 가지며, 변하는 것도 있음
- 비슷한 속성의 개체 타입이 있으며, 개체 집합으로도 묶인다.
껌를 예로들자면
자일리톨 껌 - 개체(Entity)
풍선 껌 - 개체(Entity)
껌 - 개체 타입(Entity Type)
껌들이 담겨져 있는 통 - 개체 집합(Entity Set)
4. 속성
- 개체가 가진 성질
위의 껌을 예로들자면
껌의 색 = 속성(Attribute)
껌의 맛 = 속성(Attribute)
껌의 이름(자일리톨) = 속성(Attribute)
껌의 종류 = 속성(Attribute)
5. 관계
- 개체 사이의 연관성을 나타내는 개념
6. 관계타입
- 개체 타입과 개체 타입간의 연결 가능한 관계를 정의한 것 , (관계 집합 = 관계로연결 된 집합)
7.관계 대응수
-개체 타입의 관계에 실제로 참여하는 개별 개체수(1:1/多:1 /1:多 / 多:多)
8. 표기법
위의 ER 다이어그램으로는 복잡한 현실 세계를 표현하기에 충분하지 않다.
대용량 데이터, GIS, Multimedia, 객체 지향 등 대용량 표현에 한계가 있으며
재사용, 상속과 확장성의 개념 등이 없다.
이들을 해결하기 위해 Extended ER 모델로 발전하게 된다.
전문화(specialization), 일반화(generalization), 집단화(aggregation) 등의 모델을 추가하여
확장된 개체-관계 모델(Extended E-R Model, EER)이 개발되었다.
9. E-R 다이어그램 작성절차
1. Entity 도출 |
명사형, 집합형을 이루고 대표성을 갖는 Entity 도출 |
2. Relationship 도출 |
Entity와 entity 간의 관계 도출 |
3. Attribute 도출 |
Entity의 상세 속성 도출 |
4. Cardinality 도출 |
두 Entity 간의 관계에서 참여자의 수를 비율로 표시 |
5. 식별자 도출 |
기본키, 외래키, 수퍼키, 후보키, 대체키 등에 대한 정의 |
6. 정규화 |
1차, 2차, 3차, BCNF, 4차, 5차 정규화 |
7. 통합/분할 |
Entity type의 성격에 따라 통합, 분할 수행 |
8. Data 모델 검증 |
Entity type 속성 관계 등에 대한 적합성 검증 |
10. 사상(Mapping)
이런 개념적 모델을 컴퓨터가 이해할 수 있는 논리적 데이터 모델(logical data model)로 변환하여야 한다.
매핑의 내용을 아래 표와 같이 정리한다.
E-R 모델 |
관계형 모델 |
|
개체 타입 |
릴레이션 |
|
속성 |
단순속성 |
속성 |
복합속성 |
단순 속성들의 집합 |
|
키 속성 |
기본키 또는 보조키 |
|
속성값의 집합 |
도메인 |
|
관계 |
이진 관계성 (Binary Relationship) |
|
일대일(1:1) 관계 |
||
1:1 양방향 의무적 참여 |
두 관계를 하나로 통합. |
|
1:1 한쪽은 선택적, 다른 한 쪽은 의무적 참여 |
선택적 측 관계의 기본키를 의무적 측에 외래키로 포함. |
|
1:1 양쪽 모두 선택적 참여 |
기존 두 관계의 기본키로 구성되는 새로운 관계 생성. |
|
일대다(1:N) 관계 |
||
N측 의무적 참여 |
1측의 PK를 N측의 FK로 설정 |
|
N측 선택적 참여 |
- 두 관계의 PK로 구성된 새로운 관계를 생성. |
|
M:N 관계 |
- 두 릴레이션의 PK로 구성된 릴레이션을 생성. |
|
순환 관계성 |
||
일대다(1:N) 관계 |
- 다측이 의무적 관계일 경우 일측 관계의 기본키를 다측 관계의 외래키로 포함. |
|
M:N 관계 |
기존 두 관계의 기본키로 구성되는 새로운 관계를 생성하며, 새로운 릴레이션의 기본키로는 다측의 기본키를 사용. |
|
특수 속성/개체 |
약한 개체 타입 |
강한 개체타입의 기본키와 약한 개체타입의 부분키(partial key)로 식별. |
복합 속성 |
- 복합속성의 개개 속성이 중요한 의미를 가지는 경우에는 나누어서 표현. |
|
다중값 속성 |
1. 새로운 릴레이션을 생성. |
'Tools & Tips' 카테고리의 다른 글
Eclipse - 폰트 설정하는 방법 (0) | 2020.03.26 |
---|---|
[Visual Studio - MFC / C++] const char * 형식의 인수가 LPCWSTR 형식의 매개변수와 호환되지 않습니다. (0) | 2020.02.26 |
N의 보수 구하는법 - 기사/산기 시험문제 (0) | 2020.02.26 |
Eclipse 이클립스 인코딩 설정방법(UTF-8 , EUC-KR) (0) | 2020.02.26 |
Tools - Everything(파일 탐색 프로그램) (0) | 2020.02.26 |