728x90

# 개체 관계 모델

1. 개체(Entity)

실세계에서 다른 모든 객체와 구별되는 유, 무형의 사물

) 각 개인, 수업, 비행기 예약

 

2. 속성(Attributes)

각 개체 집합의 각 구성원들이 가지는 기술적 특성

) instructor 개체 집합의 속성은 ID, name, dept_name, salary

 

3. 개체 집합(Entity set)

같은 속성을 공유하는 같은 유형의 개체들의 집합

) 교수인 모든 사람들의 집합, 대학에 속한 모든 학생들의 집합

 

4. 관계 집합(Relationship set)

- 관계 : 여러 개체들 사이의 연관성

- 같은 유형의 관계들의 집합

- 관계 집합은 n 2 개의 개체 집합 사이의 수학적 관계

- 설명 속성 : 어떤 교수가 어느 학생의 지도교수가 된 날짜를 명시하기 위하여 date 라는 속 성을 그 관계와 연결시킴

- 차수(degree) : 관계 집합에 참가하는 개체 집합의 수

 

# 이진 관계 집합(Binary relationship)

- 두 개체 집합이 관련된 관계 집합

- 데이터베이스 내의 대부분의 관계 집합은 이진 관계 집합임

) 대학에서 수행된 모든 연구 과제를 표현하는 project라는 개체 집합

    어느 특정 과제에 있어서 어느 교수가 어느 학생을 지도하고 있는 지에 대한 정보를 저장하는 관계 집합 proj_guide

 

 

# 속성

도메인 : 각 속성에 대해서 허용되는 값의 집합

 

# 속성 유형

- 단순 속성 과 복합 속성

) Address, name,

 

- 단일값 속성 과 다중값 속성

) phone_numbers, dependent_name

 

- 유도된 속성

다른 관련된 속성들이나 객체들의 값들로부터 유도됨

) age date_of_birth 로부터 유도됨

 

 

# 제약 조건

- 관계 집합을 통하여 다른 개체와 관련될 수 있는 개체의 수

- 이진 관계 집합에서 대응수 : 일대일, 일대다, 다대일, 다대다

- 화살표() : one, 직선(-) : many

 

 

# 참가 제약 조건 :

- 개체들을 유일하게 구별해주는 속성들의 집합

1. 수퍼키

- 유일성, 1개 이상

 

2. 후보키

- 최소한의 수퍼키

- 유일성, 최소성, 1개 이상

- ID instructor 의 후보키

- course_id course의 후보키

 

3. 주키

- 후보키 중 한 개

 

 

# E-R 다이어그램

- 사각형 : 개체 집합

             첫 번째 부분은 개체 집합의 이름

             두 번째 부분은 개체 집합의 모든 속성, 주 키는 밑줄

- 다이아몬드 : 관계 집합

- : 개체 집합을 관계 집합에 연결

- 점선 : 어떤 관계 집합의 속성들을 그 관계 집합에 연결

- 이중선 : 개체의 관계 집합에의 전체적 참가를 나타냄

- 이중 다이아몬드 : 약성 개체 집합으로 연결된 식별 관계 집합을 나타냄

 

 

# 역할(role)

- 다이아몬드를 사각형에 연결하는 선에 이름을 붙여 역할 표시

- 1항 관계

- course_id prereq_id 역할 표시자

 

# 참가

1. 전체적인 참가(Total participation)

- 이중선

- 약성 개체 집합의 관계 집합으로의 참가는 전체적

- ) Participation of section in sec_course is total

       모든 section 은 어떤 수업과 연관됨

 

2. 부분적인 참가(Partial participation)

- 단일선

- ) Participation of instructor in advisor is partial

 

# 약성 개체 집합

- 주 키를 형성하기 위한 충분한 속성들을 지니고 있지 않는 개체 집합

- 식별, 지배 개체 집합이라 불리는 다른 개체 집합과 관련되어야 함

- 식별 개체 집합에 존재 종속 관계

- 약성 개체 집합의 주 키는 식별 개체 집합의 주 키와 약성 개체 집합의 구별자를 합하여 만듦

  예) section ( course_id, sec_id, sem, year )

 

 

# 강성 개체 집합

- 주 키를 가지고 있는 개체 집합

- 식별 개체 집합

  예) student(ID, name, tot_cred)

  예 ) 복합속성 가지는 경우

      instructor(ID, first_name, middle_initial, last_name, street_number, street_name, apt_number, city, state, zip_code,                     date_of_birth)

 

 

# 식별 관계 : 약성 개체 집합과 식별 개체 집합을 연관 짓는 관계

- 약성 관계 집합으로부터 식별 관계 집합으로의 다대일

- 약성 관계 집합의 참가는 전체적

약성 개체 집합을 식별 강성 집합과 연결하는 관계 집합은 이중 다이아몬드로 표현

 

 

# 구별자

- 개체 집합의 부분 키

- 약성 개체 집합 내의 모든 개체들을 서로 구별하게 하는 속성들의 집합

- 약성 개체의 구별자는 점선으로 밑줄

 

 

# 릴레이션 스키마로의 축소

- E-R 데이터베이스 스키마에 상응하는 데이터베이스를 릴레이션 스키마의 집합으로 표현할 수 있음

- 개체 집합이나 관계 집합의 이름을 붙인 고유한 릴레이션 스키마가 있음

 

 

# 다중 값 속성 별도의 테이블 필요 (주키, 다중 값 속성)

- 다중 값 속성인 M을 위해 테이블 관계형 스키마 R 생성

- R에서는 M에 대응하는 속성 A

- M이 속성으로 존재하는 개체 집합이나 관계 집합의 주 키에 대응하는 속성들을 가짐

- ) phone_number of instructor

       inst_phone= (ID, phone_number)

           (22222, 456-7890)

           (22222, 123-4567)

 

 

 

반응형

'전공 공부 > 데이터베이스시스템' 카테고리의 다른 글

관계형 데이터 베이스의 설계  (0) 2021.01.05
관계 집합의 표현  (0) 2021.01.04
관계 대수 연산  (0) 2021.01.04
트리거  (0) 2021.01.04
함수와 프로시저  (0) 2021.01.03
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기