![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 576 Pomógł: 14 Dołączył: 9.11.2005 Ostrzeżenie: (20%) ![]() ![]() |
Hej.
Napsalem program do faktur, magazynu w php oparty na my sql - z czasem widze jednak że wiele rzeczy źle rozwiazalem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Chce sie zabrac za poprawy. Chcialem spytać o pare rzeczy : 1) Czy np warto budować jedną tabele w ktorej przechowuje faktury vat i proformy ? tworze taką strukture w której mam : TABELA DOKUMENT id_faktura rodzaj_dokumentu - ( i tutaj ewentualnie wpisywać np 1 -vat, 2 -proforma ) id_kontrahent numer miesiac rok itd Czy raczej powinno to byc w 2 tabelach proformy, vat ? 2) Jak najlepiej rozwiązać taki probiem - firma do dziś ma adres warszawska 5/44 - od jutra zmienia sie siedziba firmy na poznanska 4/55 - czyli wszystkie dokumenty do dzis maja stary adres a od jutra nowy, Dane kontrahenta trzymam w tabeli KONTRAHENT id_kontrahent nazwa adres w momencie zmiany stare dane ida w kosmos, myslalem zeby np dolozyc pole modyfikacja w ktorym bedzie data i jakos na tej podsawie operowac ktory wiersz ma byc wybrany do wyswietlenia na fakturze. Tyle narazie chcialem sie dowiedziec - bede dopisywal pytania (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
1.
Cytat Czy np warto budować jedną tabele w ktorej przechowuje faktury vat i proformy ? (nie znam sie na fakturach) Jesli Vat i proformy maja identyczne pola/dane to trzymaj w jednej tabeli z polem TYP. 2. Cytat 2) Jak najlepiej rozwiązać taki probiem - firma do dziś ma adres warszawska 5/44 - od jutra zmienia sie siedziba firmy na poznanska 4/55 - czyli wszystkie dokumenty do dzis maja stary adres a od jutra nowy, Rozumiem ze adres w fakturach nie moze sie zmieniac w czasie. Zapisuj adres kontrachenta (aktualny na dzien wystawienia faktur) w fakturze -- niby bedzie to nadmiarowa informacja (baza nieznormalizowana) ale bedzie zachowana prawidlowosc regul biznesowych (czytaj: bedzie w porzadku (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ) Ew. mozesz zrobic tak ze Kontrachent posiada wiele Adresow (dodawane wraz ze zmiana starego; kolejna tabela) i Kontrachent posiada pole (ktore jest FK do jednego z jego adresow; lub pobierasz najnowszy adres np. po dacie 'utworzenia' adresu). W rozwiazaniu z FK bedziesz mial cykliczne powiazania: Adres wskazuje na kontrachenta, a Kontrachent na jeden z Adresow. Jak zezwolisz na NULLa w aktualny_adres to powinno byc ok. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 10:29 |