Constraints, Weak Entity Type, Identifying Relationship Type

꾸Jun·2023년 9월 25일
0

📚 Database

목록 보기
8/20

Cardinality Constraint

  • Relationship type이 존재하는 두 entity type 사이에 한 entity type에서 몇개의 entity type과 대응되는지 나타내는 제약조건

  • 어떤 Realationship Type에 붙이는 것

  • 어느 쪽이 1이고, 어느 쪽이 M인지 주의해야한다. 각각의 어떤 것은 이런 식으로 해석해야한다.

종류

  • One-to-One relationship
    • ex) faculty(1) - has - (1)office
    • 각각의 faculty는 한 개의 office를 가지고 있고, 각각의 office는 한 명의 faculty에 의해서만 사용된다.
  • One-to-Many relationship
    • ex) TEAM(1) - has - (M)Player
    • 반대쪽에서 시작하고 각각의 예는 이렇게 시작하면 쉽다.
    • 각각의 팀은 여러 명의 플레이어를 가질 수 있고, 각각의 플레이어는 한 개의 팀만 가질 수 있다.
  • Many-to-Many
    • ex) Student(M) - has (M)Project
    • 각각의 프로젝트는 여러 명의 학생이 수행될 수 있고, 각각의 학생은 여러 개의 프로젝트를 수행할 수 있다.

Participation Constraint

한 쪽 엔터티 타입의 엔터티 존재여부가 다른 쪽 엔터티 타입의 엔터티 사이의 관계에 의존하고 있는지의 여부에 대한 제약조건

  • total participation
    • A쪽의 엔터티들은 이 Relationship type을 통해서 B의 엔터티들과 무조건 관계를 맺어야한다
    • 두 줄로 표현
  • partial participation
    • 한 줄로 표현
    • B쪽에 있는 모든 엔터티들은 이 관계 타입을 통해서 A에 있는 모든 엔터티들과 모두 관계를 맺을 필요는 없다

Example

  • Department - works for = Employee
    • 모든 employee들은 부서에 속해야 하고, 직원이 없는 부서도 있다.
  • Department - works for = Employee
    • 모든 부서는 employee들이 있어야 하고, employee 중에는 부서배치가 안된 사람도 있다.


Weak entity type

key attribute를 가지고 있지 않는 entity type. 대신 partial key를 가지고 있다.

  • partial key는 점선으로 표현
  • ex) Orderline
    • Orderline entity type은 자기만의 key attribute가 없기 때문
  • 두 줄의 직사각형으로 표현

Identifying Owner

weak entity type이 다른 entity type과 연결되어서 식별되어 질 때

Identifying Relationship type

weak entity type이 다른 entity type과 관계되어짐으로 식별되어질 때의 relationship type

  • 두 줄의 다이아몬드로 표현


User Requirements 정리

  • weak entity types를 포함하는 identify entity type 파악
  • identifying relationship types을 포함하는 각각의 entity types 사이의 relationship types를 파악
  • (weak) entity types와 (identifying)relationship types 사이의 attribute를 파악
  • partial key를 포함하는 identifier attirbute 파악
  • cardinality constraints, participation constraints 파악
profile
꾸준🐢

0개의 댓글