Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Grundligende DB-Design Frage

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von jonas5511, 14 Februar 2017.

  1. jonas5511

    jonas5511 Neuer Benutzer

    Hallo Community,

    ich bringe mir gerade SQL und PHP bei und versuche eine DB zu erstellen. Ich habe bezüglich des Layouts eine Frage.

    Folgende Situation:

    Unternehmen können verschiedene Produkte über verschiedene Zeitperioden des Tages anbieten. Außerdem gibt es für manche Produkte einen vordefinierten Start- und Endtermin. Mein ER Modell sieht wie folgt aus:

    Produkt: mit PK ProduktID

    ZeitlicheVerfügbarkeit: mit PK zVID

    DateVerfügbarkeit: mit dVID

    Das Produkt hat jeweils eine n:m Beziehung zu den Verfügbarkeiten, also noch zwei zusätzlich Tabellen mit:

    Produkt_hat_ZeitlicheVerfügbarkeit: PK ProduktID und zVID

    Produkt_hat_DateVerfügbarkeit: PK ProduktID und dVID

    Ist meine Lösung so umsetzbar/ gibt es eine bessere Lösung ?

    Ist wahrscheinlich eine Basic Frage für jeden hier, da ich aber neu in der Materie bin würde ich mich über eine Betätigung, bzw. einen Verbesserungsvorschlag sehr freuen!

    Vielen Dank im Voraus.
     
  2. akretschmer

    akretschmer Datenbank-Guru

    so ganz ist nicht verständlich, was Du vorhast, ein CREATE TABLE wäre verständlicher. Wäre ich Du würde ich kein MySQL nehmen, sondern PostgreSQL und die Zeitperioden und Start- und Endtermine ganz easy mit Range-Typen wie z.B. TSRANGE etc. abbilden. Das würde alles viel einfacher machen...
     
  3. ukulele

    ukulele Datenbank-Guru

    Also umsetzbar wäre es so, es gibt aber auch Alternativen.

    a) Sind die Verfügbarkeiten alle so ähnlich das es sich lohnt mit einer n:m-Beziehungstabelle darauf zu verweisen? Leichter ließe sich das auch mit einer 1:n-Beziehung abbilden.
    b) Macht es Sinn die beiden Verfügbarkeiten in seperate Tabellen zu packen? Das ließe sich auch in einer Tabelle vereinen in dem du z.B. einen Typ für den Zeitraum in einer Spalte der Tabelle speicherst.
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden