Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 31.08.2007 Ostrzeżenie: (0%)
|
Witam. Ostatnio zostałem poproszony przez znajomego nauczyciela o zaprojektowanie i stworzenie aplikacji zarządzającej biblioteką szkolną. Aplikacja miałaby na celu pozwolić na stworzenie internetowej wypożyczalni. Stworzyłem wstępną wersję schematu bazy danych:
http://imageshack.us/photo/my-images/717/schematbazy.png/ Stwierdziłem że adres zameldowania i korespondencyjny będą w jednej tabeli i będą rozróżnianie przez pole "type_address". Nie stworzyłem osobnej tabeli dla autorów książki ponieważ jeżeli będzie ich więcej można ich nazwisko umieścić w jednym polu w jednej tabeli. Co sądzicie o takim pomyśle?? Jak wy byście to rozwiązali?? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
Co do adresów - słusznie.
Co do autorów - nierozsądne. Autor powinien mieć osobną encję (tabelę) i łaczyć się relacją "wiele do wielu". Czemu? Bo zachodzić może wiele możliwości: - autor może mieć wiele książek, - książka może być wielu autorów i jeszcze pod czyjąś redakcją. To już sugeruje nie tyle relację n-n, ale n-n z parametrami, która wygląda prosto, ale w ORM-ach wszelakich jest upierdliwa. Poza tym jak sobie wyobrażasz modyfikowanie pola autora gdy używasz stringa w książce mającej kilku? Wyciągniesz rekord, zaczniesz cudować by go dokleić, wyciąć czy co tam będziesz robił? Jak zrobisz wyszukiwanie w bazie po autorze mając go wpisanego jako string? Co gdy zmieni nazwisko lub uznasz, że popełnił ktoś w nim błąd? A co gdy zechcesz userom pomóc w tym i zrobić autouzupełnianie? |
|
|
|
black008 Projekt bazy danych dla biblioteki 27.10.2012, 17:19:20
black008 Słuszna uwaga. Tego nie przewidziałem. Dzięki za p... 27.10.2012, 18:44:12
thek Dla relacji n-n pokazało Ci dobrze (tabela łącząca... 27.10.2012, 22:00:05
black008 CytatMyślę, że wystarczająco dałem Ci materiału do... 27.10.2012, 22:37:27
thek Powiem tak... Zacznij od określenia dziedziny prob... 28.10.2012, 12:54:45
abort Cytat(thek @ 27.10.2012, 22:00:05 ) B... 4.11.2012, 22:43:56
thek @abort: Nigdzie nie napisałem, że tytuł jest unika... 5.11.2012, 12:09:24 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 21:53 |