m:n Beziehung - Tabelle richtig erzeugen

0001001

Grünschnabel
Hallo,

ich versuche gerade für folgende m:n Beziehung das korrekte CREATE Table Statement für Casting zu bauen:
mnrelationuu6.png


Hier mein Versuch:
CREATE TABLE Casting(actorid NOT NULL, movieid INTEGER NOT NULL, PRIMARY KEY(actorid ,movieid ))
Aber so ganz stimmt das glaub' ich nicht, weil in einer m:n Beziehung ja die Casting Tabelle die Primärschlüssel als Fremdschlüssel aufnehmen muss.

Wäre nicht eher das Statement richtig:
CREATE TABLE Casting(actorid NOT NULL, movieid INTEGER NOT NULL, PRIMARY KEY(actorid ,movieid ), FOREIGN KEY(actorid) REFERENCES Actor(actorid), FOREIGN KEY(movieid) REFERENCES Movie(movieid))

Hat jemand einen Tip wie das richtige Create Statement lautet?
 
Zuletzt bearbeitet:
Welches RDBMS nutzt Du denn?

Es würde so gehen zB (für das ER Diagramm):
SQL:
CREATE TABLE movie (
 movieid int not null,
 title varchar(45) null
)

ALTER TABLE movie ADD CONSTRAINT pk_movie PRIMARY KEY (movieid)

CREATE TABLE actor (
 actorid int not null,
 name varchar(45) null
)

ALTER TABLE actor ADD CONSTRAINT pk_actor PRIMARY KEY (actorid)

CREATE TABLE casting (
 movieid int not null,
 actorid int not null
)

ALTER TABLE casting ADD CONSTRAINT pk_actor PRIMARY KEY (movieid,actorid)

ALTER TABLE casting ADD CONSTRAINT
	FK_casting_movie FOREIGN KEY
	(
          movieid	
        ) REFERENCES movie
	(
	    movieid
	)

ALTER TABLE casting ADD CONSTRAINT
	FK_casting_actor FOREIGN KEY
	(
          actorid	
        ) REFERENCES actor
	(
	    actorid
	)
 
Zuletzt bearbeitet von einem Moderator:
Zurück