• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Datenbank Starthilfe

noirlama

Neues Mitglied
Hallo,

würde gerne für eine Seite eine Datenbank erstellen, bzw brauch ich die Datenbank dringend (?). Leider habe ich aber noch nie etwas damit zu tuen gehabt, vielleicht kann mir ja jemand weiterhelfen und einschätzen ob das für einen Anfänger überhaupt machbar ist.


Was ich machen will:

Der besucher kreuzt Checkboxen an, was er für Zutaten zum Kochen zur Verfügung hat.

Dann soll die Seite ausgeben, was er aus den Zutaten alles kochen kann (und auch zu wieviel % das Rezept auf die ausgewählten Zutaten zutrifft)

Das war es eigentlich auch schon!


Ist sowas schwer?

MFG
 
Werbung:
Ist sowas schwer?
Ja!

und einschätzen ob das für einen Anfänger überhaupt machbar ist.
Ich sage mal wie es ist: Du musst dich in Datenbankdesign einarbeiten. Je besser du deine Vorabeiten erledigst, desto einfacher ist es später umzusetzen. Bei einer Datenbank kannst du nicht einfach mal so anfangen und dann später alles ändern.
Du musst also wissen welche Tabellen du brauchst und welche Felder diese Tabelle haben sollen. Du musst auch wissen was in den Tabellenfeldern gespeichert werden soll(ja/nein, nur Zahlen, ein Datum vielleicht, Text, wie lang etc.). Das sind alles Vorüberlegungen, die du anstellen solltest, bevor du die Datenbank anfasst. Das nennt man dann ein Schema. Das kannst du erst mal auf einem Blatt Papier skizzieren, wobei du jeder Tabelle vorab immer eine ID voranstellst. Die ID hat immer das Vormat INT für integer also Ganzzahl. Was Ganze Zahlen sind ist ja nun klar oder?
OK - Ganzzahlen kennst du nicht, keine Problem, dafür gibt es das Manual in MySQL und die Seite Schattenbaum.

Die Datenbank zu erstellen ist meist kein Problem, die Datenbank wird dir vom Hoster zur Verfügung gestellt, meist in Form von MySQL und mittels des Tools PHP-MyAdmin kannst du ganz einfach Felder und Tabellen erstellen. Diese Einfachheit verleitet aber gerade Anfänger, anzunehmen, es sei ja alles ganz einfach. Grantiert ist, das ein solches Vorgehen meist zur Neuerstellung einer Datenbank führt, aber so haben viele angefangen.

Die Vorarbeit, das Überlegen wie speichere ich was und wo ist die Hauptaufgabe.
Du musst also das Konzept, das hinter einer Datenbank steht verstehen. Leider gibt es dazu im Netz bislang keine gute Anleitung, da die Anforderungen an eine Datenbank sehr variieren.

Dann brauchst du Wissen in PHP. Sicher gibt es auch andere Sprachen, aber ich beschränke mich hier mal auf PHP, da es sehr verbreitet ist und sich perfekt für die Aufgaben(dynamische Webseiten) eignet.
Mit PHP greifst du auf die Datenbank zu, und erstellst deine dynamischen Seiten.

Du brauchst also umfangreiches Wissen zu HTML und CSS. HTML und CSS solltest du im Schlaf beherrschen bevor du mit Datenbanken und PHP anfängst. Damit meine ich das du nicht nachsehen musst wenn du das Element TH oder Article verwendest.

Du kannst das alles lernen aber du solltest nicht davon ausgehen das es sich in ein paar Wochen umsetzen lässt. Einige Posts hier allein zum Schema ziehen sich schon über einige Tage!

Bei Detailsfragaen helfen wir natürlich gern, aber die meiste Arbeit muss von dir kommen
 
Vielen Dank für die Antwort!

Das es länger dauern wird habe ich schon befürchtet, damit habe ich auch kein Problem. ;)

Zu den benötigten Tabellen, würde das dann so aussehen?

Tabelle A:
Zutaten
-Zucker
-Salz
-...

Tabelle B:
Rezepte
-Kuchen XY
-...

Hier handelt es sich ja nur um Text (mache keine Angabe, beispielsweise wieviel Gramm man wovon benötigt)

MFG
 
