Altro sta bene questo esercizio? non so se ho scritto correttamente i rapporti 1:1, 1:n e n:n;

giorgiaa

Utente Iron
7 Dicembre 2020
1
1
0
7
CREATE TABLE FILM
(
ID INT PRIMARY KEY,
TITOLO VARCHAR(100) NOT NULL,
ANNOPRODUZIONE INT NOT NULL,
NAZIONALITA CHAR(3) NOT NULL,
LINGUA VARCHAR(50) NOT NULL
);


CREATE TABLE SUPPORTO
(
ID INT PRIMARY KEY,
POSIZIONE VARCHAR(50) NOT NULL,
TIPOSUPPORTO VARCHAR(50) NOT NULL
);



CREATE TABLE REGISTA
(
CODICE INT PRIMARY KEY,
COGNOME VARCHAR(50) NOT NULL,
NOME VARCHAR(50) NOT NULL,
DATAN DATE NOT NULL,
LUOGON VARCHAR(50) NOT NULL
);



CREATE TABLE ATTORE
(
CODICE INT PRIMARY KEY,
COGNOME VARCHAR(50) NOT NULL,
NOME VARCHAR(50) NOT NULL,
DATAN DATE NOT NULL,
LUOGON VARCHAR(50) NOT NULL,
FOTO BLOB
);

CREATE TABLE REGISTRATO
(
IDFILM INT NOT NULL,
IDSUPPORTO INT NOT NULL
);



CREATE TABLE DIRIGE
(
IDFILM INT NOT NULL,
CODICEREGISTA INT NOT NULL
);


CREATE TABLE RECITA
(
IDFILM INT NOT NULL,
CODICEATTORE INT NOT NULL
);


/*Film REGISTRATO SUPPORTO*/
ALTER TABLE REGISTRATO
ADD CONSTRAINT PRIMARY KEY PK_REGISTRATO(IDFILM,IDSUPPORTO);

ALTER TABLE REGISTRATO
ADD CONSTRAINT FOREIGN KEY FK_REGISTRATO_FILM(IDFILM)
REFERENCES FILM(ID);

ALTER TABLE REGISTRATO
ADD CONSTRAINT FOREIGN KEY FK_REGISTRATO_SUPPORTO(IDSUPPORTO)
REFERENCES SUPPORTO(ID);


/*Film DIRIGE REGISTA */
ALTER TABLE DIRIGE
ADD CONSTRAINT PRIMARY KEY PK_DIRIGE(IDFILM,CODICEREGISTA);

ALTER TABLE DIRIGE
ADD CONSTRAINT FOREIGN KEY FK_DIRIGE_FILM(IDFILM)
REFERENCES FILM(ID);

ALTER TABLE DIRIGE
ADD CONSTRAINT FOREIGN KEY FK_DIRIGE_REGISTA(CODICEREGISTA)
REFERENCES REGISTA(CODICE);


/*Film recita Attore*/
ALTER TABLE RECITA
ADD CONSTRAINT PRIMARY KEY PK_RECITA(IDFILM,CODICEATTORE);

ALTER TABLE RECITA
ADD CONSTRAINT FOREIGN KEY FK_RECITA_FILM(IDFILM)
REFERENCES FILM(ID);

ALTER TABLE RECITA
ADD CONSTRAINT FOREIGN KEY FK_RECITA_ATTORE(CODICEATTORE)
REFERENCES ATTORE(CODICE);
 

Allegati

  • Esercitazione_20201202_SQL.pdf
    643.8 KB · Visualizzazioni: 9