Frage zur Struktur einer DB Tabelle

boby

Grünschnabel
Hi Leutz,

kann mich nicht entscheiden, wie die Struktur einer Tabelle aussehen muss, hoffentlich hilft mir jemand, das Problem zu lösen.
Per HTML-Formular sollen einige Daten eingegeben und verschickt werden.
Ein Anbieter kann für jedes seiner Online-Produkten verschiedene Tarifmodelle anbieten, die er im Formular per checkboxes auswählen kann. Dabei kann es passieren, dass er für ein Produkt nur ein Tarifmodell auswählt, oder aber 5-6.
Ich würde für jedes Tarifmodell ein Boolean-Feld in der Tabelle "Produkt" erstellen, und es auf true/false setzen, falls das Modell ausgewählt/nicht ausgewählt wurde. Ein Problem, was entstehen könnte ist, dass falls später neue Sätze in die Tabelle "Tarifmodelle" eingefügt oder gelöscht werden, die Struktur der Tabelle Produkt betroffen wird.

Würde mich freuen, wenn jemand eine bessere Lösung für mich hat.

Gruss und Danke,
Boby
 
Was Du beschreibst ist eine n:m-Bezihung.

Es kann (in Zukunft) beliebig viele Tarifmodelle geben und es kann beliebig viele Produkte geben.

Jedes Tarifmodell kann in mehreren Produkten auftauchen und jedes Produkt kann mehrere Tarifmodelle beinhalten.

m:n-Beziehungen bildet man in relationalen Datenbanken mit drei Tabellen ab.
Die jeweiligen Datentabellen beinhalten die spezifischen Daten zu einer Entität (hier: Produkte und Tarifmodelle).
Dazu kommt einer weitere Tabelle zur Verknüpfung, die von jeder Entität den Primärschlüssel enthält. Dazu können ggf. weitere Attribute der Beziehung kommen, wie zum Beispiel bei einem Warenkorb eines Shop die Anzahl eines bestimmten Produkts in einem bestimmten Warenkorb.

Eine gute Einführung zu Datenbank, SQL und Datenbankdesign hat Andreas Kelz geschrieben. Er beschreibt auch Beziehungen zwischen Tabellen.

Gruß hpvw
 
Zurück