Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL][SQLite][MySQL] logiczne pytanie o baze danych
Forum PHP.pl > Forum > Przedszkole
eminiasty
Pytanie czysto teoretyczne wiec to co bedzie ponizej bedzie wymyslane na biezaco:

Zalozmy ze mamy taka prosta baze danych:
Tab_przepis
Id/nazwa/kat...
Ex. 1/kurczak w ciescie/mieso

Tab_skladnik
Id/nazwa/ile/miara/wart_energetyczna
Ex.
1/ogorek/100/gram/55
2/sol/100/gram/774

Czyli baza skladnikow i potraw.

Zalzmy ze chcemy teraz do jakies potrawy dac skladniki np do naszego kurczaka w ciescie.

Tworze nowa tabele bo chyba tak trzeba?

Tab_skladnik_check
Skladnik_id/miara_id(zalzmy ze bedzie tabela miar. Wczesniej tego nie napisalem)/ ile/wart_energ

Czyli.

1/1/600/6448

1- symbolizuje id produktu
1- symboliduje id miary zalyzmy ze to gramy
600- to ilosc
6448 - wartosc energetyczna

I tu pytanie
Kazdy skladnik ma bazowa miare i ilosc zapisana w tabeli skladnik zalzmy ze te 100 gram.

Czy robiac tabele skladnik_check da sie wyliczyc ilosc np wartosci energetycznej na podstawie ilosci danego skladnika podanej w tabeli skladnik_check. Nie baczac na to ze sam skladnik jeat z innej tabeli?

Czy probuje to zle rozwiazac czy wrecz przeciwnie moje myslenie jest poprawne.
d0m1n1k_
Bawiłem się w czymś takim przy budowie serwisu foodfromfridge.com (sory za kryptoreklamę).

Podstawowymi tabelami powinny być:
1. Jednostki miar;
2. Produkty (w tym możesz mieć ustaloną domyślną jednostkę miary przez id dla każdego produktu oraz wartość energetyczną dla jednej jednostki miary);
3. Składniki potrawy (i tu masz id produktu, ilość, jednostka miary, id potrawy)
4. Potrawa (id, nazwa, czas przyrządzania, inne istotne kolumny)

No i teraz możesz olać tworzenie dodatkowej tabeli w której zapiszesz wartości kaloryczne dla potrawy, zamiast tego robisz proste mnożenie dwóch kolumn czy to w zapytaniu MySQL czy też w PHP'ie.

O takie coś Ci chodzi do tej pory?
eminiasty
Pyt tylko czy wart energ kalori itp itd(tych wyliczonyvh wart) nie trzeba przechowywac w tabeli skladnika (dla kazdego skladnika) a potem odczytywac z bazy. Czy to juz bedzie redundancja?
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.