# m:n Beziehung - Tabelle richtig erzeugen



## Guest (12. Jul 2008)

Hallo,

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






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.

Kann mir jemand sagen, wie er das CREATE TABLE Statement schreiben würde?


----------



## Guest (12. Jul 2008)

Was ich damit sagen will:
Wäre nicht eher das hier 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))


----------



## semi (12. Jul 2008)

Ja, du kannst es aber nachträglich machen.
Hier das passende DDL
	
	
	
	





```
CREATE TABLE CASTING (ACTORID NUMERIC(19) NOT NULL, MOVIEID NUMERIC(19) NOT NULL, PRIMARY KEY (ACTORID, MOVIEID))
ALTER TABLE CASTING ADD CONSTRAINT FK_MOVIE FOREIGN KEY (MOVIEID) REFERENCES MOVIE (MOVIEID)
ALTER TABLE CASTING ADD CONSTRAINT FK_ACTOR FOREIGN KEY (ACTORID) REFERENCES ACTOR (ACTORID)
```


----------



## Gast (13. Jul 2008)

Ah ja, danke. Also passt meine zweite Version schon so.


----------

