68
CEFRIEL CEFRIEL Consorzio per la Formazione e la Consorzio per la Formazione e la Ricerca Ricerca in Ingegneria dell’Informazione in Ingegneria dell’Informazione Politecnico Politecnico di Milano di Milano I Sistemi di Gestione di Basi di I Sistemi di Gestione di Basi di dati: dati: Approfondimenti Approfondimenti Master in Convergenza Master in Convergenza Docente Docente William Fornaciari William Fornaciari Politecnico di Milano Politecnico di Milano [email protected]

CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Embed Size (px)

Citation preview

Page 1: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

CEFRIELCEFRIELConsorzio per la Formazione e la RicercaConsorzio per la Formazione e la Ricercain Ingegneria dell’Informazionein Ingegneria dell’Informazione

PolitecnicoPolitecnicodi Milanodi Milano

I Sistemi di Gestione di Basi di dati:I Sistemi di Gestione di Basi di dati:ApprofondimentiApprofondimenti

Master in ConvergenzaMaster in Convergenza

Docente Docente

William FornaciariWilliam Fornaciari

Politecnico di MilanoPolitecnico di [email protected]

Page 2: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 22 - -

Sistema InformativoSistema Informativo

Elemento del sistema organizzativo dell’aziendaInsieme di risorse umane, strumenti di elabora-zione, scambio, acquisizione di informazioni, procedure per il loro trattamento, regole orga-nizzative, che consente il funzionamento del sistema organizzativoEvoluzione dei sistemi informativi da settoriali a integrati

Page 3: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 33 - -

Da Da settorialisettoriali a a integratiintegrati

DB1DB2 DB3 DB4

DB5

P1

P2P3 P4

P5

Page 4: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 44 - -

Da Da settorialisettoriali a a integratiintegrati

DB

P1

P2P3 P4

P5

V1

V2 V3 V4

V5

Page 5: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 55 - -

Sistemi InformativiSistemi Informativi

Sistemi informativi tradizionali: progettazione di dati e funzioni viste d’utente

Sistemi Web-based: progettazione di siti Internet e Intranet viste d’utente tradizionali browsing e navigazione

Page 6: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 66 - -

I sistemi di gestione di basi diI sistemi di gestione di basi di datidati

Un SGBD (Data Base Management System = DBMS):

permette di accedere in modo efficiente ai dati con una granularità più fine che il file systempermette di accedere in modo diretto ai dati basandosi sulle loro proprietàeffettua il controllo della concorrenza alla granularità del singolo recordrealizza meccanismi sofisticati per il controllo dell’affidabilitàrealizza meccanismi di controllo della privatezzarealizza l’atomicità delle transazioni

Page 7: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 77 - -

Livelli di astrazioneLivelli di astrazione

Un DBMS fornisce ai suoi utilizzatori una visione astratta della base di dati distinguibile in tre livelli di astrazione:Livello fisico A questo livello la base di dati è vista come un insieme di blocchi fisici su disco. Qui viene decisa l’allocazione dei dati e le modalità di memorizzazione dei dati sul disco.Livello logico Evidenzia l’organizzazione dei dati dal punto di vista del loro contenuto informativo, descrivendo la struttura di ciascun record e i collegamenti tra record diversi.Livello esterno Presenta i dati organizzati secondo un punto di vista appropriato ad ogni particolare utente (viste d’utente).

Page 8: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 88 - -

Definizioni preliminariDefinizioni preliminari

Modello dei dati: collezione di concetti che possono essere usati per rappresentare la realta’. Es: alberi, grafi, tabelle

Schema dei dati: rappresentazione di una specifica parte della realta’, che usa un modello dei dati. Es. albero genealogico, sistema delle strade e delle citta’, tabella degli studenti e dei voti nei singoli esami

Istanza: collezione di valori dei dati che rispetta la struttura dello schema. Es: albero genealogico della mia famiglia oggi, rete viaria della Germania il giorno 22 febbraio 2000, dati sugli studenti e gli esami in questo preciso istante

Page 9: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 99 - -

