BASI DATI INFORMATICA 1
Sistema Informativo Un sistema informativo (SI) è un componente di una organizzazione il cui obiettivo è gestire le informazioni utili per gli scopi dell organizzazione stessa GESTIRE = acquisire, elaborare, conservare, produrre, distribuire 2
Il ruolo dei DBMS nei SI In qualsiasi organizzazione sono molteplici le applicazioni del sistema informatico che utilizzano gli stessi dati Un DBMS è un sistema software in grado di gestire collezioni di dati che sono condivise da più applicazioni e utenti 3
Un esempio di (semplice) database Quando si pensa ad un database, generalmente si immagina una tabella contenente grandi quantità di informazioni, sulla quale e possibile fare una certa serie di operazioni Operazioni semplici: registrazione dei ticket Complesse operazioni di analisi: Importo complessivo, per giorno, cassa, fascia oraria,... Correlazioni di vendita (chi fa le analisi del sangue, spesso fa anche quella delle urine) 4
DBMS: caratteristiche di base Le caratteristiche di un DBMS non si limitano ovviamente alla sola condivisione dei dati E importante avere chiaro che un DBMS: è in grado di gestire grandi quantità di dati (Giga-Tera byte e oltre) è in grado di garantirne la persistenza anche a fronte di guasti è in grado di condividere i propri dati garantendo integrità dei dati mantenendoli tra loro sempre consistenti riservatezza con una disciplina di controllo degli accessi efficienza utilizzando al meglio le risorse di spazio e di tempo del sistema efficacia rendendo produttive le attività dei suoi utilizzatori 5
Integrità I problemi di integrità sono tipicamente dovuti alla mancanza di una adeguata progettazione del DB Un esempio di problema di integrità: Di un paziente, memorizzo sia il CAP che il Comune di residenza. Nella base di dati trovo un paziente con CAP 20121 (Milano) e residente nel Comune di Perugia (06121-06136) (problema di consistenza interna). In una tabella, ho che un certo paziente è celibe e un altra paziente che è la moglie del primo (problema di consistenza esterna o referenziale) In una tabella ho l elenco dei pazienti con indicato il codice della sua patologia, ma tale codice non è nell elenco presente in un altra tabella (problema di consistenza esterna o referenziale) 6
Limiti dei DBMS Limiti dei DBMS Nessuna capacità grafica Funzionalità statistiche di base Il trattamento statistico dei dati deve essere fatto con software ad-hoc (e.g. STATA) 7
Riassumiamo Un DBMS è l applicativo software che gestisce un DB Un DB è una collezione di dati (generalmente rappresentati in forma di tabelle) che rappresentano le informazioni di interesse per un organizzazione Un foglio Excel non è un database, mentre un insieme di tabelle in Access è un database Progettare un DB significa trovare un buon modo per strutturare i dati, che rispetti sia i requisiti propri del SI dell organizzazione sia i vincoli che sui dati vengono imposti 8
Progettazione di una base di dati Raccolta ed analisi dei requisiti Specifiche sui dati Modello concettuale (schema E/R) Modello logico (schema relazionale) Implementazione fisica Specifiche sulle funzioni Interrogazioni sulla base di dati Implementazione delle transazioni 9
Modello concettuale Un modello concettuale è un insieme di costrutti utilizzati per organizzare i dati e descriverne la struttura Il modello Entità/Relazione (E/R) adotta un formalismo grafico e semplice si basa su due soli concetti (l entità e la relazione) 10
Entità Un entità rappresenta una classe di oggetti del mondo reale (e.g., persone, cose, eventi,...), che abbiano proprietà comuni, ed esistenza autonoma Ad esempio, l entità paziente è l astrazione l istanza (e.g. Pierpaolo) è il paziente vero e proprio 11
Attributi (1) Le entità sono composte da attributi Ad esempio, l entità paziente è composta dagli attributi: CF, Nome, Cognome, Sesso e Indirizzo Il CF è la chiave primaria, ovvero l attributo che permette di identificare univocamente l istanza 12
Attributi (2) A volte, gli attributi possono essere compositi Ad esempio, l attributo Generalità è composto dal Nome e dal Cognome 13
Generalizzazione di entità Se un entità rappresenta una classe di oggetti del mondo reale, è possibile che essa debba essere specializzata in diversi contesti Ad esempio, un cliente di un hotel potrebbe essere un privato, una agenzia o una società 14
Relazione (1) E il legame esistente fra differenti entità La relazione permette di esplicitare i collegamenti logici esistenti fra le varie entità che compongono le informazioni da trattare Ad esempio: un medico cura un paziente una SDO è rilasciata ad un paziente 15
Relazione (2) Ad esempio: l entità medico cura (relazione) l entità paziente I numeri rappresentano la cardinalità (minima e massima) della relazione un medico cura da un minimo di 0 ad un massimo di n pazienti un paziente è curato da un minimo di 1 ad un massimo di n medici 16
Cardinalità delle relazioni La cardinalità di una relazione identifica quante istanze di una certa entità si collegano ad una istanza di un altra entità Relazione uno-a-uno Relazione uno-a-molti o molti-a-uno Relazione molti-a-molti 17
Entità debole Facciamo l esempio delle entità studente e università, tra loro legate dalla relazione studia_in Qual è la chiave primaria dell entità studente? 18
Entità debole (2) E la matricola, a seconda dell università, i.e. possono esserci studenti con lo stesso numero di matricola in differenti università, ma non con la stessa matricola nella stessa università Una chiave primaria che dipende anche dalla relazione, da origine ad una entità debole 19
Relazioni n-arie Esiste anche la possibilità di dover utilizzare relazioni fra più di due entità In tale caso, si parla di relazioni n-arie 20
Gli attributi Gli attributi possono anche essere posizionati sulle relazioni 21
Uno schema E/R semplice Costruiamo lo schema E/R di una base di dati per memorizzare le risposte date al questionario introduttivo. Il questionario è composto da 9 domande a risposta multipla; degli studenti ci interessa la matricola, l età ed il sesso 22
Le entità e le relazioni Identificazione delle entità Questionario Studente Identificazione delle relazioni Lo studente riempie il questionario 23
Uno schema E/R complesso Costruiamo lo schema E/R di una base di dati per il seguente studio: Analisi geografica di morbilità di malattie neoplastiche, con disaggregazione per sede elettorale, a seguito dell installazione di una industria chimica che prevede, nel ciclo di lavorazione, l emissione di gas in aria 24
Le entità e le relazioni Identificazione delle entità Sede elettorale Paziente Patologia Identificazione delle relazioni Il paziente risiede in una sede elettorale Il paziente soffre di una certa patologia 25
La sede elettorale Gli attributi dell entità sede elettorale Numero della sede (chiave primaria) Distanza dall industria chimica Numero di votanti 26
Il paziente Gli attributi dell entità paziente Identificatore numerico Sesso Età 27
La patologia Gli attributi dell entità patologia Codice DRG Diagnosi principale 28
La relazione risiede La relazione risiede fra il paziente e la sede elettorale Il paziente risiede in 1 sede elettorale In una sede elettorale risiedono n pazienti 29
La relazione soffre La relazione soffre fra il paziente e la patologia Un paziente può soffrire di n patologie Di una patologia soffrono n pazienti 30
Lo schema E/R completo Putting all together... 31
Esercizio Si vuole realizzare la base di dati di una palestra. Di tutti i dipendenti della palestra si conoscono dati anagrafici, ruolo e specializzazione. Ci sono istruttori, medico sportivo, segretaria e impiegati amministrativi. Si memorizzano le informazioni sui clienti, che includono il Codice Fiscale, il nome, l'indirizzo e un numero di telefono. Ogni cliente deve aver ottenuto un certificato di sana e robusta costituzione prima di cominciare l attività della palestra: occorre perciò assegnargli un appuntamento con uno dei medici sportivi che seguono la palestra. La data di inizio dell attività deve essere successiva alla data dell appuntamento. Per ognuno dei clienti si memorizzano gli esercizi che deve fare per seguire il programma che gli e' stato assegnato, e quale istruttore gli sia stato assegnato. Di ogni esercizio si sa il nome, i il muscolo principale coinvolto, la durata e le controindicazioni. Inoltre di ogni cliente si conosce la situazione dei suoi pagamenti:a che tipo di corso e' iscritto, da quando, quanto ha pagato, il costo complessivo e quando scade la prossima rata. Per ogni attrezzo si conosce la matricola, alcune caratteristiche (es. peso mine peso max che può supportare), la marca, il riferimento della ditta venditrice (per motivi di manutenzione), in quale sala si trova, per quali muscoli è utile. 32