Werbung:
Und die Relation zwischen den beiden Tabellen? Es gibt für Kuchen XY ja nicht nur eine Zutat. Tabellen nennt man übrigens nicht Tabelle A und Tabelle B bei konkreten Beispielen. Mit den Zutaten ist kein Problem, das müsste schnell gehen. Was allerdings deutlich schwerer werden könnte, ist die Berechnung des Zutreffen der Rezepte mit den Zutaten. Da musst du nämlich auch Außschließungen machen und einigen Zutaten eine Priorität geben, denn wer Salz, Zucker, Sahne und Brokkoli hat, will den Brokkoli auch benutzen und kein Rezept für einen Nachtisch haben, der zu 75% zutrifft, weil nur der Brokkoli fehlt. Zu dieser Prioritätsberechnung musst du auch noch einen Typen für das Rezept definieren: Vorspeise, Hauptspeise, Nachtisch, Fischgerichte, für Zwischendurch usw. Es ist sogar möglich, dass etwas in zwei Kategorien passt.

Ich befürchte anhand deiner Beiträge, dass dein Konzept nur eine vage Idee ist und noch gar nicht ausgereift ist ;)
 
Ich habe keine Ahnung.

Du musst davon ausgehen was gibt es und wonach wird gesucht.

Wenn also jemand Salz, 2 Kartoffeln, 5 Eier, Mehl, Milch und 20 andere Zutaten zu Hause hat soll er dass dann alles anklicken müssen?
Wie sieht es bei den 3000 Gewürzen aus die es gibt?

Was wenn jemand nur noch eine Kartoffel hat, sollen dann auch Rezepte mit Pommes, Bratkartoffeln und Kartoffelbrei erscheinen?
Wie soll der Abgleich erfolgen, auch auf Gewürze wie Salz, Pfeffer und Zucker oder setzt du das voraus, dass das immer in jedem Haushalt vorhanden ist.
Ich finde die Umsetzung nicht so einfach. Mache dir Gedanken, spiel es durch und finde dein Konzept.
 
Ok, das mit den Kochrezepten war wohl ein unglückliches Beispiel *g* , ich habe das quasi nur als Platzhalter genommen um es verdeutlichen zu können, was ich mit meiner Seite später einmal vor hab.

- Bei den "Zutaten" gibt es keine Mengen angaben, die werden nicht benötigt für meine Seite, da fällt dann wohl schonmal ein größeres Problemchen weg, oder? :)

- Dann habe ich nochmal über die Tabellen nachgedacht:
Die Zutaten kommen alle ein eine Tabelle (Zutaten würde ich die dann nennen), und für jedes Rezept mach ich dann eine seperate Tabelle (Götterspeise, Kirschkuchen, ...) in welcher ich dann die entsprechenden Zutaten angeb (?)

Was mich jetzt doch verunsichert ist das mit der %-Ausgabe was Asterixus angesprochen hat, dass sieht wohl nach einem schweren Problem aus.

PS: Bin gerade auf der Arbeit, könnte sein das meine Sätze überhaupt keinen Sinn ergeben, werde es nacher korrigieren :)

MFG und Danke
 
Werbung:
Ok, das mit den Kochrezepten war wohl ein unglückliches Beispiel

Das meinte ich mit Schema. Es ist eben nicht übertragbar und da nur du weisst worum es geht kann dir keiner bei deinem Datenbankdesign helfen, weil es automaitsch in die falsche Richtung geht.
Eine Datenbank für die Rezeptur von Wundheilsalben ist eben nicht das gleiche wie eine Datenbank für die Rezeptur von Brot, auch wenn man das annehmen könnte.
 
Ich denke, du solltest dich erst mal in die Materie einlesen. Ansonsten kann das eigentlich nur in die falsche Richtung gehen.
Das muss man hier immer wieder sagen.

Leute kauf euch ein Buch!

Das erstellen von Datenbanken und der Abfragen läßt sich nicht einfach mit ein bisschen ausprobieren erlernen. Ohne fundierte Kenntnisse von Normalisierung und zumindest soliden Wissen über Joins, werden solche Projekte nur Schrott, der früher oder später euch um die Ohren fliegt oder extrem aufwändige Nachbesserung erfordert (ich spreche da aus eigener Erfahrung. Ich sitze seit einiger Zeit an einem fertigen Projekt, das ich aufgrund meiner unkenntnis fast komplett neu programmieren muss)
 
Werbung:
Zurück
Oben