Diéta adatbázis modell [zárt]

Szeretne javítani ezen a kérdésen? Adjon meg részleteket és tisztázza a problémát a bejegyzés szerkesztésével.

mysql

6 éve zárva .

Van egy kérdésem az adatbázissal kapcsolatban, amelyet jelenleg megpróbálok megtervezni. Szeretném megemlíteni, hogy kezdő vagyok, ezért kérjük, ne feledje.

Tehát a jelenleg tervezett DB-t az iskolai projekthez fejlesztett alkalmazásomhoz kell használni. Az alkalmazás egy fitneszalkalmazás lesz, amely számos funkcióval rendelkezik, de a fő hangsúly a diéták készítésén lesz, a felhasználó által szolgáltatott néhány információ alapján. Az ilyen étrend előállításához szükséges összes adatot a DB-ből fogjuk venni, például élelmiszert és tápanyagát stb.

Ezt a diétát úgy akarom felépíteni, hogy 7 napos mintadieetta legyen. Minden nap 5 étkezés lesz, és minden étkezés számos terméket tartalmaz, pl. 100 g csirkemell, 100 g barna rizs, 100 g brokkoli.

Ennek modellezéséhez készítettem egy ERD diagramot, amelyet a következő linken láthat

Amint az a képen látható, létrehoztam az Élelmiszer-asztalt, amely mindenféle ételt tartalmaz, amely felhasználható az ételek elkészítéséhez, és itt ragadok el. A modellemben külön táblázatokra bontottam, de nem tudom, hogy ez helyes-e és működni fog-e.

Abban sem vagyok biztos, hogyan hozhatom létre azt az "Étkezési táblázatot", eddig PK-ként étkezési_idet, FK-ként pedig az étkezési_idet kaptam, de képes leszek-e több étellel elkészíteni az étkezéseket, vagy 1 étkezés lesz 1 elem a következőtől: " étel "táblázat.

Hasonló a "DietTable" és a "dayOfTheWeek" esetében, itt is hasonló megközelítést próbálok megtenni, így a diet_id van PK-ként és a day_id mint FK, de ez lehetővé teszi számomra, hogy ugyanazon étrenden belül több "napos" példány legyen.

Tudom, hogy ezek a kérdések nem igazán konkrétak, de csak azt próbálom megérteni, hogyan lehet ezt modellezni, és hogy ez a megközelítés helyes-e. Működni fog-e, és vannak-e más alternatív módszerek a hasonló problémák modellezésére.

Minden segítséget vagy javaslatot örömmel fogadunk.