Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sklep internetowy
Forum PHP.pl > Forum > Bazy danych
codename
Witam,
Potrzebuje napisać (na studia) sklep internetowy... O ile nie mam problemów z zaprogramowaniem całości, o tyle z bazą danych pojawia się problem nastepujacy: ja uważam, że sklep powinien dawać możliwość przegladania produktów oraz składania zamówień na nie i generować zamówienie, wykładowca uważa, że powinien zawierac jeszcze fakturę sprzedaży, paragon, oraz faktury zakupu od dostawcy bo przecież skądś musielismy nabyć pewne towary.

Niech będzie, że przyjmuje opcje drugą (ile to mozna walczyć, że dane o fakturach zakupu i sprzedaży zaimportuje i wyeksportuje w formie XML do CDN Optima lub do Subiekta czy czegos innego).

Mam takie tabele jak: magazyn, opis(tutaj trzymam opisy), pozycje zamówienia, wartość zamówienia, zamówienie, klient, adres dostawy, rodzaj płatności, sposób dostarczenia.

Muszę zrobić jeszcze... fakturę, oczywiście zrobię dokument faktura, który bedzie gromadził dane z zamówienia ale uwaga... Jedno zamówienie, moze mieć dwie faktury jeśli np, zamówienie wysyłamy "rozkompletowane".

Czy ktoś może ma model konceptualny takiego sklepu? A może czegoś tutaj brakuje? Moze czegoś jest za dużo? Może o czyms zapomniałem myślac nad tym sklepem? Proszę o porady, sugestie, jakies drobne rozwiazania. Nie oczekuje całego gotowego schematy, ale jesli ktoś ma przykłady, poproszę.
calebos
Lepiej zabierz sie za pisanie to wbrew temu jak prosto brzmi w cale nie jest takie proste.
Tabele same przyjda Ci do glowy w miare tworzenia ich po kolei.

Na potrzeby szkolne chyba wystarczy ze bedziesz mial 3 tablice glowne tj TOWAR,KLIENT,ZAMOWIENIE.
codename
Otóż na potrzeby "szkolne" jak to nazwałeś mi by to pewnie wystarczyło, na potrzeby studenckie związane z pracą inżynierską już mi to nie starczy.
Jeśli chodzi o to, że tabele same przyjdą do głowy... to przyszły, tylko czy właściwe? Dlatego napisałem post.
Cysiaczek
Zatem tabela faktur do tabeli zamówień pozostaje w relacji wiele do jednego. Zapisujesz 2 rekordy odnoszące się do jednego zamówienia. W kodzie obsługujesz to normalnie. Ja nie widzę tu problemu. Analogicznie, jeśli potrzebujesz zapisać dokument w pliku, to nadaj mu dobra nazwę. Np wg. wzoru: [idZamówienia]_faktura_[numer].[rozszerzenie]

Pozdrawiam
codename
Więc... zrobię relację: wiele faktur <do> jednego zamówienia... tą relację mam.
Czy zatem takie tabele jak: klient, sposób płatności, wartość zamówienia, pozycje zamówienia, też podłączyć do faktury? Bo jakby nie było te dane powinny się na niej znaleźć.
W ten sposób połączę tabele: klient, sposób płatności, wartość zamówienia, pozycje zamówienia do tabeli zamówienia i do tabeli faktury... w dodatku będę miał faktury połączone z zamówieniami...
Pod zamówienia podłączę jeszcze dodatkowo np. rodzaj dostawy i koszt dostawy (coś czego nie fakturuje).

A co z procesem zasilania mojego magazynu? Dokumenty/tabele w postaci faktur zakupu powinienem stworzyć? Czy mogę ograniczyć się do: pozycje zakupu, faktura zakupu, dostawca?

Dziękuję wszystkim za odpowiedzi ponadto...
calebos
Naprawde duzo mozesz tu natworzyc tablic ale generalnie trzeba trzymac sie mniej wiecej takiego schematu
TABLICA_TOWAROW -> TABLICA_MAGAZYN -> TABLICA FAKTURY

Dodajesz towar do bazy potem dostajesz jego stan na magazyn i ustawiasz flage aktywna na tym stanie magazynowym z jakims timestampem zmiany.
Jesli kupujesz towar to dodajesz do tablicy faktur wpis z ID_TOWARU oraz rodzaj faktury (sprz,kupn) , na podstawie tego ID_TOWARU aktualizujesz stan magazynowy.
Chciac miec historie tego co sie dzialo na magazynie musisz ustawiac flagi na wpisach w magazynie tak ze w momencie aktualizacji pobierasz info o stanie danego dowaru a nastepnie zmieniasz wszystkie flagi dla wpisow z ID_TOWARU=1 na nieaktywne potem dodajesz nowy wpis z aktualizowanym stanem ilosciowym i informacja z ktorej faktory to wynika.

Taki schemat mozna stosowac do wszystkich procesow jakie zachodza. Nie mieszaj sobie zamawiania z wnoszeniem czegos na stan magazynowy to zupelnie co innego. Do powyzszego dokladasz sobie tabele zamowienia gdzie masz info jaki towar zamawiasz/sprzedajesz i przy pomocy dodatkowej tabeli zamowienia-> fakutry robisz relacje. Może sie np zdazyc ze do jednego zamowienia dostaniesz 2 faktury bo akurat tak wyszlo dostawcy albo gosc tego samego dnia walnie dwa zamowienia na jakies towary i bedziesz mial 2 faktury w zasadzie to tego samego.

Nie wiem czy o to Ci do konca chodzilo.
codename
Wielkie dzięki za odpowiedź, tak, dokładnie o coś takiego mi chodziło... z resztą dostałeś za to punkt bo wskazówka cenna a raczej potwierdzająca mój tok myślenia który cały czas się rozwija... i tym sposobem doszedłem do kolejnej kwestii...

Otóż... z MAGAZYNU wyszły jakieś POZYCJE ZAMÓWIENIA i mam ZAMÓWIENIE... (duże literki to tabele oczywiście)...

Zgodnie z poprzednimi postami: do jednego zamówienia może być kilka faktur więc rozumiem że powinienem zrobić relację 1:n (ZAMÓWIENIE - FAKTURA), zgadza się?
Kolejna rzecz: do ZAMÓWIENIA podpinam takie tabele jak: UWAGI, KLIENT, ADRES DOSTAWY, RODZAJ PŁATNOŚCI, RODZAJ DOSTAWY. Do faktury podepnę tylko te tabele które faktycznie są mi potrzebne czyli: KLIENT, UWAGI, RODZAJ PŁATNOŚCI... bo chyba te są podstawowe na fakturze, reszta z ZAMÓWIENIA jest do mojej informacji jak to dalej sfinalizować.

Chciałbym jednak mieć jeszcze coś takiego jak: SUMA ZAKUPÓW (zarówno na ZAMÓWIENIU jak i na poszczególnych FAKTURACH), tylko czy jest sens robić coś takiego, jeśli tak to jak i gdzie to powiązać, czy... tak na dobrą sprawę nie jest mi potrzebna tabela bo używając odpowiednio "select'a" sobie to wszystko wyciągnę i on-line klient zobaczy to co ma zobaczyć a w bazie nie ma sensu tego przechowywać?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.