problemi con PRIMARY KEY

Ciao Gianni,

questo il mio problema:

Domanda: Se in certe tabelle degli attirbuti sono stati dichiarati come chiave primaria, bisogna dichiararli

ancora come PRIMARY KEY, nelle tabelle che utilizzano questi attributi magari come ad esempio:

CREATE TABLE STUDENTI

(

Matricola CHAR(10) NOT NULL,

Cod_Piano INT UNSIGNED NOT NULL,

Nome VARCHAR(20) NOT NULL,

Cognome VARCHAR(20) NOT NULL,

Data_N DATE NOT NULL,

Indirizzo VARCHAR(50) NOT NULL,

Telefono VARCHAR(15) NOT NULL,

Sesso CHAR(1) NOT NULL,

PRIMARY KEY (Matricola,Cod_Piano),

CONSTRAINT CHeck_Sex CHECK (Sesso IN (M,F))

);

CREATE TABLE PROPEDEUTICI

(Cod_Esa CHAR(3) NOT NULL,

Cod_Prop CHAR(3) NOT NULL,

PRIMARY KEY (Cod_Esa,Cod_Prop), <----------------

FOREIGN KEY (Cod_Esa) REFERENCES ESAMI(Cod_Esame)

ON DELETE CASCADE

ON UPDATE CASCADE,

FOREIGN KEY (Cod_Prop) REFERENCES ESAMI(Cod_Esame)

ON DELETE CASCADE

ON UPDATE CASCADE

);

inviato 11 anni fa
noems
X 0 X

Ecco i vincoli a cui devono sottostare le tabelle e gli attributi interessati dalle chiavi esterne:

- Entrambe le tabelle devono essere di tipo InnoDB

- La tabella di partenza, quella che effettua il riferimento, deve contenere un indice per gli attributi delle chiavi esterne. Dalla versione 4.1.2 tale indice viene creato automaticamente se non esiste.

- La tabella referenziata deve avere un indice che contiene le chiavi referenziate. Spesso questo indice coincide con la chiave primaria della tabella

:bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda