Datenbank Forum - für Anfänger und Profis

Willkommen im Datenbank Forum von Datenbanken-verstehen.de - Das Datenbank, Data Warehouse & Business Intelligence Forum!

Das Datenbank Forum für Anfänger und Profis ist eine Community zu den Themen Datenbanken, Data Warehouse & Business Intelligence. Nimm teil an der Community von Datenbanken-verstehen.de und tausch dich mit deinen Fragen und Lösungen mit anderen Nutzern aus.

Als registrierter Benutzer genießt Du viele Vorteile, wie

  • den vollen Zugang zu allen Foren und Unterforen
  • Kostenloses Lernmaterial inkl. Lösungen zum Thema Datenbanken
  • Zugriff auf DB-Tutorials, Best Practices und SQL-Snippets

Bevor Du einen Beitrag verfassen möchtest, kannst Du dich einfach kostenlos registrieren.

oder Einloggen mit



Beachte bitte die Forenregeln von Datenbanken-verstehen.de. Wir wünschen Dir viel Spaß im Datenbank Forum! - Dein Datenbanken-verstehen.de-Team

Artikeldatenbank mit variabler Attributsliste

Ein gutes Datenbankdesign ist Pflicht! Doch wie geht man an die Datenmodellierung heran?
Hier treffen Datenbankdesign und Datenmodellierung aufeinander...

Artikeldatenbank mit variabler Attributsliste

Beitragvon tempa » Sa 26. Apr 2014, 10:14

Hallo.
Vor einiger Zeit erstellte ich eine Datenbank für ein China-Restaurant. Mit der Zeit kamen andere Restaurants und folgendes Problem tauchte auf:
Der Aufbau der "Kern"datenbank für die Artikel ist kein Problem und in der Regel gleich. Doch die Artikel der Restaurant unterscheiden sich auf nicht vorhersehbare Weise.

Zb gibt es zu einer bestimmten Artikelkategorie(Mittagsmenüs) zusätzlich eine Vorspeisenauswahl(Suppe, Frühlingsrollen,...), deren Anzahl/Art von Restaurant zu Restaurant variert.
Andere Speisen haben vereinzelt Auswahlmöglichkeiten der Beilage(zb Pommes oder Bratkartoffel).
Auch sollen Speisen optionale Zusatzartikel/Wünsche wie zb Zusatzreis oder "extrascharf gewürzt" haben.
Speisen haben auch Attribute wie Eigenschaft "vegetarisch" oder "scharf". die angezeigt werden sollen.
Und einiges mehr...
Da es keinen Sinn macht, die db-Struktur für jeden Kunden zu modifizieren,
habe ich derzeit folgendes Verfahren:

Tabellen mit den Kerndaten
und eine Tabelle "Attribute", die ich mit den Kerndaten verknüpfe


DB "Attribute"
---------------------------------------------------------
| id | Attributbeschreibung | Attributwert
---------------------------------------------------------
| 1 | Speiseneigenschaft | scharf
| 2 | Speiseneigenschaft | vegetarisch
| 3 | Vorspeise | Misosuppe
| 4 | Vorspeise | Frühlingsrolle
| 5 | Portionsgrösse | grosse Box
| 6 | Portionsgrösse | kleine Box
| 7 | Beilage | Bratkartoffel
usw

Bei Bedarf erweitere/modifiziere ich diese db.
Das funktioniert gar nicht schlecht.
Anpassungen muss ich nur noch in der Konfiguration der View und bei der Konfiguration des Warenkorbs machen.

Die Struktur bedriedigt mich aber nicht.
Auch die nachträgliche Auswertung, zb welche Vorspeise wie oft gewählt wurde, ist nicht besonders gut gelöst.
Zur Zeit schreibe ich all die variablen Bestandteile des bestellten Artikels in ein Feld "titel" des Bestellposten, also zb "Hühnerfleisch süß sauer 'Suppe','Extrareis','besonders mild gewürzt'".

Da hoffe ich, gibt es elegantere Lösungen.
tempa
 
Beiträge: 3
Registriert: Sa 26. Apr 2014, 08:50

Re: Artikeldatenbank mit variabler Attributsliste

Beitragvon RainerH » So 27. Apr 2014, 09:00

Hallo tempa,

herzlich willkommen im Forum. Schön wieder ein neues Gesicht hier zu sehen :

Zu deiner Frage:
Hast Du schon bemerkt, dass in deiner Tabelle "Attribute" Redundanzen vorhanden sind?
Hilfreiche wäre auch ein ER-Modell von deiner Datenbankapplikation, um das Problem für andere besser zu beschreiben.

Beste Grüße,
Rainer
Nimm NICHTS persönlich -- alles ist Feedback...
RainerH
 
Beiträge: 221
Registriert: Fr 1. Nov 2013, 17:58

Re: Artikeldatenbank mit variabler Attributsliste

Beitragvon tempa » So 27. Apr 2014, 12:50

Danke, für die Begrüssung :)
Die Redundanzen sind bekannt. Da die aktuellen Attribute sehr übersichlich in ihrer Zahl sind, verzichte ich derzeit wegen Übersichtlichkeit auf eine weitere Tabelle.

Ein ER-Modell würde meiner Ansicht nach vermutlich nichts zur Klarheit beitragen.

Vielleicht versuche ich es so:

Ich habe Artikel. Die Kerndaten dieser Artikel sind ziemlicher Standard(Artikelcode, Bezeichnung, etc)
Diese Artikeldb ist für meine Kunden gleich und wird in der Regel nicht mehr angepasst.
Allerdings hat jeder Kunde kleine Extras, Abweichnungen.
zb jeder Kunde hat das Mittagsmenü "Hühnerfleisch süß sauer"

