Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL] Jak dobrze zaprojektować bazę...
Forum PHP.pl > Forum > Bazy danych
nawasaqi
Witam serdecznie jako że słaby ze mnie programista i robię to tylko czysto hobbistycznie dla własnych prywatnych celów dlatego zwracam się do was o pomoc mam taką tabelę z danymi w excelu:

  1. IDPlatnika Nazwa_platnika ID_Odbiorcy Nazwa_odbiorcy ID_Produktu Nazwa_produktu Rodzaj_opakowania Cena Ilosc Miesiac
  2. 122 MICKEY 2342 JÓZEK 2 Pszenica worek 23 211 01.2016
  3. 138 JANEK 2333 STEFAN 2 Pszenica worek 22 22 01.2016
  4. 145 KRZYSIU 5564 KRZESIMIR 3 Żyto luz 21 11 01.2016
  5. 332 ANKA 4673 JANUSZ 4 Owies worek 18 2 02.2016
  6. 435 BOGDAN 435 BOGDAN 5 Jęczmień worek 18 33 02.2016
  7. 233 MAREK 233 MAREK 6 Kukurydza luz 25 4 02.2016


I teraz na jej podstawie chciałbym zbudować bazę danych. I teraz pytanie czy dobrze zaprojektowałem bazę danych:


Z góry dziękuję za wszelakie odpowiedzi...
trueblue
Główną tabelą powinna być tabela "zamówienie" (tak rozumiem Twoją tabelę w Excelu).
Z nią powinny być powiązane: płatnik, odbiorca, produkt. Jeśli opakowanie może być różne dla jednego produktu, to również dowiązane do głównej tabeli. Jeśli jest związane tylko i wyłącznie z produktem (1 produkt=1 opakowanie), to powiązane z tą tabelą lub można się jej pozbyć (połączyć produkt z opakowaniem).
nawasaqi
Czyli o ile dobrze zrozumiałem tak to ma wyglądać questionmark.gif:
trueblue
Tak.
stefano_F
Witam,
dodam od siebie, że "płatnicy" i "odbiorcy" można połączyć w jedną tabelę "Kontrahent".
W zamówieniu ID_Platnik i ID_Odbiorca odnosiłby się do tej samej tabeli "Kontrahent". Wówczas pomijamy dublowanie wpisów.
W tabeli excela widzę, że jest odbiorca i płatnik np. Marek z tym samym ID, więc tym bardziej wskazane jest stworzenie jednej tabeli.

PS.
W tabeli zamówienia brakuje kolumny "miesiąc", która jest w excelu, ale rozumiem że to tylko techniczne niedopatrzenie.
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.