Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Problema con generalizzazione

1 view
Skip to first unread message

Giulio Petrucci

unread,
Sep 2, 2008, 7:04:38 AM9/2/08
to
Ciao a tutti,

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

Antonio 6sette

unread,
Sep 2, 2008, 8:15:56 AM9/2/08
to
On 2008-09-02, Giulio Petrucci <sis...@nonono.boh> wrote:
> Ciao a tutti,
>
> 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?

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.

The man with two watches

unread,
Sep 2, 2008, 2:55:41 PM9/2/08
to
"Giulio Petrucci"

> supponiamo che nel mio schema E-R abbia una entità "Dipendente"
> che ha due specializzazioni "Impiegato" e "Dirigente". Come si
> traduce la cosa n termini di tabelle?

[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


0 new messages