Horst: Probleme mit Kardinalitäten

Hallo zusammen,

folgendes Konstrukt hatten wir heute in einer Vorlesung:

--------------             -----------
|Bestellkopf |             | Produkt |
--------------             -----------
        1                     1
        |                     |
        |                     |
        |                     |
       0-x                   0-1    <---- hier mein Problem
              --------------
              |Bestellzeile|   <- hat u.a. das Attribut "Menge"
              --------------

Ich verstehe die Beziehung "ein Produkt steht null- oder einmal
in der Tabelle Bestellzeile drin" nicht (Vermutlich ist schon die
Beschreibung der Beziehung falsch).

So hatte ich es bisher immer gelöst: Ein Produkt kann in mehrern
Bestellzeilen vorkommen (verschieden Menschen könnten das Produkt
gekauft haben), ich würde also eine "0-x" (CN) Beziehung dort
einsetzen. Mein Dozent ist der Meinung, dass man die Beziehungen
anders sieht: pro Bestellkopf kann in Bestellzeilen nur einmal
jedes Produkt auftauchen, kauft ein Mensch ein Produkt öfter wird
nur die Menge erhöht, deshalb die 0-1 (C) Beziehung.

Wie schlüsselt Ihr solche Beziehungen auf? und wie ist es richtig?
(letztes Jahr hat er es uns anders erklärt, dachte ich)

Mit Dank
Horst

  1. Hi,

    Ich verstehe die Beziehung "ein Produkt steht null- oder einmal
    in der Tabelle Bestellzeile drin" nicht (Vermutlich ist schon die
    Beschreibung der Beziehung falsch).

    ich (hoffentlich) schon. Das nennt man eine "1:1-Beziehung", die NULL-Werte zulaesst. Eine Sache die in der Praxis zum Beispiel benoetigt wird, wenn Leasinganfragen gehalten werden, die Leasingvertraege werden sollen. Manche Anfragen werden nicht Vertraege, manche schon. Die, die Vertraege werden, benoetigen eine eindeutige Vertragsnummer. - Oder war ich zu konkret?   ;-)

    Bei "1:n"-Beziehungen wuerde man nicht sicherstellen, dass die Vertragsnummer, die in der "Verweistabelle" schlummert, nicht mehrfach vergeben wird.

    Gruss,
    Lude

  2. Hi Horst

    So hatte ich es bisher immer gelöst: Ein Produkt kann in mehrern
    Bestellzeilen vorkommen (verschieden Menschen könnten das Produkt
    gekauft haben), ich würde also eine "0-x" (CN) Beziehung dort
    einsetzen. Mein Dozent ist der Meinung, dass man die Beziehungen
    anders sieht: pro Bestellkopf kann in Bestellzeilen nur einmal
    jedes Produkt auftauchen, kauft ein Mensch ein Produkt öfter wird
    nur die Menge erhöht, deshalb die 0-1 (C) Beziehung.

    Imho ist diese Aussage falsch, es geht immer nur um die direkte Beziehung zwischen 2 Tabellen, ohne eine dritte zu berücksichtigen. Ich bin also deiner Meinung, da gehört ein 0-n hin. Ich finde die Beziehung Bestellkopf <-> Bestellposten auch Quatsch, imho hat ein Bestellkopf in jedem Fall Bestellszeilen, sonst wird er nicht angelegt.

    Gruss Daniela

    1. Hi Daniel,

      vielen Dank für Deine Antwort, werde meinem Prof nochmal ein wenig
      auf den Zahn fühlen :o)

      Gruß
      Horst

      1. Hi Horst

        Hi Daniel,

        Bitte vergesst doch nicht immer mein a, ich heisse Daniela.
        *genervt weil es hier öfters vergessen wird*

        Gruss Daniela

        1. Hi Daniela :o)

          sorry...
          hatte es gelesen, aber dann unterwegs verloren :o)

          Gruß
          vom Hors ;o)