baza danych - sklep

0

Witam

Jako zaliczenie przedmiotu muszę zaprojektować bazę danych, męcze się z tym już drugi dzień;/ próbowałem zrobić bazę schroniska dla zwierząt i kliniki weterynaryjnej, ostatecznie postanowiłem zrobić prostą bazę sklepu zoologicznego:D gdyż czasu mam coraz mniej i po świętach projekt muszę oddać:D

poniżej zamieszczam schemat bazy danych, będe bardzo wdzięczny za wskazówki i rady;]

user image

0

Ciekawy pomysł, tylko jeden produkt mogę kupić na fakturę? Może jednak to jest relacja wiele do wielu? Cena_zakupu, Cena_sprzedaży, Marża? Co to niby jest? Czy te wartości nie są czasem silnie skorelowane? Nie łatwiej te Faktury połączyć sobie? Skoro są identyczne? Tylko dodać tam jakiś znacznik czy to jest faktura kupna czy sprzedaży? Czy nie możesz adresu przechowywać jako jednego pola? Korzystasz gdzieś z tych składowych adresu osobno? Może warto dodać połączenie Twowaru z Dostawcą, na wypadek gdyby coś z towarem bylo nietak?

0

Zauważ, że struktura tabeli dostawcy i klienci jest bardzo podobna, nie lepiej zrobić jedną tabelę zamiast dwóch? Podobnie sprawa wygląda z fakturami, nie lepiej trzymać dokumenty w jednej tabeli? Łączenie między fakturą, a towarami lepiej zrobić po jakimś symbolu, a nie po nazwie, nazwa może przecież nie być unikalna. Poza tym faktura zawiera tylko jeden towar... zrób tabelę na linijki faktury.

/edit: no i gdzie masz jakiś magazyn? W końcu nie będziesz chyba sprzedawał towaru, którego nie ma na stanie?

0

dzieki za pomoc, zaraz postaram się te rzeczy pozmainiać:) może mi ktoś z Was wytłumaczyć jak zrobić ten znacznik? żeby mieć jedną tebele dla faktury i żeby był rodzaj - kupna/ sprzedaży i data -zakupu/ sprzedaży

0

faktura musi być w dwóch tabelach - nagłówek, gdzie masz numer f-ry, datę sprzedaży i wystawienia, klienta, sposób i termin zapłaty oraz na pozycje, gdzie masz towar, cenę, ilość, vat, itp.
Następnie potrzebna Ci tabela stan_magazynowy, gdzie będziesz miał towar, jego partię (raz możesz kupić coś za 10zł a tydzień później za 15zł - nie możesz tego trzymać jako jednej pozycji bo stracisz info o starej cenie), ilość na magazynie i cenę. Z towaru wywalasz ceny i stan początkowy.
Klienci i dostawcy to jest jedna tabela + dodatkowe pole, które określa czy jest to klient, dostawca czy oba.
Tak samo z fakturą.

0

wstawiam poprawiony schemat

user image

robiąc go opierałem się na bazie NorthWind Traders i Waszych radach;]

@Misiekd tak jak radziłeś w miejsce faktury zakupu i sprzedaży dałem dwie tabele - zamówienia_szczegóły i zamówienia, podobnie jak było to w NorthWind

w tabeli zamówienia dopisze jeszcze : data_sprzedaży, data_wystawienia, sposób_zapłaty i termin zapłaty

moglibyście sprawdzić ten schemat, z góry wielki dzięki:))

0

Jeśli to jest schemat bazy danych to nie możesz mieć tak po prostu relacji n:m
Musisz tam mieć tabelę łącznikową. Poza tym co t za połączenie Zamówienia i Magazynu? o_O
Magazyn to chyba z Towarem się łączy...

0

wrzucam poprawiony schemat.. czy możecie mi powiedzieć co jeszcze jest nie tak;]?

user image

0

Co daje ci ta tabela magazyn? No i czemu ona ma n:m z Towarem? Na moje oko to jest 1:1, wiec jednocześnie zupełnie zbędna tabela..

0

AdamPL napisal zeby zrobic magazyn, to samo Misiekd żeby zrobić stan magazynowy. a co do relacji to masz racje, powinno byc 1:1 ;] zaraz poprawie

0

No ale twój magazyn jest bez sensu. Masz tam redundancję danych!
W magazynie powinieneś mieć Id_towaru, ilość, cenę itd, a nie dublować pola z Towaru.

0

poprawione;] proszę o sprawdzenie czy teraz jest dobrze;]

0

Między tabelą towary a magazyn masz relację 1 do 1, a przecież może być wiele różnych partii tego samego towaru, np. z różnymi datami ważności itp.

1 użytkowników online, w tym zalogowanych: 0, gości: 1