supponiamo che nel mio schema E-R abbia una entità "Dipendente" che ha
due specializzazioni "Impiegato" e "Dirigente". Come si traduce la cosa
in termini di tabelle?
Ciao e grazie in anticipo,
Giulio
--
OnAir:
http://www.giuliopetrucci.it
http://www.fujikomonamour.com
database ? in postgresql potresti fare:
[IMVHO]
CREATE TABLE dipendente (
id serial primary key,
cognome varchar(50),
nome varchar(50),
ufficio integer
);
CREATE TABLE impiegato (
ora_ingresso time not null,
ora_uscita time not_null,
dipendente_id integer not null references dipendente(id)
);
CREATE TABLE dirigente (
livello smallint,
zona char(1),
dipendente_id integer not null references dipendente(id)
);
oppure:
CREATE TABLE dipendente (
id serial primary key,
cognome varchar(50),
nome varchar(50),
ufficio integer
);
CREATE TABLE impiegato (
ora_ingresso time not null,
ora_uscita time not_null
) INHERITS (dipendente);
CREATE TABLE dirigente (
livello smallint,
zona char(1)
) INHERITS (dipendente);
[/IMVHO]
ciao ..
--
Never try to teach a pig to sing.
It wastes your time and annoys the pig.
[Modalita` dubbio ON]
Per rispondere correttamente credo che devi dire se occorre
specificare un vincolo mutualmente esclusivo tra le specializzazioni
(ogni dipendente puo` essere solo una cosa tra impiegato o dirigente).
Egualmente direi che forse manca il vincolo di specializzazione
obbligatoria (ogni dipendente deve essere una cosa tra impiegato
o dirigente e non solo dipendente).
bye