Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Projekt biblioteki
vekh
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 28.10.2010
Skąd: Kielce

Ostrzeżenie: (0%)
-----


Witam. Chciałbym poprosić Was, drogich forumowiczów, o zerknięcie na mój projekt bazy danych, której zadaniem będzie obsługa biblioteki. Za wszelkie uwagi będę niezmiernie wdzięczny.

(IMG:http://img229.imageshack.us/img229/9461/clipboard02uf.jpg)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
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 wypożyczeń i archiwum to kwestia dyskusyjna. Nigdy bowiem nie dojdzie w przypadku jakim podałem do dubla. Co prawda id_książki i id_czytelnika będzie identyczne, ale już daty wypożyczenia - nie. Poza tym zauważ, że właśnie bez dodatkowej archiwizacji dostrzeżesz, że ów user miał kiedyś egzemplarz owej książki, bez odnoszenia do różnych tabel. Można owszem taki podział zrobić, ale nie na poziomie skryptu/wyzwalacza/oprogramowania, ale czasowego "czyściciela", który przenosi wybrane rekordypomiędzy tabelami wedle jakichś kryteriów. Oczywiście wyzwalacz jest fajnym rozwiązaniem, ale osobiście uważam, że sensowniej jest zrzucić to w nocy na CRONa czy coś w ten deseń.

Co do UKD to w Wikipedii jest tylko i wyłącznie wybór części. Zwróć choćby uwagę na to, że tylko niektóre języki zostały tam ujęte. Oznaczeń dla UKD jest o wiele więcej niż to co w Wikipedii masz, a by całość skomplikować, są przecież jeszcze znaki łączące jak choćby / i stąd ujednolicenie jest zwyczajnie niemożliwe. Możesz jedynie pozwolić userowi na wpisanie tego z palca i ewentualnie po stronie skryptu sprawdzić poprawność, zgodność z regułami/zasadami zapisu. Próba rozbicia tego na strukturę bazodanową wymaga znajomości dobrej tego co i gdzie może się znaleźć oraz o jakich wartościach. To zaś wymaga analizy całego ciągu UKD znak po znaku. Ostatecznie jest możliwe, ale musiałbyś zaprojektować własny system zapisu tych danych (tylko zerknąłem w wikipedii na to, co to takiego owo UKD) by było możliwe dwukierunkowe działanie. Zapis powinien być możliwy do choćby wyszukiwania pozycji po kategorii określonej w tym systemie (czyli przykładowo książek z zakresu Literatury pięknej w języku polskim dla młodzieży). Nie mówię, że nie jest to możliwe, ale wymaga przemyślenia jak to w bazie zapisać by operacje nie były mordercze podczas wyszukiwań.

Jeśli nie zauważyłeś, to samo UKD jest budowaniem z klocków. Pewne są na pierwszym miejscu, inne na drugim, a inne na jeszcze dalszych. Nie można tego przekładać na bazę w taki sposób jak podałeś. A co z wspomnianymi wcześniej mieszanymi kategoriami z użyciem + lub / zrobić? Na chwilę obecną to właśnie UKD jest najbardziej zamotanym elementem. Pozostałe są dość proste w implementacji. Dodatkową kwestią dyskusyjną jest użycie ewentualnej dodatkowej tabeli jako archiwum. Moim zdaniem odpowiednie klucze na pola i wydajność przestaje być problemem. To co można jeszcze rozbudować to system tabeli przechowującej kary na podobnej zasadzie jak wypożyczenia, by można było wyłapać nie płacących.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 19:31