misterx
08-06-2007, 12:32
al di là di non crearmi il database sotto (l'errore di postgres è il seguente: ERROR: there is no unique constraint matching given keys for referenced table "pubblicazione"), la mia domanda è: ma
ON DELETE NO ACTION e ON DELETE UPDATE
vanno inseriti nella tabella master o slave ?
Io ho pensato alla tabella slave in quanto se un dato nella tabella master dovesse venire cambiato, il DBMS prima guarda se tale dato non è usato da alcuno e quindi, si comporta di conseguenza: o no ?
CREATE TABLE PUBBLICAZIONE(
CodiceP INTEGER,
Titolo CHAR(40),
GiornoPubblicazione CHAR(10),
MesePubblicazione CHAR(10),
AnnoPubblicazione CHAR(20),
Ricercatore INTEGER,
Argomento CHAR(40),
Abstract CHAR(5),
PRIMARY KEY (CodiceP));
CREATE TABLE RICERCATORE(
CodiceR INTEGER,
Nome CHAR(40),
Cognome CHAR(40),
Email CHAR(80),
PRIMARY KEY (CodiceR),
FOREIGN KEY (CodiceR) REFERENCES PUBBLICAZIONE(Ricercatore)
ON UPDATE CASCADE ON DELETE NO ACTION);
ON DELETE NO ACTION e ON DELETE UPDATE
vanno inseriti nella tabella master o slave ?
Io ho pensato alla tabella slave in quanto se un dato nella tabella master dovesse venire cambiato, il DBMS prima guarda se tale dato non è usato da alcuno e quindi, si comporta di conseguenza: o no ?
CREATE TABLE PUBBLICAZIONE(
CodiceP INTEGER,
Titolo CHAR(40),
GiornoPubblicazione CHAR(10),
MesePubblicazione CHAR(10),
AnnoPubblicazione CHAR(20),
Ricercatore INTEGER,
Argomento CHAR(40),
Abstract CHAR(5),
PRIMARY KEY (CodiceP));
CREATE TABLE RICERCATORE(
CodiceR INTEGER,
Nome CHAR(40),
Cognome CHAR(40),
Email CHAR(80),
PRIMARY KEY (CodiceR),
FOREIGN KEY (CodiceR) REFERENCES PUBBLICAZIONE(Ricercatore)
ON UPDATE CASCADE ON DELETE NO ACTION);