[SQLITE] Datenbank - Vorgehensweise



  • Hi.
    Ich bin aufgrund der tollen neue IDE von Trolltech ( die echt erste Sahne ist ) gerade ein wenig am reinschnuppern in QT. Im Zuge dessen beschäftige ich mich mit einer Datenbank-Anwendung mit dem QSQLITE-Treiber. Mir geht es um das Design. Zielanwendung ist ein Rezeptbuch.

    Ich habe 2 Datenbanken: qChefbookAssets.db und qChefbookReceipes.db.
    Die qChefbookAssets.db enthält folgende Tabellen:

    assets: ID (INTEGER UNIQUE PRIMARY) Name (VARCHAR(50)) Description(TEXT) TypeID (INTEGER) Picture (BLOB, optional)
    assettypes: ID (INTEGER UNIQUE PRIMARY) Name (VARCHAR(50)) Description(TEXT) Picture (BLOB)

    Rezepte sollen so aufgebaut sein:

    Rezeptname
    -> Liste der Assets
    -> Photo
    -> evtl. Bewertung
    -> Beschreibung
    -> Autorenname
    -> Feld "Zusatzinfo" für den Autor für Freiformen.

    Assets stellen Dinge dar wie Zutaten, Werkzeuge usw. Eine Tabelle reicht nicht aus für ein Rezept, da ich ja mehrere Assets einfügen muss pro Rezept. Jetzt dachte ich, dass eben für jedes Rezept eine eigene Tabelle anlege und dort dann Listen über die Assets führe. Das erscheint mir aber irgendwie "nicht rund". Dabei hab ich eher ein Schlechtes Gefühl.
    Wie würdet Ihr rangehen? Was hab ich übersehen?



  • scorcher24@arbyte schrieb:

    Assets stellen Dinge dar wie Zutaten, Werkzeuge usw. Eine Tabelle reicht nicht aus für ein Rezept, da ich ja mehrere Assets einfügen muss pro Rezept. Jetzt dachte ich, dass eben für jedes Rezept eine eigene Tabelle anlege und dort dann Listen über die Assets führe. Das erscheint mir aber irgendwie "nicht rund".

    Ist es auch nicht.

    Dabei hab ich eher ein Schlechtes Gefühl. (...)

    GUT!

    1. du brauchst nur eine datenbank (mit mehreren tabellen)
    2. du machst eine tabelle "rezept_asset_link" mit "asset ID" und "rezept ID" (und ggf. noch felder für mengenangaben/verwendungszweck/sortierreihenfolge oder was auch immer), und verbindest über die deine rezepte mit deinen assets


  • Danke dir Hustbaer hast mir gut geholfen. Datenbanken sind für mich immer ein wenig ein rotes Tuch *g*.
    rya.


Anmelden zum Antworten