[RDB] E-R Diagram

Seongho·2022년 10월 27일
0

RDB

목록 보기
5/6

E-R Diagram

Entity(relation)간의 관계를 실제 요구사항에 맞게 설계한 다이어그램

Entity

저장할 정보를 갖고 있는 독립적인 객체이다.

Strong Entity는 Weak Entity가 아닌, 그 자체적으로 존재할 수 있는 Entity이고,
Weak Entity는 Strong Entity에 의존하는 Entity이다. Strong Entity는 PK를 가질 수 있지만, Weak Entity는 PK를 가질 수 없다.
Weak Entity의 예를 들면, 학과라는 엔티티는 여러 학교에 모두 존재할 수 있기 때문에, 학교 엔티티를 정의해야 학과라는 엔티티를 정의할 수 있다.
엔티티에는 여러가지 속성이 연결되는데, 이 속성은 Table에서 한 column이다.

attribute

  • simple attribute(==single-valued attribute, stored attribute) : 더이상 나누어지지 않는 attribute
  • composite attribute : 두 개 이상의 속성으로 구성된 attribute ( ex) 주소 = 시 + 구 + 동)
  • multi-valued attribute : 두 개 이상의 value를 가질 수 있는 속성.
    예를들면, hobby는 tennis, swimming, singing.. 이렇게 여러개 가질 수 있고, 학생 엔티티에서 학과도 복수전공을 하는 학생들도 있기 때문에 multi-valued attribute이다.
  • derived attribute : 다른 속성에 의해 얻을 수 있는 정보를 나타내는 속성.
    예를들면, 나이는 주민등록번호 속성에서 얻을 수 있기 때문에 derived attribute이다.

    ++attribute는 꼭 entity와 연결되어야 함.

attribute 구분 예제

  • single-valued attribute : City, Ku, Dong, Zipcode, name, juminno
  • key attribute : Empno
  • multi-valued attribute : Hobby
  • composite attribute : Address
  • Derived attribute : Age

Relationship

Entity 사이의 관계를 나타내는 것으로, 문법에 맞는 동사로 표현된다.
Relationship은 해당 relationship의 특징을 나타낼 수 있는 attribute를 가질 수 있다. (단, key attribute는 가질 수 없음)
해당 예제에서 works for에 data(얼마나 일했는지) attribute를 추가할 수 있다.

  • degree : 한 relationship에 연결된 entity의 수. 2진관계가 제일 많다. 높을수록 안좋음.

Cardinality

관계를 맺는 두 Entity에서 한 개체가 얼마나 많은 개체와 연결되는지 관계를 표현한다.
1 : 1 , 1 : N, M : N

  • Role : relationship의 의미를 나타낸다.
  • Multiple Relations : 두 엔티티 간에 존재하는 두 개 이상의 relation
  • Circular Relations : 한 엔티티가 한 relation에 두번 이상 참여하는 것

Participation

  • Full participation : relation에 연결된 다른 엔티티 타입에 모든 엔티티가 포함되는 경우. must로 표현한다.
  • Partial participation : relation에 연결된 다른 엔티티 타입에 모든 엔티티가 아닌 몇개의 엔티티만 포함된다.
    아래 예제에서, 교수 한명과 학생 여러명이 있을 때, 해당 관계에서 교수 한명이 학생 모두를 가르치진 않지만, 학생 모두는 한명의 교수의 가르침을 받아야 한다.

    ++ weak entity는 항상 Full participation이고, relation도 두 줄로 쓴다.
profile
Record What I Learned

0개의 댓글