두 개체간의 맥시멈 카디널리티를 먼저 보자. 1:1인지 1:N인지 M:N인지 보는 것이 중요하다.
department 는 해쉬마크와 오벌만 있고, employee쪽에는 크로스핏으로 여러개가 그어져있다.
department에서 봤을때 employee가 여러개 있을 수 있다. maximum cardinality는 M:N이다.
minimum cardinality는
employee는 department가 있거나 없을 수 있다.
점선은 비식별관계를 맺는 것이다. 한쪽 엔티티를 빌려다가 일부로 사용할때 , 비식별 관계라고 한다. 그것을 점선으로 표현한다.
1:N의 관계를 금방 알수가 있다.
미니멈, 맥시멈 카디널리티, 식별관계를 알 수가 있다.
검진은 반드시 환자가 있어야한다. 다 해석할 수 있어야한다.
weak 엔티티는 디자인 상에서 너무나도 많다.
subtype entity
supertype엔티티의 special case이다. student의 subtype으로 undergraduate , graduate 이 있다.
subtype은 supertype과 식별관계에 있다.
subtype의 개체를 따로 만들게 되면 필요없는 항목에 NULL로 채워지는 것을 방지 할 수 있다.
예시) 중간에 연산자는 exclusive OR이다.
1) 비식별관계이고, 1:1이다. 동그라미가 있다는 얘기는 A는 그거에 매칭되는 B가 없어도 된다. 그러나 B는 매칭되는 A가 있어야한다.
2) 맥시멈 카디널리티는 1:N이다. solid line이 아니므로 비식별 관계이다.
3) M:N의 관계이다. 비식별관계이든 식별관계이든 notes로 표현한다. 미니멈카디널리티는 notes에 따로 표시해야한다.
4) A는B가 없어도 된다. B는 A가 반드시 있어야한다. B는 weak 한 entity로서 A에 dependent하고 식별관계로써 그를 표현한다.
맥시멈 카디널리티가 중요하다.
개체를 잘 뽑아주는 게 중요하다. 개체는 strong 한 엔티티가 중요하고 그 기관에서 가장 중심이 되는 것을 잡는게 중요하다.
weak한 엔티티는 필요에 의해 만드는 것이 중요하다 .
건국대학교에서 strong 한 엔티티가 뭐냐 라고 하면 학번이 아니라 , 학생이 나와야된다.
The association pattern
association pattern : 데이터베이스에서는 외래키라는 하나의 컬럼을 가지고 연관관계를 표현한다.
- 두개의테이블이 서로의 행에 대해서 여러개의 연관되어있는 상태를 다대다(M:N)관계라고 한다.
- 예를 들어, 학생과 과목의 관계사이에 등록 테이블을 넣는 것이 association pattern이다.
중요하다. 대학 데이터베이스에서 학생과 과목사이에는 M:N관계가 있다.
학생이 어떤 과목을 들으면 중간고사 점수, 기말고사 점수, 최종 학점이 필요하다. 그래서 enrol이라는 개체를 만들어낸다.
학생과 등록사이에 M:1의 관계, 과목과 등록 사이에 1:N의 관계가 만들어졌다.
association pattern에 의해 등록이 만들어진거다.
새로운 엔티티를 만들고 1:N을 두개로 만들어 새로운 엔티티에 추가적인 속성을 붙여준다.
엔티티를 추가할 것인지 말 것인지 결정해야한다. 너무 잘나오는 패턴이다. **
대부분의 M:N 릴레이션 패턴들은 association 패턴일 가능성이 높다 .
원형 인스턴스로 디자인 해야겠다라고 판단해야한다. 원형 엔티티와 인스턴스 엔티티의 두 개의 엔티티 두 개를 구분하자.
'이론 > DB' 카테고리의 다른 글
[데이터베이스] ER 다이어그램 - (3) & 8-2 ER to RDB (0) | 2019.05.28 |
---|---|
[DB] 데이터베이스 ER 다이어그램 - (3) (0) | 2019.05.24 |
[DB] 데이터베이스 ER 다이어그램 - (1) (0) | 2019.05.17 |
[DB] 데이터베이스 모델링, E-R 다이어그램 (3) | 2019.05.14 |
[DB] SQL - (4) View (0) | 2019.05.03 |