• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Tworzenie bazy danych sklepu spożywczego.

VPS Starter Arubacloud
+1 głos
1,759 wizyt
pytanie zadane 4 maja 2021 w SQL, bazy danych przez Arek04 Użytkownik (700 p.)
Tworzę bazę danych sklepu spożywczego, jako projekt do szkoły. Mam nieco obaw, czy aby na pewno wszystko logicznie trzyma się ładu i czy mogę już przepisywać diagram jako kod w SQL. Nie mam też pewności co do relacji pomiędzy tabelami.

Zwłaszcza mam pytanie o możliwość składania zamówienia przez klienta, które obejmowałoby więcej niż tylko jeden produkt. Jak powinienem to zaimplementować na diagramie? Chodzi mi o to, aby potem móc sprawdzać wszystkie dane dokładnie w taki sam sposób jak w przypadku zamówień na pojedyncze produkty (ilość, typ produktu, nazwa, cena itd.). Link do imgura z diagramem: https://imgur.com/waGBDYU

 Z góry dziękuję :)
komentarz 4 maja 2021 przez tkz Nałogowiec (42,000 p.)
Schemat jest błędny. Trzymaj się tego, by nazwy tabel były pisane w liczbie pojedynczej. Tabela podrzędna zaczyna się od tabeli nadrzędnej, język polski nie jest najlepszy do tego typu zabiegów, ale tak powinno się pisać. Masz tabele product, i product_type, nie type_product.

Klient może, nawet nie, że może, on musi mieć tylko jedno zamówienie?
To samo tyczy się tabeli zamówienie<=>produkt.
Dlaczego produkt jest opcjonalny w zamówieniu? Albo jest, albo go nie ma. Tyle.

Ogólnie tabel jest za mało. Cena nie ma nic wspólnego z typem produktu. Pensja z pracownikiem również(akurat w tym kontekście, po co to tam trzymać?). Nie traktuj jednej tabeli jako zbiornika na wszystko, co kojarzy Ci się z jej nazwą. Dobrze chociaż, że trzymasz się jednej konwencji ERD.
komentarz 4 maja 2021 przez Arek04 Użytkownik (700 p.)
Właśnie zastanawiałem się jak zrobić relacje pomiędzy klientem a zamówieniem w drugą stronę. Mianowicie - teraz zamówienie może mieć tylko jednego klienta, nie więcej, nie mniej. To chyba ma sens. Tylko, że ja również chciałem zrobić tak, że klient może mieć kilka zamówień. Myślałem, że coś jest nie tak, bo to dziwnie wyglądało na diagramie. Tutaj link do poprawionego: https://i.imgur.com/CKkXSQn Czy o to chodzi?

A teraz mimo, że diagram pozwala na kilka produktów w jednym zamówieniu, to jak powinienem to zrealizować? Chodzi mi o to, że nie wiem jak zapisać kilka produktów do jednego zamówienia, skoro w tabeli jest tylko jedna kolumna na produkt.
komentarz 4 maja 2021 przez tkz Nałogowiec (42,000 p.)
Dlaczego używasz encji "opcjonalne"? Bo jak dobrze widzę, używasz notacji Martina?

Niech produkt trzyma id zamówienia. Patrząc na to mam takie "och, trochę za dużo, pomieszane to wszystko". Zrobiłbym tak, że mam produktu i wszystko, co podlega pod produkt, zawiera id tego produktu.

W ogóle masz dwie encje klient <=> zamówienie.
komentarz 5 maja 2021 przez Arek04 Użytkownik (700 p.)
Tyle udało mi się wymyślić. Wydaje się, że wszystko trzyma się kupy. Link: https://i.imgur.com/2AIubPy

Mam tylko jeszcze pytanie - jak mogłoby to w bazie danych wyglądać, że wyświetla się rekord zamówienia, w którym jest zamówiony więcej niż jeden produkt? Bo nie umiem sobie tego wyobrazić jak wyłuskiwać wszystkie dane na temat każdego z tych produktów w jednym zamówieniu.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
2 odpowiedzi 2,404 wizyt
pytanie zadane 21 października 2019 w SQL, bazy danych przez Kamilu01 Nowicjusz (120 p.)
+1 głos
3 odpowiedzi 360 wizyt
pytanie zadane 5 lipca 2020 w HTML i CSS przez Paweł Sypek Początkujący (440 p.)
0 głosów
1 odpowiedź 1,794 wizyt
pytanie zadane 28 kwietnia 2017 w SQL, bazy danych przez Caesar Początkujący (310 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...