Datenbankanwendung, Tabellenaufbau
-
Hallo,
ich möchte gerne eine Kochrezeptverwaltung aufbauen, bin mir hier aber noch ziemlich unschlüssig, wie man die Tabellen am Besten aufbauen muss. Ich möchte später nach den einzelnen Zutaten suchen können, und auch die Zutaten von z.B. 4 Personen auf 1 Person, etc. umrechnen können. Was sollte ich hier alles beachten?
Viele Grüße,
Martin36
-
Ach das schonwieder, das hatten wir doch unlängst erst
- Gerhin einschalten
- Bissi Eigeninitiative zeigen
- http://www.gidf.de
- http://wikidf.de
- http://de.wikipedia.org/wiki/ER-Diagramm
- http://de.wikipedia.org/wiki/Normalisierung_(Datenbank)
...
Und natürlich: stell spezifische Fragen, dann bekommst du eher Antworten.
-
Hallo,
vielen Dank für Deine Antwort. Im großen und ganzen kenne ich mich mit Datenbanken, Normalisierungen, etc. aus, aber gerade in Bezug auf die Sache mit den Zutaten und Mengenangaben und dem Umrechnen, Suchen können bin ich mir jetzt echt unsicher, wie ich das machen soll ... Hier wäre ich Euch für jeden Tipp, Hinweis dankbar.
Viele Grüße,
Martin36
-
Dann schreib mal ansatzweise wie du dir das Datenmodell vorstellst, und wo genau du Probleme hast.
Konkrete Fragen...Was Umrechnen angeht ein Tip: wenn man das intelligent machen will muss man wohl einigen Aufwand betreiben. Angenommen wir haben ein Rezept mit einem Ei für vier Personen. Wie willst du das für eine Person umrechnen? Das Problem ist hier IMO eher grundsätzlicher Natur, nicht die technische Umsetzung.
Wenn es OK ist dass das Programm für eine Person dann 1/4 Ei anzeigt, dann sollte es trivial sein. Du musst halt z.B. die "Art" (z.B. "Mehl"), die Einheit (z.B. "gramm") und die Menge (z.B. 250) getrennt abspeichern, und für die Menge einen Datentyp wählen der sich dividieren lässt (int, float, decimal, ...).
Wenn du willst kannst du deine "dividier-Funktion" auch etwas schlauer machen, so dass sie z.B. 1kg/4 nicht 0,25kg sondern 250g macht. Sollte nicht so das Problem sein. Hat auch mit der DB nix zu tun, das ist dann einfach eine Funktion des Programms.