10.1 관계(Relationships)란?

  • 관계 (Relationship)는 두 개 이싱의 엔터티 간에 존재히는 연관성

1)종속 관계 (Dependent Relationship) = 종속엔터티

  • 부모 엔터티와 자식 엔터티 간의 관계
  • 관계삭제하면 자식 엔터티는 존재할수 없음


2)참조 관계 (Referrential Relationship )

  • 단지 어떤 엔터티와 연관성이 존재해서 관리하려는 관계일 뿐
  • 상위(부모) 엔터티가 없다고 존재할 수 없는 관계는 아님
  • 딘순히 참조 데이터를 관리하므로 관계를 삭제하더라도 한 속성의 연관성을 모르게 될 뿐, 하위(지식) 엔티티가 존재할 수 없는 것은 아니다.

(1) 식별자로 상속한 완전 종속관계
(2) 인조 식별자를 사용
  • 종속관계를 느슨한게 관리하여 확장성 제고
  • 존재 종속이라는 데이터 성격과 주식별자의 효율성,업무의 변경 가능성 등을 고려해 판단
(3) Null 을 허용(존재 종속 관계 아님, 별도 존재 )
  • 부모,자식이 아닌 상위,하위 엔터티로 표현


관계선
  • DBMS 에서 참조무결성(Referntial Integrity) 제약으로 구현
  • 상위(부모) 엔터티의 주 식별자와 하위(지식) 엔터티의 속성을 연결
  • 데이터를 입력할 때 입력 순서를 의미 : 상위(부모) 엔터티에 데이터가 존재하는지를 먼저 확인해야 함을 의미
  • 데이티를 조회할 때 조인(join)하는 경로를 의미
  • 관계선이 표현돼 있지 않이도 알아야(조회해야) 속성을 찾아서 해당 엔터티와 결국 조인을 하겠지만, SQL을 효율적으로 작성하는데 도움
  • 데이터 모델과 업무의 흐름은 대체로 무관하지만 업무 프로세스에 의해 발생되는 데이터면 해당 엔터티 간의 관계선이 업무의 흐름을 의미