Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Struktura tabeli dla dokumentów
misiek172
post 24.09.2008, 14:56:40
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
misiek172
post 26.09.2008, 13:27:13
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 winksmiley.jpg

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
Go to the top of the page
+Quote Post
phpion
post 26.09.2008, 21:10:21
Post #3





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Cytat(misiek172 @ 26.09.2008, 14:27:13 ) *
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 tongue.gif Takie gadżety jak usuwanie kaskadowe zadziała Ci w przypadku tabel typu InnoDB.

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ć winksmiley.jpg
Go to the top of the page
+Quote Post

Posty w temacie
- misiek172   Struktura tabeli dla dokumentów   24.09.2008, 14:56:40
- - krzyszbi   ja często robię tak ze mam podobne nazwy jak w for...   25.09.2008, 11:13:19
- - misiek172   Jeszcze dzisiaj spróbuje zaprojektować coś tym pro...   25.09.2008, 11:15:05
- - nospor   join jedynie łączy tabele ze sobą przy zapytaniu. ...   25.09.2008, 20:35:09
- - Mchl   W mySQL funkcjonalne relacje obsługuje InnoDB. W m...   25.09.2008, 20:44:30
- - misiek172   dzięki ślicznie bardzo mi pomogły wasze informacje...   26.09.2008, 10:52:32
- - phpion   Ale poszalałeś z kluczami głównymi zaleca się aby...   26.09.2008, 11:15:30
- - misiek172   one same mi się potworzyły gdy stworzyłem relacje,...   26.09.2008, 11:43:28
- - nospor   @phion to nie są klucze glowne a klucze obce glow...   26.09.2008, 11:47:36
|- - phpion   Cytat(nospor @ 26.09.2008, 12:47:36 )...   26.09.2008, 12:07:16
- - misiek172   mój projekt wgrałem do bazy, włączylem PMA i przet...   26.09.2008, 11:59:20
- - misiek172   w ten sposób? Projekt DB2   26.09.2008, 12:17:51
- - nospor   Cytatwedług informacji nospor z tego co zrozumiałe...   26.09.2008, 12:18:58
- - phpion   Cytat(misiek172 @ 26.09.2008, 13:17:5...   26.09.2008, 12:25:45
- - misiek172   Ogromne podziękowania za waszą pomoc. Ma...   26.09.2008, 13:27:13
|- - piaseq   Cytat(misiek172 @ 26.09.2008, 14:27:1...   26.09.2008, 20:53:15
|- - phpion   Cytat(misiek172 @ 26.09.2008, 14:27:1...   26.09.2008, 21:10:21
- - misiek172   niestety nie mam innego wyboru, ponieważ firm...   27.09.2008, 08:07:04


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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 13:37