Il modello relazionale dei datiIl modello relazionale dei dati

Dati organizzati in tabelle dette relazioni

Nomi delle colonne: attributi; Numero di colonne: gradoRighe: tuple; Numero di righe: cardinalità

MATRIC. FONDAM.INFO

CHIMICA FISICA I ANALISI GEOMETR ….

5132AB6123CD5432CB…….

30262922

24282624

30 lode282924

30 lode271923

30221825

STUDENTI

Page 10: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 1010 - -

DefinizioniDefinizioni

Si dice schema di una relazione la descrizione della sua struttura, e cioe’ il suo nome seguito dall’elenco dei nomi dei suoi attributi; a ciascun attributo è associato il suo tipo. L’istanza della relazione e’, istante per istante, il suo contenuto.La chiave di una relazione è un insieme di attributi che serve ad identificare univocamente le tuple della relazione e che garantisce le seguenti due proprietà:

- unicità: in una qualunque istanza di una relazione non possono esistere due tuple distinte la cui restrizione alla chiave sia uguale;

- minimalità: non deve essere possibile sottrarre alla chiave un attributo senza che la condizione di unicità cessi di valere.

Page 11: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 1111 - -

Esempio di schema di base di Esempio di schema di base di datidati

PRESIDENTI (NOME-P, DATA-N, DATA-M, PARTITO, STATO, NOME-M)CONGRESSI (# CONGRESSO, %S-REP, %C-REP, %S-DEM,

%C-DEM)AMMINISTRAZIONI (# AMMIN, DATA-IN, VICE-PRES, NOME-P, DATA-N)ELEZIONI (ANNO, VOTI-PRES, NOME-P, DATA-N, NOME-PERD, VOTI-PERD)STATI (STATO, POPOLAZ, # AMMIN.)PRESID-CONGR (NOME-P, DATA-N, # CONGR)

Page 12: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 1212 - -

Linguaggi di interrogazioneLinguaggi di interrogazione

Permettono di trovare un dato basandosi sulle sue proprietà. Es: tabella STUDENTI--> trovare tutti gli studenti che hanno preso più di 28 a Fondamenti di InformaticaPermettono di trovare dati basandosi su confronti tra i contenuti di più tabelle. Es: tabella ELEZIONI, tabella PRESIDENTI --> Trovare gli anni in cui è stato eletto un presidente repubblicano proveniente dall’Illinois.

Page 13: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 1313 - -

Il linguaggio SQLIl linguaggio SQL

Data Manipulation Language (DML): interrogazione e modificaData Definition Language: definizione delle relazioni

Page 14: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 1414 - -

Il linguaggio SQLIl linguaggio SQL

Select A1,…An (attributi da includere nel risultato) from R1,…Rm (nomi di relazioni da cui estrarre i dati) where P (condizione che i dati cercati soddisfano)

Esempio:Select MATRICfrom STUDENTIwhere FONDAM-INFO > 28

Page 15: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 1515 - -

EsempiEsempi

Trovare gli anni in cui è stato eletto un presidente repubblicano proveniente dall’Illinois (condizioni di join):

SELECT ANNOFROM ELEZIONI, PRESIDENTIWHERE ELEZIONI.NOME-P = PRESIDENTI.NOME-P AND ELEZIONI.DATA-N = PRESIDENTI.DATA-N AND STATO = “ILLINOIS” AND PARTITO = “REPUBBLICANO”

Oppure (interrogazione nidificata):SELECT ANNOFROM ELEZIONIWHERE NOME-P, DATA-N IN ( SELECT NOME-P, DATA-N FROM PRESIDENTI WHERE PARTITO = “REPUBBLICANO” AND STATO = “ILLINOIS” )

Page 16: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 1616 - -

Altre parole chiave utiliAltre parole chiave utili

L’aggiunta del comando UNIQUE (o DISTINCT) subito dopo il comando SELECT permette di rimuovere i duplicati.

MINUS differenza INTERSECT intersezione UNION unione ORDER BY ordinamento GROUP BY raggruppamento in base al valore di un

attributo: una volta costruita una tale partizione è possibile valutare funzioni aggregate sugli attributi numerici delle tuple di ciascuna classe di equivalenza: MIN (minimo), MAX (massimo), SUM (somma), AVG (media); è inoltre possibile contare il numero di elementi, tramite la funzione COUNT.

HAVING condizioni da usare subito dopo il GROUP BY

Page 17: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 1717 - -

Altri esempiAltri esempi

Trovare i nomi delle mogli dei presidenti provenienti dalla California eletti dopo il 1960.

SELECT NOME-MFROM PRESIDENTI, ELEZIONIWHERE ELEZIONI.NOME-P = PRESIDENTI.NOME-P AND

ELEZIONI.DATA-N = PRESIDENTI.DATA-N AND ANNO > 1960 AND

STATO = “CALIFORNIA”

Page 18: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 1818 - -

Altri esempi (unione)Altri esempi (unione)

Trovare le persone che sono state presidenti oppure vicepresidenti in amministrazioni inaugurate dopo il 1880.

SELECT NOME-PFROM AMMINISTRAZIONIWHERE DATA-IN > 1880UNIONSELECT VICE-PRESFROM AMMINISTRAZIONIWHERE DATA-IN > 1880

Page 19: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 1919 - -

Altri esempi (intersezione)Altri esempi (intersezione)

Trovare le persone che sono state presidenti e anche vicepresidenti in qualche amministrazione inaugurata dopo il 1880.

SELECT NOME-PFROM AMMINISTRAZIONIWHERE DATA-IN > 1880INTERSECTSELECT VICE-PRESFROM AMMINISTRAZIONIWHERE DATA-IN > 1880

Page 20: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 2020 - -

Altri esempi (differenza)Altri esempi (differenza)

Trovare le persone che sono state presidenti ma mai vicepresidenti in amministrazioni inaugurate dopo il 1880.

SELECT NOME-PFROM AMMINISTRAZIONIWHERE DATA-IN > 1880MINUSSELECT VICE-PRESFROM AMMINISTRAZIONIWHERE DATA-IN > 1880

Page 21: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 2121 - -

Altri esempi (aggregazione)Altri esempi (aggregazione)

Trovare la media dei voti ottenuti dai presidenti eletti per ciascun partito

SELECT PARTITO, AVG (VOTI-PRES)FROM PRESIDENTI, ELEZIONIWHERE ELEZIONI.NOME-P = PRESIDENTI.NOME-P AND ELEZIONI.DATA-N = PRESIDENTI.DATA-N ANDGROUP BY PARTITO

Page 22: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 2222 - -

L’esecuzione delle L’esecuzione delle interrogazioniinterrogazioni

Le interrogazioni vengono tradotte in un formato interno da un ottimizzatore di interrogazioni. L’ottimizzatore, conoscendo le dimensioni delle tabelle, produce un piano d’accesso in termini di modello logico, poi trasmesso ad un gestore dei metodi d’accesso, che trasforma il piano d’accesso fornito dall’ottimizzatore a livello fisico.Il buffer manager, invece, si occupa del trasferimento dei dati da blocchi di memoria di massa a pagine di memoria centrale e viceversa ed è in stretto contatto con il gestore della memoria virtuale.

Page 23: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 2323 - -

Data Manipulation LanguageData Manipulation Language

INSERT INTO relazione <tupla>, <tupla>, <tupla>,…..

Serve per inserire le tuple DELETE FROM relazione WHERE attributo con

condizione Serve per cancellare delle tuple UPDATE relazione SET attributo = espressione nuova

da assegnare WHERE attributo con condizione Serve per modificare una relazione

Page 24: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 2424 - -

ProblemaProblema

Come organizzare i dati nelle tabelle in modo efficace ed efficiente?

Evitare contraddizioniPermettere l’ottimizzazione delle interrogazioni

Page 25: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 2525 - -

La progettazione concettuale La progettazione concettuale

Traduce i requisiti di un qualsiasi sistema informatico in una descrizione:formale: espressa in modo non ambiguo ma adeguato a catturare le caratteristiche fondamentali del mondo da descrivere

integrata:la descrizione si riferisce alla totalita’ dell’ambiente (non settoriale)

indipendente dalla realizzazione fisica

Page 26: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 2626 - -

L’astrazioneL’astrazione

E’ un processo mentale che:evidenzia alcune proprieta’ rilevanti ai fini dell’applicazioneesclude le proprieta’ irrilevanti ai fini dell’applicazione

Page 27: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 2727 - -

L’astrazioneL’astrazione

E’ un processo mentale che:evidenzia alcune proprieta’ rilevanti ai fini dell’applicazioneesclude le proprieta’ irrilevanti ai fini dell’applicazione

Page 28: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 2828 - -

I tre meccanismi fondamentaliI tre meccanismi fondamentali

Classificazione: e’ membro di…es. {gennaio, febbraio, marzo…} = “mese”

Aggregazione: e’ parte di... es. <ruote, telaio, sellino, manubrio…> =

“bicicletta”

Generalizzazione: e’ sottoinsieme di…es. “studente” e’sottoinsieme di “persona”.

“persona” e’ una generalizzazione di “studente”

Page 29: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 2929 - -

ClassificazioneClassificazione

Un oggetto puo’ essere membro di piu’ classi: es. Giovanni e’ membro di Uomo, Giovanni e’ membro di Persona, Giovanni e’ membro di Impiegato.Puo’ succedere che alcune di queste classi siano in relazione di generalizzazione tra loro: non necessariamente! (es. Uomo non e’ in generalizzazione con Impiegato!!!)E’ una relazione tra oggetti e classi

Page 30: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 3030 - -

AggregazioneAggregazione

Una classe viene definita come aggregazione di altre classiLa stessa classe puo’ essere aggregazione di gruppi di classi diversi a seconda dell’applicazione: es. Persona: n. di matricola, corso di laurea, esami sostenuti, voti, anno di corso…oppure

Persona: gruppo sanguigno, malattie avute, risultati esami medici,...

E’ una relazione tra classi

Page 31: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 3131 - -

La struttura dei recordLa struttura dei record

Persona

Nome Eta’ Stipendio

Andrea

GiovanniFrancesca

Myriam

25

46

65

32

10.000

20.00040.000

12.000

Page 32: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 3232 - -

GeneralizzazioneGeneralizzazione

Definisce una relazione di sottoinsieme tra classi: una classe puo’ essere generalizzazione di una o piu’ classi

Ereditarieta’ in due sensi:le ASTRAZIONI ( PROPRIETA’) definite per la superclasse vengono ereditate dalle sottoclassigli ELEMENTI delle sottoclassi vengono ereditati dalla superclasse

Page 33: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 3333 - -

GeneralizzazioneGeneralizzazione

Persona: nome, cognome, codice fiscale, indirizzo, data di nascita, n. telefono, ...Studente: si aggiungono: numero di matricola, corso di laurea, esami sostenuti, voti, anno di corso…Paziente: si aggiungono: gruppo sanguigno, malattie avute, risultati esami medici,...

Page 34: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 3434 - -

CaratteristicheCaratteristiche

Schema dei dati: e’ statico, si progetta una tantum quando si progetta il sistema

Istanza: e’ dinamica, varia col tempo (es. il sistema delle vie viene aggiornato con l’introduzione di una nuova autostrada, nasce un nuovo bambino nella famiglia)

Page 35: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 3535 - -

Il modello Entita’ RelazioneIl modello Entita’ Relazione

Entita’

Relazioni

Attributi

Persona

abita

nome

Page 36: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 3636 - -

Un piccolo esempioUn piccolo esempio

Impiegato

Reparto

Azienda

Lavora inAppartiene

N. matr.

Nome

N. Denomin

Indirizzo

P.IVA

Rag. Soc.

Page 37: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 3737 - -

Gestione dei reparti di un ospedaleGestione dei reparti di un ospedale

Si vuole progettare un sistema informativo per la gestione dei reparti di un ospedale. Per ogni reparto si conoscono la denominazione, la posizione (edificio e piano), i nomi del primario e della caposala, il numero delle camere di ciascun tipo (da 1, 2, 3 o 4 letti).

I pazienti sono identificati dai loro dati anagrafici, a ciascuno di loro sono associati la patologia, il reparto in cui sono ricoverati e il relativo numero di letto. I pazienti possono arrivare al pronto soccorso ed essere ricoverati (cio' succede per i casi urgenti), oppure il loro ricovero viene prenotato dal loro medico di base, mediante una telefonata nella quale indica i dati del paziente e si accorda sul periodo di ricovero. Le camere possono essere chiuse per manutenzione, e per quel periodo ovviamente non si possono accettare prenotazioni. Inoltre il sistema deve poter gestire le richieste di informazioni sui reparti e sui letti a disposizione.

Page 38: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 3838 - -

Le entita’Le entita’

Sono classi di oggettiSono aggregazioni dei loro attributiPossono essere generalizzate

Page 39: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 3939 - -

Le relazioniLe relazioni

Sono aggregazioni di entita’Sono per la maggior parte binariePossono essere anche ternarieSe ne considera la cardinalita’

Page 40: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 4040 - -

Gli attributiGli attributi

Sono insiemi di valoriLe entita’ sono ottenute come loro aggregazioneSe ne considera la cardinalita’

Page 41: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 4141 - -

Riviste scientificheRiviste scientifiche

Si vuole progettare un sistema informativo di supporto all’organizzazione di una casa editrice che pubblica riviste scientifiche. Ogni rivista viene identificata attraverso la sua denominazione, ed ha un settore scientifico di riferimento, e un prezzo di abbonamento Ogni numero di una certa rivista ha una data di pubblicazione e l'indice, cioe' la sequenza di articoli che contiene. Tale indice viene deciso da un apposito comitato (il comitato di edizione), costituito da un gruppo di esperti del settore. Gli articoli sono caratterizzati dal titolo (si immagini non esistano due articoli con lo stesso titolo), gli autori, il numero della rivista e il numero d’ordine nell'indice. Per ogni articolo compreso in qualche indice la segreteria deve provvedere a memorizzare tutte le informazioni sugli autori. Il sistema deve memorizzare tutte le persone (con il relativo nome, l’indirizzo, il recapito telefonico e di posta elettronica) che hanno a che fare con le riviste:abbonati, esperti compresi nei comitati di edizione (di cui si conosce anche il settore o i settori in cui sono esperti), autori degli articoli (di cui si conosce, per motivi statistici, anche la data di nascita). Il sistema deve anche fornire alla segreteria l’elenco degli abbonati ad ogni rivista, completo delle date di inizio dell'abbonamento e di pagamento.

Page 42: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 4242 - -

Altri elementiAltri elementi

Cardinalita’delle relazionidegli attributi

Identificatori

Page 43: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 4343 - -

Cardinalita’Cardinalita’

Insieme 1

Insieme 2

Page 44: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 4444 - -

Cardinalita’ delle relazioniCardinalita’ delle relazioni

Dato un oggetto di una classe, a quanti oggetti dell’altra classe puo’ corrispondere, in un certo istante, attraverso la relazione considerata?

0:10:n1:11.n

Page 45: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 4545 - -

Cardinalita’ delle relazioniCardinalita’ delle relazioni

Esempi: matrimonio (0:1) ; (0:1)azienda-dipendente (m:n) ; (0:1)impiegato-progetto (1:3) ; (m:n) (oppure (0:n))dirigente-subordinato (0:n) ; (1:1)genitore-figlio (1:n) ; (0:2) (oppure (2:2))

Page 46: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 4646 - -

Cardinalita’ degli attributiCardinalita’ degli attributi

Dato un oggetto di una classe, quanti valori dell’attributo possono essergli associati in un certo istante?

0:10:n1:11.n

Page 47: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 4747 - -

Cardinalita’ degli attributiCardinalita’ degli attributi

Esempi: persona-codice fiscale (1:1) persona- numero di telefono (0:n) prodotto-codice prodotto (1:1)persona-data di morte (0:1)libro-autore (1:n)

Page 48: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 4848 - -

IdentificatoriIdentificatori

E’ un sottoinsieme minimale degli attributi di un’entita’ sufficiente a identificare univocamente un oggetto della classeSi definisce un identificatore per ogni entita’

Esempi: PERSONA: Codice fiscale PERSONA: Nome, Cognome, Data di nascita,

Luogo di nascita

Page 49: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 4949 - -

DiscussioneDiscussione

Come si sceglie se definire una nuova entita’ o un attributo?Esempio:

MOBILECOLORE

oppure

MOBILE COLOREHA

Page 50: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 5050 - -

Le gerarchieLe gerarchie

spesso nella analisi di un settore aziendale può risultare che più entità risultino simili o casi particolari l’una dell’altra, derivanti da “viste” diverse da parte dell’utenzaemerge quindi la necessità di evidenziare sottoclassi di alcune classisi definisce pertanto gerarchia di specializzazione il legame logico che esiste tra classi e sottoclassi

Page 51: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 5151 - -

Le gerarchieLe gerarchie

la gerarchia concettuale è il legame logico tra un’entità padre E ed alcune entità figlie E1 E2 .. En dove:

E è la generalizzazione di E1 E2 .. En

E1 E2 .. En sono specializzazioni di E

una istanza di Ek è anche istanza di E (e di tutte la sue generalizzazioni)

una istanza di E può essere una istanza di Ek

Page 52: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 5252 - -

Un esempio di gerarchiaUn esempio di gerarchia

un’azienda si avvale dell’opera di professionisti esterni, quindi il suo personale si suddivide in esterni e dipendenti:

esternodipendente

personalematr

cognomenome

Parametro

ore

t,e

Page 53: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 5353 - -

Un esempio di gerarchiaUn esempio di gerarchia

un comune gestisce l’anagrafe ed i servizi per i suoi cittadini alcuni di questi richiedono la licenzadi pesca

cittadinoc_f

cognomenome

pescatoretipo_lic

n_licenza

p,o

Page 54: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 5454 - -

Gerarchie: definizioniGerarchie: definizioni

t sta per totale: ogni istanza dell’entità padre deve far parte di una delle entità figlie

nell’esempio il personale si divide (completamente) in esterni e dipendenti

p sta per parziale: le istanze dell’entità padre possono far parte di una delle entità figlie

nell’esempio i pescatori sono un sottoinsieme dei cittadini

Page 55: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 5555 - -

un’ulteriore specializzazioneun’ulteriore specializzazione

ingegnerelegale

esterno

economista

p, e

p : possono esistere esterni generici che non sono né legali, né ingegneri, né economisti ma non interessa stabilire una sottoclasse ad hoc

Page 56: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 5656 - -

gerarchie: definizionigerarchie: definizioni

e sta per esclusiva: ogni istanza dell’entità padre deve far parte di una sola delle entità figlie

nell’esempio si esclude che una istanza di personale possa appartenere ad entrambe le sottoclassi

o sta per overlapping (con sovrapposizioni): ogni istanza dell’entità padre può far parte di una o più entità figlie

Page 57: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 5757 - -

un’ulteriore specializzazioneun’ulteriore specializzazione

ingegnere

elettrica

p, o

o : possono esistere ingegneri sia meccanici,sia elettrici, sia della logistica le tre qualifiche non si escludono

meccanicalogistica

Page 58: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 5858 - -

ereditarietà delle proprietàereditarietà delle proprietà

le proprietà dell’entità padre non devono essere replicate sull’entità figlia in quanto questa le eredita cioè:le proprietà dell’entità padre fanno parte del tipo dell’entità figlianon è vero il viceversa

il tipo di personale è:(matricola, cognome, nome, indirizzo,

data_nascita)

Page 59: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 5959 - -

Il sistema di gestione dei Il sistema di gestione dei musei del Venetomusei del Veneto

Si vuole progettare il sistema informativo per la gestione dei musei del Veneto.Gli utilizzatori del sistema informativo saranno i visitatori da una parte, per quanto riguarda le informazioni generali, e le direzioni dei musei dall’altra, per quanto riguarda gli aspetti organizzativi.

Il sistema deve, su richiesta, fornire informazioni al pubblico relativamente agli orari di ciascun museo (di cui sono memorizzati il nome, la citta', l’indirizzo e il numero di telefono): giorno di chiusura settimanale, orari di apertura, che possono variare nei vari giorni della settimana. Tra le informazioni, vi è anche il costo del biglietto di ingresso (diviso per categorie: adulti e ridotti). Vengono inoltre fornite informazioni relative a eventuali mostre presso il museo (periodo di apertura, titolo della mostra, costo del biglietto di ingresso per la mostra). Queste informazioni vengono inserite e modificate da un opportuno ufficio Mostre Temporanee (che e' parte del sistema) e possono essere richieste, con una domanda al sistema, sia da parte della direzione, sia da parte del pubblico.

Inoltre, una attivita' di Gestione del Personale può inserire o modificare dati sul personale (che ha una matricola, nome, cognome, indirizzo e numero di telefono, e una lista di mansioni), e assegna il personale a turni (con una data, un orario di inizio e di fine e la sala a cui la persona è assegnata). Per ogni sala di ogni museo vi deve essere sempre almeno una persona addetta alla sorveglianza durante gli orari di apertura.

Page 60: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 6060 - -

Gestione delle prenotazioni Gestione delle prenotazioni alberghierealberghiere

Si vuole progettare il sistema di prenotazioni per un gruppo di alberghi.

Per ogni albergo si conoscono il nome, l’indirizzo, la città, il periodo di apertura, il prezzo nelle varie stagioni per ciascun tipo di camera (si suppongano due stagioni, alta e bassa, e due tipi di camere, singola e doppia), il numero delle camere di ciascun tipo.

I clienti sono identificati da nome e numero di telefono e possono prenotare una o più camere per uno o più giorni (consecutivi).

Si supponga di volere gestire le richieste di informazioni da parte dei clienti, le prenotazioni, le cancellazioni di prenotazioni. Le prenotazioni possono anche arrivare per telefono, ma viene comunque richiesto un fax contenente, oltre ai dati suddetti, anche l'indirizzo e il numero di documento d'identita'.

Se un cliente prenotato arriva dopo le sei, la sua prenotazione viene automaticamente annullata. Se un cliente vuole che la sua prenotazione gli venga tenuta anche oltre le sei, deve segnalare anche il numero della sua carta di credito. Si accettano anche clienti senza la prenotazione, se al momento in cui arrivano c'e' posto.

Inoltre si vuole poter inserire un nuovo albergo, con tutti i dati relativi, quando questo viene acquisito all'interno della catena.

Page 61: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 6161 - -

Gestione di una ditta di trasportiGestione di una ditta di trasporti

Si vuole progettare il sistema informativo per la gestione di una ditta di trasporti con sede in Torino, che spedisce merci in tutto il Nord Italia . Le richieste di servizio arrivano per telefono o via fax. In una richiesta di servizio, occorre precisare la destinazione dei colli che vengono inviati, il loro ingombro e il loro peso, e l’indirizzo dove occorre andare a prelevarli.

Inizialmente, le richieste di servizio vengono raccolte e non viene loro data alcuna risposta. Ogni mattina un impiegato esamina tutte le richieste di servizio pendenti e le raggruppa, in primo luogo per destinazione, e poi, tra quelle con la stessa destinazione, riunisce insieme quelle che hanno indirizzi di prelevamento vicini. Esamina poi le risorse disponibili, in termini di autofurgoni e di personale (autisti e facchini), e tenta di soddisfare prioritariamente le richieste appartenenti ai gruppi piu’ numerosi, tenendo conto della capienza dei furgoni e dell’ingombro dei colli. Quando, utilizzando questo criterio, ha terminato le risorse disponibili, tenta di associare tra loro richieste singole per poterne soddisfare di piu’. Le richieste non soddisfatte vengono poste in coda tra le richieste pendenti per il giorno successivo. Le richieste pendenti da piu’ di tre giorni assumono maggiore priorita’, percio’ occorre soddisfarle anche se si riferiscono a destinazioni non accoppiabili con le altre. Successivamente, vengono avvertiti i clienti le cui merci saranno trasportate in giornata (richieste soddisfacibili), e il trasporto vero e proprio viene organizzato assegnando il presonale ai vari furgoni e passando le bolle di consegna ai trasportatori.

Page 62: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 6262 - -

Centro di istruzione Centro di istruzione permanentepermanente

Si progetti il sistema informativo per la segreteria di un centro di istruzione permanente. I docenti propongono i corsi e forniscono il relativo materiale sotto forma di file. Di ogni corso si conosce la durata (espressa in ore di lezione), i docenti, il responsabile (che è uno dei docenti), il programma e il tipo di strumenti richiesti per le eventuali esercitazioni. La direzione valuta le proposte, decide quali corsi realizzare e ne stabilisce il calendario che viene comunicato ai responsabili dei corsi. In seguito vengono pubblicati e distribuiti i volantini con il calendario e i programmi dei corsi. Gli allievi sono di due tipi: privati (che si iscrivono personalmente ai corsi cui sono interessati presentandosi alla segreteria e fornendo i propri dati anagrafici) e dipendenti di un’azienda, che li iscrive inviando i dati mediante fax. Le tariffe aziendali prevedono sconti per gruppi superiori a 3 componenti per lo stesso corso. La segreteria prepara una copia del materiale per ogni partecipante e provvede a distribuirla agli iscritti. Alla fine di ogni corso è prevista una prova finale il cui superamento comporta il rilascio di un attestato. Il sistema deve tenere memoria di tutti i corsi tenuti con i relativi docenti e partecipanti, registrando in particolare coloro che hanno conseguito l’attestato.

Page 63: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 6363 - -

Progettazione logicaProgettazione logica

Consiste nella produzione di schemi di tabelle a partire dallo schema Entità-RelazioneIl passaggio da modello a modello comporta un diverso tipo di rappresentazioneLa nuova rappresentazione “impoverisce” l’informazione

Page 64: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 6464 - -

Trasformazione delle entitàTrasformazione delle entità

Per ogni entità una tabella che ha lo stesso nome, la tabella ha per attributi gli attributi dell’entità,la tabella ha per chiave gli attributi che identificano l’entitàEs:

PAZIENTE(Cod-fisc, Nome,Cognome, Tessera-Asl, N-letto)

Page 65: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 6565 - -

Gerarchie di generalizzazioneGerarchie di generalizzazione

Riduzione alla superclasseRiduzione alla sottoclasseEntità con relazioni

Page 66: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 6666 - -

Trasformazione delle relazioniTrasformazione delle relazioni

Per ogni relazione una tabella “ponte” che ha il nome della relazionela tabella ha per attributi tutti gli attributi chiave delle entità collegate e gli attributi della relazionela tabella ha per chiave tutti gli attributi chiave delle entità collegate. Es:

RICOVERO(Cod-fisc, N-stanza,Piano,Edif)

Page 67: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 6767 - -

Ottimizzazione delle relazioniOttimizzazione delle relazioni

Per ogni relazione di cardinalità (1:1) da una parte la tabella “ponte” può essere eliminata inserendo la chiave di una delle due entità nello schema dell’altra.

Es:

PAZIENTE(Cod-fisc, Nome, Cognome, Tessera-Asl, N-letto, N-stanza, Piano, Edif)

possiamo farlo perché a ogni paziente corrisponde una e una sola stanza

Page 68: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano I Sistemi di Gestione di Basi di dati: Approfondimenti

Approfondimenti sui DBMSApprofondimenti sui DBMS © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 6868 - -

Data Definition LanguageData Definition Language

CREATE TABLE nome-relazione A1 tipoA1, A2 tipoA2,

A3 tipoA3, An tipoAnEs: CREATE TABLE PAZIENTE Cod-fisc string,

Nome string,Cognome string,…..

DROP TABLE nome-relazioneEs: DROP TABLE PAZIENTE