Database

[Database] 관계와 관계타입

Ocean_ 2023. 2. 10. 22:15

관계

  • 개체 사이의 연관성을 나타내는 개념

관계 타입

  • 개체 타입과 개체 타입간 연결가능 관계, 관계집합은 관계로 연결된 집합

관계타입의 유형

차수에 따른 유형

  • 관계 집합에 참가하는 개체 타입 수를 관계타입 차수 라고 함

1진 관계

  • 한개의 개체가 자기 자신과 관계를 맺음

2진 관계

  • 두 개의 개체가 관계를 맺음

3진 관계

  • 세 개의 개체가 관계를 맺음

관계 대응수

  • 두 개체 타입의 관계에 실제로 참여하는 개별 개체 수

1:1 관계

  • 좌측 개체 타입에 포함된 개체가 우측 개체 타입에 포함된 개체와 1:1로 대응 관계

1:N N:1 관계

  • 실제 생활에서 많이 볼 수 있으며, 한쪽 개체 타입의 개체 하나가 다른 쪽 개체 타입의 여러 개체와 관계를 맺음

N:M 다대다 관계

  • 각 개체 타입 개체들이 서로 임의의 개수의 개체들과 서로 복합적인 관계를 맺고 있는 관계

관계 대응수의 최솟값과 최댓값

  • 1 N M 은 각 개체가 관계에 참여하는 최댓값을 의미함
  • 학과 입장에서 학생 0명~*명 이기에 저렇게 표현

ISA 관계

  • 상위 개체 타입 특성에 따라 하위 개체 타입이 결정되는 형태
  • ISA 관계가 없다면 학생TABLE에는 쓸모없는 속성도 추가된다
  • ISA 관계가 없다면 밑의 휴학생,재학생,졸업생 TABLE을 따로 만들어야한다.

참여제약조건

  • 모든 개체가 관계에 참여하는지는 전체 참여, 부분 참여로 구분 가능
  • 전체 참여는 최솟값이 1이상, 부분 참여는 최솟값이 0 이상

역할

  • 개체 타입 관계를 표현할 때 개체들은 고유한 역할 담당

순환적 관계

  • 하나의 개체 타입이 자기자신과 순호나적으로 관계를 가지는 형태

약한 개체 타입과 식별자

약한 개체 타입

  • 상위 개체 타입이 결정되지 않으면 개별 개체를 식별할 수 없는 종속 타입
  • 독립적인 키로는 존재할 수 없지만 약한 개체 타입의 개별 개체를 고유하게 식별하는 속성을 식별자, 부분키 라고한다.

IE 표기법

  • ER 다이어그램을 더 축약하여 SW에서 사용함
  • INFORMATION ENGINEERING 표기법에서 개체타입, 속성은 직사각형으로 표현
  • 개념적 설계를 위한 도구

ER 모델을 관계 데이터 모델로 사상

  • 완성된 ER 모델은 실제 DB로 구축하기 위한 논리적 모델링 단계를 거치면서 사상이 이뤄진다.
  1. 강한 개체 타입
    1. 정규 개체 타입 E의 경우 대응하는 릴레이션 R을 생성함
  2. 약한 개체 타입
    1. 약한 개체 타입에서 생성한 릴레이션은 키와 함께 강한 개체 타입 키를 외래키로 사상하여 기본키를 구성함
  3. 이진 1:1 관계 타입
    1. 이진 1:1 관계는 방법1 ~ 방법4 까지 모든 유형으로 사상 가능.
  4. 이진 1:N 관계 타입
    1. 이진 1:N 관계 타입의 경우 N의 위치에 따라 방법1 OR 방법 2 로 사상됨
    2. 1인쪽의 키가 N인쪽의 포링키로 삽입되야함. → N쪽에다가 1인쪽의 키를 넣는다
  5. 이진 M:N 관계 타입
    1. 방법 4로 사상됨
  6. N진 관계 타입
    1. ER모델 차수가 3이상인 다진 관계 타입은 방법 4의 유형으로 사상됨
  7. 다중값 속성
    1. 속성의 개수를 알 수 없는 경우 방법1, 속성 개수가 제한적으로 정해지는 경우 방법2 사용

 


숭실대학교 Database 강의를 수강 후 정리하였습니다.