가자미의 개발이야기

[데이터베이스] ER 모델 설계 시 고려해야 할 문제 본문

Computer Science/데이터베이스

[데이터베이스] ER 모델 설계 시 고려해야 할 문제

가자미 2021. 6. 4. 22:18

1. many to one(혹은 one to many)일 때 many side에 중복 속성(one side에도 있는 속성)이 있을 경우 잘못된 설계이다. 

2. multivalued 속성의 가능성을 고려하지 않은 경우

다음과 같은 관계에서 만약 한 학생이 과제가 여러개를 가지고 있으면 어떻게 저장 가능하겠는가?(당연히 오류다)

 

다음과 같이 고쳐서 사용해야 한다.

약한 엔티티집합을 사용하던지
multivalue를 사용하던지

3. 엔티티냐 속성이냐

 

3-1 엔티티 집합을 만들까 vs 기존의 엔티티 세트에 속성을 추가할까

엔티티 집합을 만드는게 더 많은 정보를 쉽게 담을 수 있다.(multivalue의 가능성도 해결)

3-2 관계집합을 별도의 엔티티 집합으로 만들까?

해당 관계가 many to many면 만들자. 관계에 속성이 많이 필요하면 엔티티 집합을 고려한다.(관계 집합에 속성 추가하는 방식도 괜찮다.)
양 쪽과 total 연결이 되어야 한다.(이 연결은 many to one이 된다.)
일반적으로 어떤 액션이 있으면 관계 집합으로 처리한다.

 

특히 non-binary 관계는 엔티티 집합을 통해 binary 관계로 만드는 것이 좋다.

엔티티 집합 registration을 추가한 예시