http://www.cs.wisc.edu/~dbbook/openAccess/thirdEdition/slides/slides3ed-english/Ch3_Rel_Model.pdf
e guardate la slide 24. Da quello che ho capito il vincolo di partecipazione è rappresentato dalle righe spesse tra le due entità e la relazione "Works_in".
Ora, per tradurre tutto lo schema in SQL, che devo fa? Tocca fare 4 tabelle:
[code type="markup"]
CREATE TABLE employee(
ssn INTEGER,
name CHAR(20),
lot CHAR(20),
PRIMARY KEY (ssn));
CREATE TABLE departments(
did INTEGER,
dname CHAR(20),
budget INTEGER,
ssn INTEGER NOT NULL,
PRIMARY KEY (ssn, did),
FOREIGN KEY (ssn) REFERENCES employee);
CREATE TABLE manages(
since DATE,
dname CHAR(20) NOT NULL,
ssn INTEGER NOT NULL,
PRIMARY KEY (ssn, did),
FOREIGN KEY (ssn) REFERENCES employee,
FOREIGN KEY (did) REFERENCES departments ON DELETE NO ACTION);
CREATE TABLE works_in(
since DATE,
dname CHAR(20) NOT NULL,
ssn INTEGER NOT NULL,
PRIMARY KEY (ssn, did),
FOREIGN KEY (ssn) REFERENCES employee,
FOREIGN KEY (did) REFERENCES departments ON DELETE NO ACTION);
[/code]
oppure non ci ho capito un caXXo? Help, ho un BRUTTISSIMO presentimento sull'esonero di martedì! :?
Grazie mille