Sistemi di Elaborazione delle Informazioni Basi di Dati Tullio Facchinetti <tullio.facchinetti@unipv.it> 29 ottobre 2013 15:26 http://robot.unipv.it/toolleeo
Sommario introduzione alle basi di dati il modello relazionale esempio pratico
Utilità della gestione dei dati recupero delle informazioni necessarie elaborazione dei dati recuperati memorizzazione dei risultati la base di dati (database) permette di organizzare i dati da gestire, al ne di permetterne il recupero e la memorizzazione
Database Management Systems (DBMS) insieme di programmi che controllano l'organizzazione, la memorizzazione e il reperimento dei dati in un database gli utenti accedono alle informazioni tramite opportuni programmi e interfacce i dati sono richiesti al DBMS il DBMS interagisce con le memorizzati sul le system (tipicamente risiedenti su disco) le informazioni vengono recuperate e fornite all'utente
Caratteristiche di un DBMS accesso concorrente ai dati più utenti/programmi devono poter accedere alle informazioni nello stesso intervallo di tempo consistenza dei dati i dati devono eettivamente rappresentare le informazioni utili al loro utilizzo nel contesto dell'applicazione i dati devono essere organizzati in modo da essere concretamente utilizzabili
Caratteristiche di un DBMS integrità dei dati protezione delle informazioni a fronte di modiche dei contenuti l'alterazione può essere accidentale o intenzionale include il caso di generazione di informazioni ex novo privatezza dei dati garantire che le informazioni non siano accessibili da soggetti cui non sono forniti i relativi permessi ecienza bilanciare occupazione di memoria vs. tempo d'accesso
Soluzioni disponibili soluzioni open-source: PostgreSQL SQLite MySQL MariaDB soluzioni closed-source: prodotti Oracle MS Access MS SQL Server
Il modello E-R Entità Relazione (e Attributo) introdotto dal Prof. Peter Chen nel 1977 modello concettuale per la descrizione delle informazioni permette di organizzare i dati del mondo reale in termini di oggetti e delle loro relazioni una notazione graca ecace (diagramma E/R) permette una immediata rappresentazione del modello
Il modello E-R Entità Relazione elementi fondamentali del modello: entità relazione attributi ruoli di entità di relazione vincoli di identicazione e di cardinalità
Le entità caratteristiche delle entità: possono rappresentare persona, oggetti, eventi, ecc. una entità è caratterizzata da elementi comuni ha una esistenza autonoma rispetto al problema da descrivere è un modo ecace per denire le caratteristiche dei dati di interesse di una applicazione
Le entità nonostante il concetto di entità sia non immediato da denire, dal punto di vista operativo il suo signicato è molto semplice esempi: il nome Tullio e il cognome Facchinetti, unitamente alla data di nascita (non strettamente necessaria) identica l'entità persona
Le entità: esempi alcuni esempi di elementi della realtà che possono essere incaspulati in una entità sono: persone: cittadino, dipendente, cliente, automobilista, autore di un libro, membro di un social network oggetti: libro, farmaco, automobile, pezzo di ricambio eventi: appuntamento, festività, visite mediche, interventi chirurgici, prestito di un libro, click di mi piace su un social network...
Insiemi di entità entity-set si tratta di un insieme di entità dello stesso tipo, alle quali viene attribuito un nome distintivo esempio: si considerino le entità PERSONA, PAZIENTE e DIPENDENTE gli entity-set PAZIENTE e DIPENDENTE sono due sotto-insiemi non disgiunti dell'entity-set PERSONA PERSONA DIPENDENTE PAZIENTE
Gli attributi: esempio attributo è una proprietà dell'entità, denita in base ai requisiti dell'applicazione esempi di attributi per rappresentare determinate entità una persona: nome cognome codice scale data di nascita citta di residenza un libro: titolo autore casa editrice ISBN
Gli attributi tutti gli oggetti della stessa entità hanno gli stessi attributi da denire in numero adeguato a rappresentare l'oggetto che corrisponde all'entità il livello di dettaglio della rappresentazione dipende dal problema da risolvere
Dominio degli attributi dominio insieme di valori che possono essere assegnati ad un attributo esempi di dominio: il dominio dell'attributo COGNOME può essere una stringa di caratteri di lunghezza massima pari a 50 l'attributo PREZZO dell'entità ARTICOLO può essere un valore numerico con 2 cifre dopo la virgola l'attributo DATA_DI_NASCITA può assumere valori di una data (giorno/mese/anno)
Istanza di una entità istanza di una entità insieme dei valori attribuiti agli attributi di una entità sia data l'entitià PERSONA avente attributi NOME, COGNOME, CF e DATA le istanze di tale entità si rappresentano ecacemente tramite tabelle ognuna delle righe della tabella rappresenta una istanza NOME COGNOME CF DATA Paolo Fantozzi FNTPLO69A01X800L 01-03-1969 Ludovico Van VANLDV13B24L456W 24-02-1913 Alberto Trebla TRBLBR44F19F101G 19-06-1944
Le relazioni relazione rappresenta una associazione tra due entità viene tipicamente identicata da un predicato esempi: si considerino le entità LIBRO e AUTORE la relazione è del tipo ha scritto che lega AUTORE a LIBRO
Diadrammi E-R diagramma E-R è un formalismo graco per rappresentare le entità, gli attibuti e le relazioni tra essi, che descrivono un particolare sistema rappresentano il cosiddetto schema concettuale del sistema la notazione non è standardizzata
Diadrammi E-R le entità (o meglio, gli entity-set) sono rappresentati mediante rettangoli gli attributi si rappresentano mediante ovali gli attributi di una entità vi sono collegati tramite linee esempi: AUTORE LIBRO TITOLO
Diadrammi E-R: attributi composti attributo composto l'attributo è costituito dall'aggregazione di attributi elementari, che hanno stretta anità tra loro esempi: l'attributo INDIRIZZO può essere scomposto in VIA, CIVICO, CITTA, CAP l'attributo DATA_DI_NASCITA può essere scomposto in GIORNO, MESE, ANNO
Diadrammi E-R: attributi composti attributo composto l'attributo è costituito dall'aggregazione di attributi elementari, che hanno stretta anità tra loro esempio: VIA NUMERO PERSONA INDIRIZZO CITTA CAP
Diadrammi E-R: relazioni sono rappresentate mediante rombi l'associazione esistente tra entità e relazioni viene esplicitata da una linea che collega i rispettivi elementi graci esempio: AUTORE HA SCRITTO LIBRO
La chiave chiave primaria insieme di attributi i cui valori permettono di identicare univocamente una entià esempi: l'attributo CODICE FISCALE può essere la chiave primaria dell'entità PERSONA l'attributo ISBN può essere la chiave primaria dell'entità LIBRO l'attributo MATRICOLA può essere la chiave primaria dell'entità STUDENTE la coppia di attributi CODICE FISCALE e DATA ASSUNZIONE può essere la chiave primaria di una entità che rappresenti i dati di un IMPIEGATO
Vincoli di integrità vincolo di integrità regola che deve essere rispettanta da ogni istanza dello schema rappresentato dal diagramma E-R vincolo di cardinalità sulle relazioni vincolo di cardinalità sugli attributi vincolo di partecipazione vincoli esterni
Cardinalità di una relazione cardinalità di una relazione vengono imposti un limite minimo e uno massimo al numero di entità cui un'altra entità può venire associata sono rappresentati da una coppia di valori (min, max) il vincolo di cardinalità viene imposto a tutte le istanze dell'entità al quale è associato
Cardinalità di una relazione cardinalità di una relazione vengono imposti un limite minimo e uno massimo al numero di entità cui un'altra entità può venire associata caratteristiche della cardinalità: vale sempre 0 min max vale sempre 1 max i valori min = 0 e max = N signica assenza di vincoli
Un semplice esempio si supponga di voler costruire lo schema E-R per la memorizzazione dei dati di una biblioteca personale informazioni da memorizzare per ciascun libro: titolo nome e cognome dell'autore codice ISBN
Un semplice esempio la soluzione più semplice è la seguente: TITOLO NOME AUTORE LIBRO COGNOME ISBN questo schema non permette però di rappresentare libri scritti da più autori
Un semplice esempio uso di due entità distinte: AUTORE e LIBRO NOME COGNOME TITOLO AUTORE HA SCRITTO LIBRO ISBN diversi autori possono aver scritto lo stesso libro questo schema non permette però di distinguere autori diversi che hanno lo stesso nome
Un semplice esempio introduzione dell'attributo ID (IDenticatore) NOME COGNOME TITOLO AUTORE HA SCRITTO LIBRO ID ISBN serve a identicare univocamente la singola istanza dell'entità può convenientemente essere un attributo numerico l'uso di un ID numerico come chiave primaria è molto comune
Le tabelle tabella lo schema di una tabella implementa lo schema di una entità le righe sono dette tuple o record, e contengono i dati di una istanza dell'entità le colonne sono formate dagli attributi
Esempio di implementazione obiettivo realizzare un database per la gestione del personale e di alcune attività di un centro ospedaliero in particolare, si richiede la gestione dei seguenti: il personale del centro gli utenti del centro l'organizzazione del centro (reparti) gli interventi una semplice gestione economica (paghe e costi)
Possibile organizzazione in entità alcune considerazioni: diversi dipendenti fanno riferimento allo stesso reparto il nome di un reparto può essere associato a molti dipendenti è conveniente istituire una tabella REPARTI che contiene i nomi e le informazioni riguardanti tutti i reparti
Prime osservazioni possibili entità: le persone, siano esse clienti dipendenti i reparti gli iterventi le visite
Tabelle e relazioni
Tabella PERSONA
Tabella DIPENDENTI
Tabella INTERVENTI
Tabella PROFESSIONI
Tabella REPARTI
Tabella VISITE
Tabella DRG
Tabella RICOVERI