파게로그

관계(relationship) 본문

콤퓨타 왕기초/SQLD/JDBC/Oracle DB

관계(relationship)

파게 2021. 3. 15. 00:37

관계(relationship)

  • 엔티티 간의 관련성

 

관계의 종류

  • 존재 관계
    - 엔티티 간의 상태
    - 예시: '고객'은 '지점'에 소속된다.
  • 행위 관계
    - 엔티티 간에 어떤 행위가 있음
    - 예시: '계좌'는 '일자별주문이력'에 대해서, 주문을 발주한다.

 

관계 차수(relation cardinality)

  • 두 개의 엔티티 사이의 관계에 참여하는 수
  • 최대 기수성:   1:1,   1:M,   M:N
    최소 기수성:   필수(0 불가), 선택(0 가능)
  • M:N 관계의 join은 카테시안 곱이 발생함. 1:N, N:1로 해소되어야 함
  • 예시: 과목과 학생의 관계에서 수강이라는 엔티티를 추가적으로 도출하여 해소할 수 있음

 

식별 관계(identification relationship)와 비식별 관계(non-identification relationship)

  • 식별 관계
    - 실선으로 표현
    - strong entity의 기본키를 다른 엔티티(weak entity)의 기본키의 하나로 공유하는 것
    - strong entity의 기본키 값이 변경되면, (기본키를 공유받은) 식별 관계에 있는 엔티티의 값도 변경됨
    - 강한 개체(strong entity)는 독립적으로 존재할 수 있음
    - 강한 개체는 다른 엔티티와 관계를 가질 때 다른 엔티티에게 기본키를 공유함
    - 강한 개체는 식별 관계로 표현됨
  • 비식별 관계
    - 점선으로 표현
    - strong entity의 기본키를 다른 엔티티의 기본키가 아닌 일반 칼럼으로 관계를 가지는 것

 

강한 엔티티(strong entity)와 약한 엔티티(weak entity)

  • 강한 엔티티
    - 누구에게도 지배되지 않는 독립적인 엔티티
  • 약한 엔티티
    - 엔티티의 존재가 다른 엔티티의 존재에 달려있는 엔티티

'콤퓨타 왕기초 > SQLD/JDBC/Oracle DB' 카테고리의 다른 글

정규화(normalization)  (0) 2021.03.16
엔티티 식별자(entity identifier)  (0) 2021.03.15
속성(attribute)  (0) 2021.03.15
엔티티(entity)  (0) 2021.03.14
3층 스키마(3-Level Schema)  (0) 2021.03.14
Comments