Programming/Computer Science Fundamentals

[데이터베이스시스템] ER모델 (2장. 데이터베이스 모델링)

Sujin Lee (Daisy) 2021. 4. 1. 15:37

 

# ER모델 (=개체-관계 모델) 

 - 정의: 개체(Entity)와 개체 사이의 관계(Relationship) → ERD (D: Diagram) 

 - 구성요소 : 1) 개체집합 2) 관계집합 3) 속성 

ER모델 / 개체집합 / 관계집합 

     ==> '학생'개체집합'학과' 개체집합'전공' 관계집합으로 연결된다. 

     ==> 관계집합 : 개체 집합과의 연결관계. 

 

 

# 속성 

 - 개체를 구체적으로 설명

 - 속성에 포함될 수 있는 값의 특성에 따라 여러 종류로 구분 

   ===> 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모델 기호 

 

 

반응형