Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> projekt bazy
winnetu
post
Post #1





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 2.12.2005
Skąd: Brodnica :)

Ostrzeżenie: (0%)
-----


Witam,

zabieram się do przygotowania mini serwisu z menu lokali w okolicy oferujących jedzenie z dostawą do domu. Zastanawiam się w jaki sposób zaprojektować bazę danych. Każda knajpka będzie miała swoją podstronę z oferowanymi przez siebie daniami, do tego serwis zostanie wyposażony w wyszukiwarkę interesującego go dania. np. ktoś chce pizzę. Zaznacza "pizza" wpisuje interesujące składniki i cenę jaką za towar może zapłacić i wyskakuje mu lista dań spełniających określone wcześniej kryteria.

Moje pomysły na bazę:

tabela: pizza
id | nazwa_lokalu | nazwa_pizzy | skladniki | cena_m | cena_d

tabela: dania_miesne
id | nazwa_lokalu | nazwa_dania | skladniki | cena

etc...


albo

tabela: lokal_1
id | nazwa_lokalu | kategoria_menu | nazwa_dania | skladniki | cena_1 | cena_2

tabela: lokal_1
id | nazwa_lokalu | kategoria_menu | nazwa_dania | skladniki | cena_1 | cena_2

etc...


albo

tabela: lokal_1_pizza
id | nazwa_pizzy | skladniki | cena_m | cena_d

tabela: lokal_2_dania_miesne
id | nazwa | skladniki | cena


tabela: lokal_2_inne
id | nazwa | skladniki | cena

etc..



Który projekt wg Was jest najlepszy? Macie jakieś spostrzeżenia, uwagi, sugestie? Proszę o jakąś radę, podpowiedź.

Z góry dzięki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Cienki1980
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

Ostrzeżenie: (0%)
-----


Pomyśl nad rozbiciem tego na tabele słownikowe ... o ile chcesz mieć dobrą uniwersalność. Proponowałbym np
tabele składniki:
id | nazwa

tabela lokal:
id | nazwa

tabela typ_dan: ( mięsne, wegetariańskie itp )
id | typ

tabela dania
id | id_lokal | id_typ_dan

tabela dania_skladniki: (tutaj do jednego dania tyle rekordów ile składników )
id_dania | id_skladnika

Taki sposób daje Ci bardzo dużą uniwersalność oraz dowolność tworzenia dań .. nie mówiąc już o poszukiwaniu (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
winnetu
post
Post #3





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 2.12.2005
Skąd: Brodnica :)

Ostrzeżenie: (0%)
-----


Hehe, pomysł cacy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Kumam wszystko poza ostatnią tabelą.

Cytat(Cienki1980)
tabela dania_skladniki: (tutaj do jednego dania tyle rekordów ile składników )
id_dania | id_skladnika


nie bardzo widze pozniej odczytywanie np takiego rekordu:

id_dania | id_skladnika
1 | 1
1 | 2
1 | 3
1 | 4
1 | 5

i jak później wyciągnąć to przez php żeby było:
Pizza Mexicana: sos, ser, szynka, ananas, papryka, boczek

(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Ten post edytował winnetu 7.03.2008, 12:34:05
Go to the top of the page
+Quote Post
Cienki1980
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

Ostrzeżenie: (0%)
-----


Cytat(winnetu @ 7.03.2008, 12:33:30 ) *
Hehe, pomysł cacy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Kumam wszystko poza ostatnią tabelą.
nie bardzo widze pozniej odczytywanie np takiego rekordu:

id_dania | id_skladnika
1 | 1
1 | 2
1 | 3
1 | 4
1 | 5

i jak później wyciągnąć to przez php żeby było:
Pizza Mexicana: sos, ser, szynka, ananas, papryka, boczek

(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

zapytanie do bazy mniej więcej w tej treści:
  1. SELECT d.nazwa,s.nazwa FROM danie d
  2. INNER JOIN dania_skladniki ds ON d.id=ds.id_dania
  3. INNER JOIN skladniki s ON ds.id_skladnika=s.id
  4. WHERE d.id=1

mniej więcej tak:D
Potem delikatnie obrobić w php i wszystko jak być powinno (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
winnetu
post
Post #5





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 2.12.2005
Skąd: Brodnica :)

Ostrzeżenie: (0%)
-----


Dzięki, będę kombinować (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Cytat(Cienki1980)
tabela dania_skladniki: (tutaj do jednego dania tyle rekordów ile składników )
id_dania | id_skladnika


a czy w tej tabeli nie powinno być jeszcze id_typ_dan ? Trzeba później zaklasyfikować "stworzone" potrawy do odpowiednich kategorii żywieniowych.
Go to the top of the page
+Quote Post
Cienki1980
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

Ostrzeżenie: (0%)
-----


Cytat(winnetu @ 7.03.2008, 14:45:09 ) *
Dzięki, będę kombinować (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
a czy w tej tabeli nie powinno być jeszcze id_typ_dan ? Trzeba później zaklasyfikować "stworzone" potrawy do odpowiednich kategorii żywieniowych.

Może być tutaj, może być w tabelce dania_typy_dan z strukturą:
id_dania | id_typ_dania

To co zaproponowałeś jest też dobrym ( wg mnie rozwiązaniem )
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 09:40