• Non ci sono risultati.

Traduzione da ER a Relazionale

N/A
N/A
Protected

Academic year: 2021

Condividi "Traduzione da ER a Relazionale"

Copied!
13
0
0

Testo completo

(1)

Traduzione da ER a Relazionale

Costruito lo schema concettuale (modello ER) occorre tradurre lo schema ottenuto in uno schema logico ad esso equivalente, nel nostro caso useremo il modello

relazionale

Tale traduzione viene fatta applicando

meccanicamente un algoritmo, costituito dalle regole che ci accingiamo a studiare

(2)

Passo 1

Ad ogni entità corrisponde una relazione

persone

nome

cod_fiscale indirizzo

Persone(nome,cognome, cod_fiscale, indirizzo)

identificatore

cognome

(3)

…nota

Gli attributi composti possono essere alternativamente tradotti come una tabella a parte oppure essere appiattiti

nella tabella corrispondente all’entità in questione

indirizzo

via numero città

Persona(nome,cognome,cod_fiscale) Indirizzo(via, numero, città, id)

Persona(nome, cognome, cod_fiscale via, numero, città)

(4)

Passo 2-a

Associazioni molti-a-molti

impiegati (0,N) partecipa (0,N) progetti

nome

qualifica

id codice

titolo

data_inizio

Introduce una nuova relazione, avente gli attibuti

dell’associazione, che traduce, più attributi corrispondenti alle chiavi primarie delle entità coinvolte; l’unione di questi ultimi

costituirà la chiave primaria della nuova relazione

Partecipa(data_inizio, id_imp, codice_prog)

(5)

…continua

Devono inoltre essere aggiunti opportuni vincoli di integrità referenziale fra le chiavi esterne della relazione che traduce l’associazione e le chiavi

primarie ad esse associate

Nell’esempio precedente occorre introdurre due vincoli, uno fra “id”della relazione che traduce

“impiegati” e “id_imp”e uno fra “codice” della relazione che traduce “progetti” e “codice_ prog”

(6)

Passo 2-b

Associazioni molti-a-molti

utenti (0,N) prestiti (0,N) libri

nome

telefono

id codice

titolo

data_inizio

In questo caso lo stesso utente potrebbe aver preso in prestito lo stesso libro più volte, per questo motivo gli attributi

corrispondenti a “id”e a “codice” non sono sufficienti a identificare in modo univoco tutte le tuple. In questo caso (database storico)

occorre che data_inizio faccia parte della chiave della nuova relazione

Prestiti(data_inizio, id_ut, codice_libro)

(7)

…continua

Anche in questo caso vanno introdotti i vincoli di integrità referenziale, seguendo la stessa regola

del caso precedente

Avremo un vincolo fra “id” e “id_ut” e uno fra

“codice” e “codice_libro”

(8)

Passo 2-c

Associazioni molti-a-molti ricorsive

componente

compone (0,N)

(0,N)

nome

genere

id

In questo caso la stessa entità compare due volte all’interno dell’associazione “compone”. Tale molteplicità di partecipazione

si mantiene nella traduzione

Compone(id_componente, id_composto)

N.B. Si possono avere associazioni ricorsive anche di tipo 1-1 e 1-N

(9)

…continua

Anche in questo caso occorre introdurre vincoli di integrità referenziale

Un vincolo fra “id”e “id_componente” e uno fra “id”e “id_composto”

(10)

Esempio

Nome genere id

A01 elettronico 001

B21 elettronico 002

A01 elettrico 003

C38 magnetico 004

Componente composto 003 001

002 001

002 003

004 002

002 001

003

004

(11)

Passo 3

Associazioni 1-molti

persona assegnazione telefono

nome indirizzo tipo_abbonam numero gestore

(0,N) (0,1)

Telefono(numero, gestore, tipo_abbonam, nome_ut)

Poiché ogni numero di telefono è associato a una sola persona, per tradurre “assegnazione” è sufficiente

integrarla nella relazione che traduce “telefono”,

aggiungendo un attributo in più, chiave esterna rispetto a

“persona”

(12)

Passo 4-a

Associazioni 1-1

persona ufficio

nome qualifica numeroMetriQuadri

(1,1) (1,1)

Persona(nome, qualifica, numero_uff)

Per questo genere di relazioni sono possibili diverse traduzioni

lavora_in

Ufficio(numero, metriQuadri)

oppure

Chiave esterna:

viene inserito un vincolo di integrità referenziale

(13)

… continua

Persona(nome, qualifica)

Ufficio(numero, metriQuadri, nome_imp) Chiave esterna:

viene inserito un vincolo di integrità referenziale

oppure

Persona(nome, qualifica)

Ufficio(numero, metriQuadri)

Lavora_in(numero_uff, nome_imp)

Vengono inseriti due vincoli di integrità

Riferimenti

Documenti correlati

Con l’autoliquidazione Inail on line paghi entro il 16 febbraio e hai un mese in più per trasmettere i dati retributivi.. Su www.inail.it/punto cliente è attivo un servizio on

Distinzione della tipologia di chiavi in base alla loro funzione, le chiavi digitali (login e password) vengono di seguito assimilate alle chiavi fisiche:.

Risoluzione

In effetti la ricerca di una chiave è in media velocissima come si vede dalla tabella, ma il caso pessimo, che qui si verifica se tutte le chiavi hanno lo stesso indirizzo

In effetti la ricerca di una chiave è in media velocissima come si vede dalla tabella, ma il caso pessimo, che qui si verifica se tutte le chiavi hanno lo stesso indirizzo

Il facilitatore è passato poi ad illustrare i due sondaggi che a partire dalla fne di marzo verranno somministrati alla cittadinanza: uno generale aperto a tutti gli abitanti

Il Tavolo di Negoziazione si apre intorno alle 17:30 con i saluti istituzionali del Sindaco Luca Lelli che ringrazia i partecipanti della presenza e introduce il

 Individuare la chiave (o le chiavi) della relazione e le dipendenze funzionali definite su di essa (ignorando quelle che si ritiene siano eventualmente "occasionali'') e