Kunde 1 hat dazu als Vorspeise zur Auswahl:
Misosuppe
Frühlingsrolle

Kunde 2 hat dazu als Vorspeise zur Auswahl:
Misosuppe
Mini-Frühlingsrolle

Kunde 3 hat möglicherweise 5 ganz andere Vorspeisen

Dh ich hab einen Artikel "Hühnerfleisch süß sauer", mit dem ich eigentlich ganz banal und einfach arbeiten kann.
Doch meine Kunden bieten in der Regel zu diesen Standardartikel "Zusätze" an. Der eine 3 Vorspeisen, der andere 5 Vorspeisen, ein andere bietet den Zusatz zb "extra scharf", oder "mild gewürzt" an.
Diese Zusätze sind für mich nie voraussehbar bei neuen Kunden. Zb kann eine neuer Kunde bei bestimmten Gerichten nicht nur Vorspeisen, sondern auch verschiedene kostenlose Bonusgetränke anbieten.Oft werden bei dem Artikel auch von Restaurant unterschiedliche Portionsgrössen angeboten.

Ich muss eine DB_struktur haben, die offen,erweiterbar ist und eine und alle "Optionen" für einen Artikel hat.
Angezeigt werden diese Optionen in der Artikelliste. Dort müssen diese Optionen so eingebaut werden, das beim Auswählen in den Warenkorb die Artikel unterscheidbar sind.

Also im Warenkorb ist "Hühnerfleisch süß sauer mit Misosuppe" ein anderer Artikel als "Hühnerfleisch süß sauer mit Frühlingssuppe", obwohl beide in der reinen Artikeldb natürlich gleich sind.

Angedacht ist weiteres eine wesentlich flexiblere Struktur.

Also zb der Artikel "Kaffee". Diesem speziellen Artikel zugeordnet sind die Extras "Zucker" und "Sahne".
Der Kunde könnte eine Artikelübersicht sehen und alle Zusatzleistungen und Extras. Er könnte das Produkt "konfigurieren". Also den Standardartikel "Kaffe" durch 2xClicken auf den Button "Zucker" zum Produkt "Kaffe mit 2xZucker" machen. Ein anderer Kunde erzeugt das Produkt "Kaffee it 1xZucker und 1xSahne"

Die Offenheit und Erweiterbarkeit ist derzeit, was mich umtreibt. Es sind neue Geschäftsfelder angedacht und da wäre eine Erweiterbarkeit toll.

Eine Artikeldatenbank, die als Kern dient und ziemlich 08/15 ist. Optionen, die je nach Artikel anders sein können, bzw nach Kunden. Diese Optionen müssen angezeigt werden können und das Produkt konfigurierbar machen. Der bestellte Artikel und seine Modifikationen müssen dann abgespeichert werden und statistisch ausgewertet werden können.

Das Problem ist also eine einfache Erweitung mit noch nicht vorhersehbaren Optionen und eine (elegante) Struktur und den nun modifzierten, bestellten Artikel statistisch auswerbar zu machen

Tut mir leid, besser kann ich es nicht erklären :)
tempa
 
Beiträge: 3
Registriert: Sa 26. Apr 2014, 08:50

Re: Artikeldatenbank mit variabler Attributsliste

Beitragvon RainerH » So 4. Mai 2014, 11:04

Hey tempa,

ok, jetzt habe ich es verstanden (glaube ich).

Dein Vorschlag mit der 08/15-Tabelle ist gar nicht so abwägig.
Bau doch eine Tabelle "Variationen", wo entweder alle Variationen aller Kunden enthalten sind und dann per
Recht ausgelesen werden. Die zweite Variante wäre auch eine neue Tabelle, wo Du dann pro Kunde ein Insert-Skript für die Datenbank erstellst und die jeweiligen Daten einfügst.

Dann hättest Du deine Speißen + eine Bridge-Table, wo du beliebig viele Extras auf die Speißen buchen kannst.

Wenn das jetzt nicht ganz verständlich war, dann sag Bescheid^^
Nimm NICHTS persönlich -- alles ist Feedback...
RainerH
 
Beiträge: 221
Registriert: Fr 1. Nov 2013, 17:58

Re: Artikeldatenbank mit variabler Attributsliste

Beitragvon tempa » So 4. Mai 2014, 14:39

Vielen Dank,
ich bin für jede Diskussion und jeden Denkanstoß dankbar.
tempa
 
Beiträge: 3
Registriert: Sa 26. Apr 2014, 08:50

Re: Artikeldatenbank mit variabler Attributsliste

Beitragvon RainerH » So 4. Mai 2014, 16:27

Falls Du dich für eine Lösung entscheidest, dann poste bitte diese Lösung auch hier,
damit auch andere an deinem neuen Wissen teilhaben können.

Gruß,
Rainer
Nimm NICHTS persönlich -- alles ist Feedback...
RainerH
 
Beiträge: 221
Registriert: Fr 1. Nov 2013, 17:58

Re: Artikeldatenbank mit variabler Attributsliste

Beitragvon Micha » Di 20. Mai 2014, 13:55

Mich würde die Lösung auch interessieren...
Micha
 
Beiträge: 129
Registriert: So 3. Nov 2013, 12:13


Zurück zu Datenbankdesign und Datenmodellierung

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

  • Jetzt Fan werden
  • Newsletter abonnieren? Hier anmelden!

    Alle Informationen aus dem Portal, Blog und Forum in einem Newsletter!

    E-Mail-Adresse: