![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 15.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Korzystam z bazy danych postgresql, ale używam poradników z mysql i w razie błedów zapytań staram się poszukać informacji w google.
W poniższym przypadku trafiłem na nadmiar informacji i tutaj poproszę o pomoc. Przedstawię najlepiej cały kod z zakomentowaniem linijek dających błąd, to będzie mówić samo za siebie i więcej niż moje amatorskie wyjaśnienie. Jest to mój pierwszy projekt bazy danych/php i za krytyczne uwagi będę wdzięczny (varchary nie są skonfigurowane).
Ten post edytował Xenom 18.04.2012, 12:27:34 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 340 Pomógł: 49 Dołączył: 3.07.2009 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Po mojemu jest to bardzo zła konstrukcja.
1. Kwestia porządku: Jeżeli tworzysz tabelę users, to kluczem powinno być id_users. Dla tabeli products id_products 2. Dla kluczy głównych obowiązkowo autoincrement 3. Za pomysł uczynienia kluczem głównym pola VARCHAR w tabeli companies należy Cię wybatożyć 4. Pola na pieniądze nie float, a numeric lub decymal 5. Pole na datę nie typu Varchar, a np DATETIME 6. Brak powiązań między tabelami 7. Takie dane jak telefon lepiej przechowywać w polach INT 8. Za mało kluczy zewnętrznych wymuszających więzy integralności 9. Widzę pole start_date. Jeżeli masz zamiar określać odstępy między datami, to obowiązkowo typ Timestamp 10. NIP, regon to pola typu INT (pomyśl jak będzie wyglądać wyszukiwanie po numerze nip) W ramach higieny języka polskiego zapytam czemu te nazwy tabel są po angielsku. Na osłodę dodam, że to są typowe błędy, które popełniał każdy (ze mną włącznie) (IMG:style_emoticons/default/aarambo.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 22:56 |