www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Datenbank-Modelle" - m:n Kardinalität auflösen ?
m:n Kardinalität auflösen ? < Datenbank-Modelle < Schule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Datenbank-Modelle"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

m:n Kardinalität auflösen ?: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 17:03 Mi 11.04.2007
Autor: Bit2_Gosu

Hi !

Ich habe ein ER-Modell mit den Objekttypen "Buch" und "Autor" und dem Beziehungstyp "Schreiben".

Sagen wir, wir haben eine komplexe Beziehung zwischen beiden Objekttypen, weil ein Autor mehrere Bücher schreiben kann und ein Buch von mehreren Autoren geschrieben werden kann.

Mein Info-Buch sagt, dass bei der Überführung des obigen ER-Modells in ein relationales Datenmodell eine zusätzliche Relation "Schreiben" nötig ist, da sich eine m:n Kardinalität nur durch eine Auflösung in zwei 1:n Kardinalitäten überführen lässt.

Aber wozu ??  Mein Buch hat einen Primärschlüssel "ISBN" und einen Fremdschlüssel "wurde geschrieben von", der die Autorennummer referenziert. Die Relation Autor hat also einen Primärschlüssel "Autorennummer" und einen Fremdschlüssel "hat mitgeschrieben am Buch" der die ISBN referenziert.

Klappt doch alles wunderbar !?

Wäre euch füre eure Hilfe sehr dankbar !

        
Bezug
m:n Kardinalität auflösen ?: Antwort
Status: (Antwort) fertig Status 
Datum: 21:29 Mi 11.04.2007
Autor: piet.t

Hallo,

bleiben wir doch mal bei dem Beispiel:
Douglas Adams hat "Per Anhalter durch die Galaxis" und "Dirk Gentlys holistische Detektei" geschrieben - welche der beiden ISBN-Nummern nimmst Du jetzt in Deine Autor-Tabelle auf, es gibt dafür ja nur ein Feld?
Wenn man alle Bücher drin haben will müsste man den Autor mehrfach anlegen, also unter verschiedenen Autorennummern - dann sind allerdings die Fremdschlüssel in der Buchtabelle nicht mehr klar bestmimt und ausserdem müsste man die Autoren-Daten in mehreren Datensätzen pflegen und......ich glaube das reicht erst mal.

Oder sind noch Fragen offen??

Gruß

piet

Bezug
                
Bezug
m:n Kardinalität auflösen ?: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 22:35 Mi 11.04.2007
Autor: Bit2_Gosu

Ah gut, damit hast du meine Frage eigentlich schon fast beantwortet ;)

aber kleine Gegenfrage, sagen wir wir haben nur eine 1:n Beziehung:

Objekttyp "Buch" und Objekttyp "Verlag". Ein Verlag kann n Bücher verlegen, aber ein Buch kann nur von einem Verlag verlegt werden. Sagen wir der Verlag "42" hat "Hitchhiker's Guide to the Galaxy"  und "the Restaurant at the end of the universe" verlegt.

Jetzt brauchst du in der Tabelle Verlag ja auch für jeden einzelnen Verlag beliebig viele Zeilen für alle Bücher, die er verlegt hat und der Fremdschlüssen "Verlag" in der Tabelle "Buch" ist auch nicht mehr fest bestimmt.

Dann hat man ja bei 1:n Bezihungen das selbe Problem, oder wie !?


Bezug
                        
Bezug
m:n Kardinalität auflösen ?: Antwort
Status: (Antwort) fertig Status 
Datum: 18:07 Do 12.04.2007
Autor: piet.t


> Ah gut, damit hast du meine Frage eigentlich schon fast
> beantwortet ;)
>  
> aber kleine Gegenfrage, sagen wir wir haben nur eine 1:n
> Beziehung:
>  
> Objekttyp "Buch" und Objekttyp "Verlag". Ein Verlag kann n
> Bücher verlegen, aber ein Buch kann nur von einem Verlag
> verlegt werden. Sagen wir der Verlag "42" hat "Hitchhiker's
> Guide to the Galaxy"  und "the Restaurant at the end of the
> universe" verlegt.
>
> Jetzt brauchst du in der Tabelle Verlag ja auch für jeden
> einzelnen Verlag beliebig viele Zeilen für alle Bücher, die
> er verlegt hat und der Fremdschlüssen "Verlag" in der
> Tabelle "Buch" ist auch nicht mehr fest bestimmt.
>  
> Dann hat man ja bei 1:n Bezihungen das selbe Problem, oder
> wie !?
>

Nein, denn bei der 1:n-Beziehung bekommt der Verlag gar keinen Fremdschlüssel als Verweis auf "Buch" - die ganze Beziehung wird ausschließlich durch den Verweis auf "Verlag" in der Tabelle "Buch" abgebildet - und da hat man ja kein Problem, denn pro Buch gibt es ja nur einen Verlag also auch nur einen Verweis.

Merke (gerade von mir selbst getextet, also vielleicht doch nicht so genau merken):
Der Fremschlüssel kommt immer an das Ende der Beziehung, das der 1er-Kardinalität gegenüberliegt.
Weil das bei n:m nicht funktioniert macht man daraus eben zwei Beziehungen: eine n:1 und eine 1:m mit einer zusätzlichen "Beziehungstabelle" in der Mitte.

Alles klar?

Gruß

piet


Bezug
        
Bezug
m:n Kardinalität auflösen ?: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 15:24 Fr 13.04.2007
Autor: Bit2_Gosu

Ahhhh ;)  Kapiert !

Was mich wohl verwirrt hat, ist, dass es ja durchaus die Beziehung Verlag "verlegt" Buch gibt. Nur kann man die nicht direkt in die Verlagstabelle übernehmen, weil ein Verlag, ja mehrere Bücher verlegt...

Danke !

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Datenbank-Modelle"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]