Ankündigung

Einklappen
Keine Ankündigung bisher.

Brauche eure meinung bei meiner SQL tabellenstruktur

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Brauche eure meinung bei meiner SQL tabellenstruktur

    hi, ich habe eine kleine aufgabe bekommen und zwar soll ich eine SQL datenbank erstellen und diese möglichst klug strukturieren...

    also es gibt folgende daten:
    - bäckereien (name, adresse, telefon, usw...)

    diese bäckereien beliefern bestimmte orte (plz)
    und ziel ist es u.a. wenn ich meine plz eingebe das ich sehe von welchen bäckereien ich beliefert werde und das ich eine bäckerei auswählen kann und sehe welche orte sie beliefert...
    (per php-formular usw.)

    also habe ich folgende tabellen angelegt:
    - lieferanten
    # ID
    # name
    # ...
    # ...

    - orte
    # plz
    # lieferant_id_1 (als enum, ja/nein)
    # lieferant_id_2 (als enum, ja/nein)
    # lieferant_id_3 (als enum, ja/nein)
    # ...
    # bis lieferant x


    also hat jeder lieferant eine spalte in der "orte"-tabelle wo entweder ja (für ja, er beliefert diesen ort) oder nein (für nein er beliefert ihn nicht) steht...

    die "orte"-tabelle hat alle plz's im bereich von 62000 bis 62999 gespeichert

    jetzt kommt die eigentliche frage

    ist meine lösung eine gute lösung?
    also das immer eine spalte für jeden lieferant hinzugefügt wird...

    oder ist es nicht ratsam das ganze so aufzubauen...?


    (die aufgabe hat keinen bezug zur realität oder einen realen zweck, also ist nur eine hausaufgabe)


    danke für eure meinung
    mAy

  • #2
    Hi.

    Die Tabelle 'Orte' ist etwas sperrig zu warten (neuer Lieferant => neue Spalte).

    Mach' doch einfach

    PLZ | lieferant_ID

    Dann kannst Du per array alle Lieferanten für eine bestimmte PLZ oder auch alle PLZs, die ein bestimmter Lieferant bedient, herausfinden.

    Gruss
    Andreas

    Kommentar


    • #3
      ich trage alle lieferanten in ein feld ein,
      hätte das nicht den nachteil das wenn ich alle orte die der lieferant beliefert wissen will, alle plz's abfragen muß?

      das die tabelle bei mehrern lieferanten sperrig wird hab ich mir gedacht...
      wie wirkt sich sowas auf die performance aus?


      danke & gruß mAy

      Kommentar


      • #4
        Hi.
        Zitat von mAy^daY
        ich trage alle lieferanten in ein feld ein,
        hätte das nicht den nachteil das wenn ich alle orte die der lieferant beliefert wissen will, alle plz's abfragen muß?
        ???
        Du schreibst doch (in etwa) SELECT plz FROM orte WHERE lieferant_ID=15
        Die Suche läuft also über lieferant_ID.

        das die tabelle bei mehrern lieferanten sperrig wird hab ich mir gedacht...
        wie wirkt sich sowas auf die performance aus?
        Wenn's nicht gerade 2677 Lieferanten sind wohl kaum entscheidend.

        Gruss
        Andreas

        Kommentar


        • #5
          Zitat von pleitegeier
          Hi.

          Die Tabelle 'Orte' ist etwas sperrig zu warten (neuer Lieferant => neue Spalte).

          Mach' doch einfach

          PLZ | lieferant_ID

          Dann kannst Du per array alle Lieferanten für eine bestimmte PLZ oder auch alle PLZs, die ein bestimmter Lieferant bedient, herausfinden.

          Gruss
          Andreas

          ahh ok, hab die sache falsch verstanden
          jetzt weiß ich wie's gemeint ist...


          danke für deine hilfe
          mAy

          Kommentar

          Lädt...
          X