2015-02-05 2 views
0

약한 개체의 사용은 내가 내 게시자가 약한 개체 두 개의 엔티티필요와 ER 다이어그램

textbook(ISBN primary key, name, auhor etc...) is published by publisher(name, number_of_books_published etc...)

있습니다.

  1. 왜이 엔티티를 약하게 유지하고 강하게 만들 필요가 있습니까? 그 의미는 무엇입니까?
  2. 게시자에게 BookISBN 기본 키를 추가하면 강력한 엔터티가됩니다. 그럼 두 디자인의 차이점은 무엇입니까?

답변

0

1) 프로젝트의 요구 사항없이이 질문에 대답 할 방법이 없습니다. Weak은 속성만으로 엔티티를 식별 할 수 없음을 의미합니다. 이름이나 number_of_books_published 또는 그 조합이 고유하지 않으므로 게시자가 약할 가능성이 높습니다.

2) 게시자에게 BookISBN을 추가하는 것이 올바르지 않습니다. 일대 다 관계는 다른 방향에서 발생합니다. 즉 게시자가 많은 책을 게시합니다. 게시자의 number_of_books_published 속성에 의해 확인됩니다 (이는 항상 그 값을 계산할 수 있기 때문에 틀림없이 필요하지 않습니다).

이론적으로 (나는 실제로 이런 일이 발생했는지는 모르지만) 한 권 이상의 출판사가 교과서를 출판 할 가능성이 높습니다 (인쇄 가능성이 더 높음). 교과서는 교과서를 강력한 실체로 만들 것입니다. 이런 경우가 아니라면 게시자와 교과서의 기본 키를 보유한 게시자가 많은 책을 게시 할 수 있고 많은 게시자가 책을 게시 할 수있는 관계 테이블 인 더 나은 솔루션이 더 나은 해결책이라고 생각합니다. 한 출판사가 사업을 중단하고 그 책이 다른 출판사에 의해 출판되지 않는다고 말하는 경우). 이 모델에서는 교과서 테이블에서 PublisherId를 업데이트하고 이전 게시자를 잃어 버리지 않고 "기록"을 유지할 수 있습니다.

관련 문제