[diagram ERD] prośba o sprawdzenie poprawności połączeń

0

Hej, stworzyłem swój pierwszy diagram ERD biblioteki i chciałbym abyście ocenili jego poprawność, czy to ma sens co narysowałem.

Wszystkie uwagi mile widziane, jak coś byście dodali to piszcie śmiało. Jak diagram będzie w porządku, to chcę stworzyć te tabele i zapełnić je danymi.
title

0

W relacji Customers_Orders_Book zrezygnował bym z kolumny quantity. Niekonsekwencja w nazewnictwie np. relacje Book i Adresses polecam wszystko w liczbie mnogiej oraz kolumny title i comments polecam wszystko w liczbie pojedynczej.

EDIT:

Jest tu pewna niekonsekwencja. Łączysz relacje Adresses i Customer związkiem wiele do wielu zakładając, że ktoś może zmienić adres. Jednak zostawiasz informacje o mailu (to może być ok jeżeli jest to identyfikator w twoim systemie i wtedy nie powinno być możliwości jego zmiany) i telefonie w relacji Customer zakładając, że ktoś ma tylko jednego maila/telefon i w konsekwencji jedyną możliwością zmiany jest update na tabeli i stracenie pierwotnej informacji.

0

ok, dziękuje za odpowiedź,
mógłbyś mi napisać dlaczego mam tutaj Customers_Orders_Book oraz tabelę Customer_Orders

diagram stworzyłem sam w 100% ale mocno wzorowałem się na tym co znalazłem w internecie i do końca nie rozumiem czemu mają służyć te dwie tabelki, a te połączenia 100% dobrze?

1

Żeby uniknąć nadmiarowości danych. załóżmy, że masz następującą sytuację zamówienie orderID 1 na książki bookID 1, 2, 3 oraz książka bookID 1 byłą zamawiana w zamóieniach orderID 1, 2, 3, gdybyś nie miał pomocniczej relacji, poważał byś dane a tak masz tylko

bookId orderID
1 1
1 2
1 3
2 1
3 1
1

Związki są ok, ale jest to bardzo prosty schemat. Gdybyś chciał go dostosować chociaż trochę do wersji produkcyjnej na pewno musiał byś dodać sporo dodatkowych informacji. Np. okresy w których książka jest wypożyczona, opóźnienia, kary za opóźnienie, autorzy książek do oddzielnej relacji, czas powstawania nowych wpisów (przydatne do analiz) itd.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0