# ER모델 (=개체-관계 모델)
- 정의: 개체(Entity)와 개체 사이의 관계(Relationship) → ERD (D: Diagram)
- 구성요소 : 1) 개체집합 2) 관계집합 3) 속성
==> '학생'개체집합과 '학과' 개체집합은 '전공' 관계집합으로 연결된다.
==> 관계집합 : 개체 집합과의 연결관계.
# 속성
- 개체를 구체적으로 설명
- 속성에 포함될 수 있는 값의 특성에 따라 여러 종류로 구분
===> 1) 단순속성 vs 복합속성
2) 단일값 속성 vs 다중값 속성
3) 유도 속성 vs 저장 속성
1) 단순 속성 vs 복합속성
- 단순 속성 : 더 이상 작은 구성요소로 나눌 수 없는 속성
ex) 성별 --> '여자'를 쪼개서 '여'와 '자'로 쪼개면 의미를 잃는다.
- 복합 속성 : 더 작은 의미단위로 나누어질 수 있는 속성
ex) 생년월일 --> 년/월/일의 더 작은 의미단위로 나눌 수 있음
2) 단일값 속성 vs 다중값 속성
- 단일값 속성 : 한 개체가 특정 속성에 단 하나의 값을 가지는 속성
ex) 학생번호, 학생 이름 : 학생 한 명에 하나의 값만 가진다.
(학생번호가 2개 이상이거나 이름이 2개 이상인 학생은 없다.)
- 다중값 속성 : 한 개체가 특정 속성에 여러개의 값을 가질 수 있는 속성
ex) 전화번호 : 학생 한 명이 휴대폰번호, 집번호, 회사번호 등 여러개의 값을 가질 수 있다.
3) 유도 속성 vs 저장 속성
- 유도 속성 : 다른 속성값으로부터 유도되어 결정되는 속성
ex) '나이' : '생일'로부터 연산 가능
- 저장 속성 : 실제 값을 저장해야만 의미가 유지되는 속성
# 제약조건
(1. 사상수 / 2. 참가 제약조건 / 3. 키 속성)
1. 사상수 (mapping cardinality)
- 관계 집합에 참가한 개체 집합에 대해,
한 개체가 다른 개체와 관계를 몇 개 맺을 수 있는지.
1) 1:1
2) 1:N
3) N:1
4) N:N
2. 참가 제약조건
1) 전체적 참가 : 어떤 개체 집합이 관계 집합에 참여할 때, 개체 집합의 모든 개체가 관계에 참가.
==> 이중 실선
ex) 교수-과목 사이의 '강의' 관계를 맺기 위해서, 모든 과목은 '교수'가 필요함
(교수 없는 과목은 있을 수가 없으니까) ==> 전체적 참가
2) 부분적 참가 : 일부만 참가해도 됨
==> (그냥) 실선
ex) 교수-과목 사이의 '강의' 관계를 맺기 위해서, 모든 교수가 다 강의를 해야 할 필요는 없음
(예를 들어 연구교수라던가, 안식년이라던가, ....) ==> 부분적 참가
3. 키 속성
- 키(key) : 각 개체마다 서로 다른 값을 가지는 속성의 집합
==> 키값으로 각 개체들을 서로 구별 가능
==> 속성값 밑에 밑줄 쳐서 표시한다.
# ER모델 기호
'Programming > Computer Science Fundamentals' 카테고리의 다른 글
[빅데이터의 이해] 3. 빅데이터의 활용1 (0) | 2021.09.09 |
---|---|
[빅데이터의 이해] 2. 빅데이터의 정의2 (0) | 2021.09.09 |
[빅데이터의 이해] 1. 빅데이터의 정의 1 (0) | 2021.09.09 |
[프로그래밍 언어론] 4. 구문론과 의미론 (0) | 2021.09.09 |
[프로그래밍 언어론] 3. 프로그래밍 언어 패러다임 (0) | 2021.09.09 |
[프로그래밍 언어론] 2. 프로그램 언어의 발전 및 동작원리 (0) | 2021.09.07 |
[프로그래밍 언어론] 1. 프로그래밍 언어 소개 (0) | 2021.09.07 |
[운영체제] 운영체제의 구성, 프로세스, 쓰레드 (0) | 2021.04.08 |