VI. Database Design Using the E-R Model

Bard·4일 전
0

데이터베이스개론

목록 보기
6/8

Modeling

  • 데이터베이스는
    • entity들의 모음과
    • entity간의 relationship으로 모델링될 수 있다.
  • entity: 다른 객체와 구분되는 객체 (특정 학생)
  • entity는 attribute를 가짐
  • entity set은 같은 타입을 갖는(같은 property를 공유하는) entity들의 입합
    • relation과 동치
    • 모든 학생의 집합, 부서, 등,,

Relationship Sets

  • relationship은 몇몇 entity간의 관계를 의미함.
  • relationship set은 n2n\ge 2개의 entity간 수학적 관계를 의미함.
{(e1,e2,,en)e1E1,  e2E2,,enEn}\{(e_1, e_2, \dots, e_n) | e_1 \in E_1,\;e_2\in E_2, \dots, e_n \in E_n\}
  • 예를 들어 (44553,22222)advisor(44553, 22222) \in advisor
  • relationship set도 attribute를 가질 수 있음.
  • 예를 들어, 강사와 학생 사이에 설정된 지도교수 관계에는 학생이 지도교수의 지도를 받기 시작한 시점을 추적하는 '날짜' 속성이 있을 수 있음.

Degree of a Relationship Set

  • binary relationship : 두개의 entity set간 결합
  • 대부분의 relationship은 binary임
    • 두개를 초과하는 entity set은 흔치 않음
      • 학생들이 교수자의 지도 하에 연구 프로젝트를 진행

Attributes

  • entity는 attribute들의 집합으로 나타낼 수 있음
  • Domain: 각 attribute에게 허용된 값들의 집합

Mapping Cardinality Constraints

  • Mapping Cardinality
    • relationship에서 다른 entity와 연관된 entity의 수
    • binary relationship set을 묘사하는데 유용함
  • One to one
  • One to many
  • Many to one
  • Many to many

Keys for Relationship Sets

  • primary key들의 조합은 relationship set의 super key가 됨.

E-R Diagrams

  • 직사각형은 각 entity set을 의미함
  • 마름모는 relationship set을 의미함
  • attribute들은 entity 직사각형 안에 나열됨
  • primary key는 밑줄로 표현함

Attributes

  • composite attribute는 각각의 분리된 attribute로 나누어서 표현함.

Relationship Sets with Attributes

Roles

  • relationship의 entity set들은 서로 다를 필요가 없음

  • 위에서 course_idprereq_id는 role이라고 불림.

Cardinality Constraints

  • 방향 선 (\rarr) 은 one을 나타냄
  • 무방향 선 (-)은 many를 나타냄

One-to-one Relationship

One-to-many Relationship

Many-to-one Relationship

Many-to-many Relationship

Participation

Total participation

두줄로 나타냄. entity set의 각 entity는 적어도 한 relationshipdㅔ 포함된다는 뜻.

partial participation은 total participation의 반대

Alternative Notation

Ternary Relationship

  • ternary relationship에서는 한개 초과의 화살표가 허용되지 않음
  • 예를 들어 R->B, R->C화살표는 다음을 의미할 수 있음
    • 각 A entity가 B, C의 unique한 entity와 연관됨
    • 또는 (A,B)가 C의 unique한 entity, (A,C)가 B의 unique한 entity와 연관됨
  • 이러한 혼동을 막기 위해 화살표는 최대 1개로 제한함.

Weak Entity Set

  • ERD에서 entity set은 다른 entityset과 직접 연결될 수 없음. 반드시 중간 relationship set이 필요함.
    • 그러나 항상 불가능한건 아님.
  • 만약 relationship table을 둔다면, 한 entity set의 primary key가 불필요하게 중복저장될 수 있음
  • primary key가 없는 entity set을 weak entity set이라 부름.
  • weak entity set은 identifying entity set에 의존함
    • total one-tomany로 연관됨
    • identifying relationship은 double diamond로 표현함.
  • 부분키 또는 discriminator는 점선 밑줄로 표현함.

0개의 댓글