Lezione 2 – Basi di Dati Definizione del Problema Il magazzino medico dell’Università è situato al primo piano E’ formata da 10 corridoi Ogni corridoio ha 5 piani di scaffali a destra e 5 a sinistra su cui sono posizionati i farmaci In totale sono contenuti 1.500.000 farmaci Definizione del Problema La velocità di lettura del nome di un farmaco è di 1 secondo Quanto tempo impiega l’addetto a trovare il farmaco “plasil”? Caso Migliore Accede al corridoio ed il primo nome che legge è quello desiderato Velocità di lettura = 1 nome al secondo Ha letto 1 nome di farmaco 1 secondo TROPPO FORTUNATO!!! Caso Peggiore Visita senza successo 9 corridoi Trova il farmaco come ultimo nome letto Velocità di lettura = 1 nome al secondo Ha letto 1.500.000 farmaci, senza considerare la stanchezza: 1.500.000 secondi 17,36 giorni TROPPO SFORTUNATO!!! Caso Medio Visita 4 corridoi visualizzando farmaci su scaffali a destra ed a sinistra senza trovare quello desiderato Nel mezzo del quinto corridoio trova il farmaco Ha letto circa 750.000 nomi di farmaci Caso Medio Velocità di lettura = 1 nome al secondo Nomi letti 750.000 Senza considerare la stanchezza: 750.000 secondi 12.500 minuti 208,33 ore 8,68 giorni Altri Problemi Un’ospedale ha 5 piani, in ogni piano ci sono 1.000 posti per ricovero Totale 5.000 posti Quanto tempo occorre per decidere se è possibile ricoverare un paziente? Quanto tempo occorre per sapere la postazione di un paziente? La Tecnologia in aiuto Occorre “qualcosa” che ci permetta di ottenere risposte rapidamente Occorre automatizzare i processi Occorre un Sistema Informatico che gestisca la struttura Introduzione Nello svolgimento di ogni attività, sia a livello individuale sia in organizzazioni di ogni dimensione, sono essenziali la disponibilità delle informazioni e la capacità di gestirle in modo efficiente Introduzione Ogni organizzazione è quindi dotata di un Sistema Informativo che svolge i seguenti compiti: Raccogliere dati Conservare i dati raccolti archiviandoli Elaborare i dati trasformandoli in informazioni Concetti Fondamentali Nella vita di tutti i giorni si ha la necessità di gestire e manipolare dati Le operazioni solite sono: Ricerca Inserimento Aggiornamento Cancellazione Tutto ciò significa creare e gestire degli archivi destinati a contenere tali informazioni, ovvero realizzare dei database. Base di Dati Una Base di Dati (o database) è una collezione di dati, utilizzati per rappresentare le informazioni Essa deve essere: Persistente: deve essere duratura nel tempo. Condivisa: deve permettere la multiutenza, applicazioni e utenti diversi devono poter accedere a dati comuni Affidabile: deve essere resistente a malfunzionamenti hardware o software DataBase Management System Un DBMS è un insieme di programmi che permettono agli utenti di creare e mantenere una base di dati. Il DBMS è un sistema software con scopi generali, che facilita il processo di definire, costruire, manipolare e condividere basi di dati per varie applicazioni Base di Dati = dati + DBMS Modellazione Concettuale I problemi che si affrontano per progettare un database e sapere quali informazioni inserire in un database e quali legami esistono tra di essi. E’ quindi necessario creare uno schema concettuale di un database, dal quale e possibile derivare la struttura dei dati secondo il modello logico del DBMS. Uno strumento per esprimere schemi concettuali sono i diagrammi Entità-Relazione modello E-R Elementi Nei diagrammi E/R ci sono 3 elementi: Entità Relazioni Entità Relazione Attributi attributo Entità E’ l’oggetto base del modello E-R Può essere un oggetto con una consistenza fisica Oggetto che esiste a livello concettuale Corso Azienda Studente Attributi Proprietà particolari che descrivono le entità Essi possono essere: Atomici: contengono un solo valore e non sono scomponibili (es. nome) Strutturati: contengono più valori, quindi sono scomponibili (es. indirizzo) Attributi Strutturati Indirizzo Via Città CAP Attributi Semplici (a valore singolo): la maggior parte degli attributi ha un valore singolo: Età Macchine con un solo colore Persone con una laurea Multivalore: esistono attributi con più valori: Una persona ha più lauree Più numeri di telefono Più residenze Una macchina ha più colori Relazioni Rappresentano i legami che ci sono tra le varie entità Praticamente collegano due o più entità Una relazione e dotata di due versi Entità di arrivo Entità di partenza Relazioni Un’associazione non e altro che una relazione matematica tra due insiemi Supponiamo di avere due insiemi X e Y: X Y X1 Y1 X2 Y2 X3 Y3 Associazioni Si possono individuare molti tipi di associazioni tra i 2 insiemi X e Y Diremo che l’associazione e: Univoca: se preso un elemento del dominio esso ha uno e un solo corrispondente nel codominio. Biunivoca: se presi due elementi del dominio essi hanno corrispondenti diversi nel codominio Associazione Biunivoca Se presi due elementi del dominio essi hanno corrispondenti diversi nel codominio X1 e X3 corrispondo a diversi valori di Y X Y X1 Y1 X2 Y2 X3 Y3 Molteplicità Le associazioni sono caratterizzate dalla molteplicità Il numero massimo di istanze di associazione a cui può partecipare un’entità: 1:1 ogni direttore dirige un dipartimento un dipartimento ha un solo direttore 1:N ogni studente e iscritto a N corsi N:M ogni studente può aver sostenuto più di un esame Esempio M Studenti seguono N Corsi N Corsi sono Seguiti da M Studenti Studente M Segue N Corso