Erstellung von Beziehungen - Praktische Anwendung

Hallo,

ich habe leider ein Verständnis-Problem und würde darum bitten, mir auf die Sprünge zu helfen(bitte nur Hinweise, niemand soll meine Aufgaben lösen müssen).

Datenbank 1(Autor) beinhaltet all jene Felder, welche ich eingeben kann, sodass ich ein Buch finde(Autor, Buchtitel, Kategorie, ISBN, Inhalt, Seitenzahl, Erscheinungsort- und jahr).

Datenbank 2(Verlag) weist wiederum die Attribute auf, welche in Zusammenhang mit dem Herausgeber der Werke stehe(Verlag, Homepage Verlages, Preis, Datum der Anschaffung…).

Nun möchte ich mit entsprechenden Beziehungen meine vorhanden Datenbank verknüpfen: 
Folgende Aufgaben sind durchzuführen
1.Jeder Autor kann mehrere Bücher schreiben, jedes Buch wird nur von einem Autor geschrieben.
2.Jeder Verlag kann mehrere Bücher herausgeben, jedes Buch kann von mehreren Verlagen herausgegeben werden.

Für die Erstellung der Beziehungen brauche ich ja nun Primärschlüssel- und Fremdschlüssel. Ein Primärschlüssel wäre bspw. die ISBN, denn diese ist ja unverwechselbar und kann eindeutig zugeordnet werden.

Muss ich also nun den Primärschlüssel wie bspw. die ISBN Nummer definieren(in meiner Datenbank Autor) und dann jenen Primärschlüssel als Sekundärschlüssel in der Datenbank Verlage anordnen?

Mir ist nicht ganz klar, inwiefern ich die Beziehungen in Frage 1 aufbauen kann, denn die Bücher befinden sich ja genauso wie die Autoren beide in der selben Tabelle, das ergibt mich für mich wenig Sinn.

Es geht mir nur um eine logische Abfolge und wie ich diese im Programm umsetzen könnte.

Ich bin für jeden Tipp sehr dankbar.

Hallo,

mir fehlt da zunächst mal eine Tabelle „Bücher“. Und genau bei der macht die ISBN als Primärschlüssel Sinn. Und in dieser Tabelle verweist Du dann auf einen (oder mehrere) Autoren aus der Tabelle Autoren (die angesichts möglicher Namensgleichheiten besser einen Zähler als Primärschlüssen verwenden sollte), und auf einen (die Sache mit den mehreren kann ich mir nicht vorstellen, dann müssten die Bücher unterschiedliche ISBN haben) Verlag (auch hier besser Zähler als Primärschlüssel).

Gruß vom Wiz

Moin,

Datenbank 1

Tabelle, nicht Datenbank.

(Autor) beinhaltet

Infos zum Autor, sonst nichts. Eine 2. Tabelle beschreibt das Buch, eine 3. den Verlag.

Autor (AutorId, Name, Vorname, …)
Buch (BuchId, Titel, Genre, …)
Verlag (VerlagId, Name, Sitz, …)

Mach’s gleich richtig und schreib erstmal auf, welche Beziehungen zwischen den Objekten bestehen:

1 Verlag gibt viele Bücher heraus, 1 Buch erscheint in genau einem Verlag.

Daraus folgt, dass beim Buch vermerkt wird, in welchem Verlag es erscheint:

Buch (BuchId, Titel, Genre, …, FS_Verlag)

1 Buch hat 1 oder mehrere Autoren, 1 Autor schreibt viele Bücher.

Hier liegt eine m:n-Beziehung vor, die mit Hilfe einer zusätzlichen Tabelle abgebildet wird:

Verfasser (VerfasserId, FS_Buch, FS_Verlag)

Färtsch. Noch Fragen?

Gruß Ralf

ps: Zur Nomenklatur:

Tabelle (Schlüssel, Attr1, Attr2, …, FS1, FS2, …)