Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 8.02.2005 Ostrzeżenie: (10%)
|
jak w temacie.
chcialbym prosic o ewentualne wzmianki na temat zmian, ktore powinienem uwzglednic przy projektowaniu bazy.. Ma to byc baza biblioteki szkolnej.
Bardzo proszę o pomoc... (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 27.02.2005 Ostrzeżenie: (0%)
|
tak z biegu to mam dwie uwagę:
1. rozważyłeś przypadek kiedy jedna książka ma kilku autorów (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) w Twojej bazie nie widzę rozsądnego sposobu na zapisywanie takich egzemplarzy 2. wg mnie tabela 'sygnatura' jest zbędna - masz przecież klucz 'KsiazkiID', którego możesz użyć bezpośrednio w tabeli 'wypozyczenia' w razie czego daj znać, kumpel właśnie kończy pisanie podobnej bazy - o ile Ty to nie On |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 21.03.2005 Ostrzeżenie: (0%)
|
Ja tylko odnośnie tej sygnatury nieszczęsnej - otóż jest to identyfikacja danego woluminu w każdej bibliotece, niezależnie od tego czy przydzieli się tej książce id w bazie czy nie - ten numer będzie zawsze przydzielony przy włączaniu książki do księgozbioru.
Sam się o tym dowiedziałem dosłownie 2 dni temu podczas pisania własnej bazki płyt od studentki bibliotekoznawstwa (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 8.02.2005 Ostrzeżenie: (10%)
|
Oj nie przewidziałem takiej sytuacji, kiedy książka może mieć kilku autorów. Jeżeli ktoś ma jakiś pomysł jak to zmienić w bazie bardzo proszę o poprawę.
ps. Jeżeli ktos posiada podobny projekt bazy czy moglbym go zobaczyć ?. Z góry dziękuję |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 0 Dołączył: 14.03.2005 Skąd: W-wa Ostrzeżenie: (0%)
|
W kwestii kilku autorów : w tabeli ksiazki typ pola AutorId zmieniłbym na varchar i zapisywałbym klucze do tabeli autorów oddzielone jakims separatorem (np. |)
Przy takim podejściu do problemu, jest to jedyna potrzebna zmiana w strukturze bazy. Później np. przy przeszukiwaniu po kątem autora (-ów), wystarczy użyć np. REGEXP, lub zwykłego LIKE. EDIT : mnie również tabela sygnatury wydaje się calkowicie zbędna - jest to informacja, którą spokojnie można zamieścić w tabeli ksiazki, która swój klucz już ma Pozdrawiam Ten post edytował soldat 1.04.2005, 13:20:32 |
|
|
|
Post
#6
|
|
|
Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%)
|
Cytat(soldat @ 2005-04-01 13:18:22) W kwestii kilku autorów : w tabeli ksiazki typ pola AutorId zmieniłbym na varchar i zapisywałbym klucze do tabeli autorów oddzielone jakims separatorem (np. |) Przy takim podejściu do problemu, jest to jedyna potrzebna zmiana w strukturze bazy. Później np. przy przeszukiwaniu po kątem autora (-ów), wystarczy użyć np. REGEXP, lub zwykłego LIKE. Bardzo glupi pomysl... Jedynym slusznym rozwiazaniem tego problemu powinno byc zrobienie relacji wiele do wielu za pomoca dodatkowej tabeli laczacej ktora zawierala by pola id_ksiazki oraz id_autora |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 8.02.2005 Ostrzeżenie: (10%)
|
Co do relacji "wiele do wielu" słuszna decyzja.
Jeżeli chodzi o sygnature to musi ona koniecznie byc w bazie biblioteki. Niestety dalej cholercia nie wiem na jakiej zasadzie ona dziala, do czego jest potrzebna, co w niej powinno byc uwzględnione. |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 27.02.2005 Ostrzeżenie: (0%)
|
problem autorów masz już załatwiony - wg mnie to też jedyne słuszne rozwiązanie
(a kumpel i tak zrobił po swojemu ...) co do sygnatyry to sprawę wyjaśnił już Storm (a w poprzednim poście sam napisałem, że jest zbędna) działa ona podobnie jak Twoje 'KsiazkaID' tyle że jest starsza i do niedawna identyfikowała książki tylko na papierze i identyfikuje każdy egzemplarz a 'KsiazkaID' okresla partie ksiazek Twoje rozwiązanie jest dobre, redukujesz do minimum liczbę rekordów w tabeli 'ksiazki' - w bibliotece masz przeważnie sporo egzemplaży jednego wydania danej książki i w tabeli 'ksiazki' bedzisz miał jeden rekord o takiej serii natomiast w tabeli 'sygnatura' będziesz miał identyfikacje każdego woluminu nie wiem czy jest to u Ciebie konieczne, ale rozważ dodanie do tabeli 'ksiazki' kolumny z numerem ISBN |
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 23:36 |