# Suche geeignete Datenbankstruktur



## Java_IRL (17. Apr 2008)

Hallo zusammen,

seit kurzem beschäftige ich mit Datenbanken und stehe nun vor folgendem Problem.

Es soll eine Datenbank angelegt werden, worin unter anderem eine Zutaten"liste" gespeichert werden soll.

Also beispielsweise :

Tabelle: Rezepte

*NAME* ...
Pizza Salami
Pizza Margherita

*ZUTATEN *.....
250 g Mehl, 1 EL Olivenöl ...
250 g Mehl, 15g Hefe ...

Anschließend sollen die Daten mit Java ausgelesen werden.

Mein Hauptproblem liegt nun darin, dass ich keine geeignete Struktur für diese Zutatenliste finde.
Meine erste Idee war es, eine Liste aus Tupeln, also z.B. [(250g,Mehl), ...] anzulegen, leider wird sowas, nach meinen bisherigen Versuchen, von keiner Datenbank unterstützt.

Um das jetzt nochmal zusammen zu fassen :

Ich suche also eine geeignete Struktur für gegebenes Problem, sodass ich mit Hilfe eines Java-Programms die Datenbank, besonders den "Zutatenteil" effizient auslesen kann ... und zwar möglichst die Mengenangabe getrennt von den eigentlichen Zutaten um flexibler zu sein.

Freue mich über jede Hilfe.

Viele Grüße


----------



## SlaterB (17. Apr 2008)

tja, also die Zutaten an sich sind entweder ein simples String-Attribut oder besser eine eigene Tabelle wie du ja schon halb andeutetst

dann brauchst du eine Tabelle für die Rezeptbestandteile,
in der jeder Eintrag die Zutat enthält, die Menge und vielleich noch getrennt die Einheit der Menge (g, Löffel, Stücke, LKW-Ladungen)
 + ein Link auf das zugehörige Rezept, falls das eine eigene Tabelle ist, oder wieder nur ein einfacher String

die Rezeptbestandteile musst du in einer eigenen DB-Anfrage aus der Datenbank laden oder mit einem Join mit der Rezepttabelle,
dann hast du bei JDBC erstmal nur ein schlichtes ResultSet wie bei jeder Anfrage,

es gibt da auf Java-Seite keine Strukturmöglichkeiten bei einfachen SQL, keine Listen oder ähnliches, nur ResultSets,
wie du das dann in Java-Objekten ablegst ist deine Aufgabe

mit höheren Persistenz-Frameworks wie Hibernate kann man dagegen konfigurieren, 
dass die Elemente der Rezeptbestandteile-Tabelle in dem Rezeptobjekt als Liste abgelegt werden sollen


----------



## ARadauer (17. Apr 2008)

würd ich jetzt auf die schnelle so machen...

[Rezepte]
RezeptId, NAME, Beschreibung, usw...
[Rezept Zutat]
RezeptId, ZutatId, Menge, Einheit
[Zutat]
ZutatId, Name

Bin aber kein DB Profi.

Ich würds auch 1 zu 1 in Objekten umsetzen, ein Rezept mit Beschreibung und Name hat eine Reihe von Zutaten die widerum eine Menge, eine Einheit und eine konkrete Zutat haben. Diese Zutat hat dann ebenfalls einen Namen...

die Zutat könnte man sich sparen, aber in einer Rezeptveralltung ist es vielleicht sinnvoll, alle möglichen Zutaten zu halten... dann kann man später suchen.. zeig mir alle Rezepte mit Salami und ohne Oliven .... ahhh ideen über ideen ich glaub ich mach mich mit einer Pizzarezeptveralltung selbständig.....


----------



## Guest (17. Apr 2008)

Vielen Dank für die Antworten.

Das dürfte mich weiter bringen.

Gruß


----------

