![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 656 Pomógł: 3 Dołączył: 26.10.2005 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam mała łamigłówkę i pomyślałem, że poproszę o pomoc bardziej doświadczonych w aplikacjach internetowych. Pisze program do księgowości i magazynowania, mam problem, jestem na etapie zaprojektowania tabeli baz danych dla dokumentów, zaczynam pierw od Faktury, cały formularz jest już gotowy. Problem leży w tym, że chce zrobić ją aby była jak najbardziej wygodna do zapisu i odczytu. Dane z faktury będą również używane przy innych dokumentach i odwrotnie, np. wystawianie Faktury na podstawie WZ (wydane na zewnątrz). Jak mają nazywać się kolumny w tabeli aby były wygodne? Tak jak pola w formularzu? Nie wiem jak dobrze wytłumaczyć mój problem. Ogółem proszę o zasugerowanie struktury tabeli w MySQL dla przechowywanie dokumentów. Pozdrawiam, Łukasz. PS: Jak najlepiej przechowywać tablice w MySQL? Serialize odpada bo nie potrzebnie dużo zajmuje i krzaczy się ze znakami typu: " \ etc. -------------------- zmoderowano - waga i rozmiar
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 656 Pomógł: 3 Dołączył: 26.10.2005 Skąd: Częstochowa Ostrzeżenie: (0%) ![]() ![]() |
Ogromne podziękowania za waszą pomoc. Macie duże piwa za to, jak was kiedyś poznam to zapraszam do pubu
![]() Pozdrawiam, Łukasz. edit: kurcze stworzyłem baze z referencjami ON DELETE CASCADE i nie ważne czy usune FV czy klienta i tak nie usuwa jedno drugiego, a według manuala opcja CASCADE, powinna dzialac tak ze jezeli usune FV, usunie się klient. Dlaczego tak nei jest? Jaka opcja jest na to ze jezeli faktura ma id klienta 1, to nie mozna klienta o takim id usunac z bazy? Ten post edytował misiek172 26.09.2008, 13:41:57 -------------------- zmoderowano - waga i rozmiar
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
i nie ważne czy usune FV czy klienta i tak nie usuwa jedno drugiego, a według manuala opcja CASCADE, powinna dzialac tak ze jezeli usune FV, usunie się klient. Dlaczego tak nei jest? Jaka opcja jest na to ze jezeli faktura ma id klienta 1, to nie mozna klienta o takim id usunac z bazy? Usuwanie kaskadowe działa na tej zasadzie, że jeżeli faktura ma klucz obcy w postaci user_id odnoszący się do tabeli użytkowników to usunięcie użytkownika usuwa wszystkie faktury z nim powiązane. Odwrotnie relacja nie działa tj. usuwając fakturę nie usuniesz klienta. Dlaczego Ci to nie działa? Zakładam, że typy tabel to MyISAM. W MyISAM relacje to w zasadzie ściema ![]() Ostatni Twój problem: zablokowanie usunięcia klienta, który ma nieopłaconą fakturę rozwiązałbym za pomocą triggerów, aczkolwiek w MySQL triggery są takie, że można sobie je wsadzić ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 13:37 |