SISTEMI INFORMATIVI TERRITORIALI DATABASES -LEZIONE 3 Patrizio Pelliccione patrizio.pelliccione@di.univaq.it Dipartimento di Informatica Università degli Studi dell Aquila RINGRAZIAMENTI Queste slides sono basate su del materiale fornito dal Dott. Tivoli e dalla Dott.ssa Di Marco 2 1
TESTO DI RIFERIMENTO Basi di Dati concetti, linguaggi e architetture Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone McGraw-Hill 3 OBIETTIVI modelli per l'organizzazione dei dati. metodologie per la progettazione di basi di dati. linguaggi per l'accesso e la manipolazione dei dati. sistemi per la gestione dei dati. 2
SOMMARIO Sistema informativo e Dati Basi di Dati e DataBase Management Systems (DBMS) Metodologia di progettazione delle basi di dati Progettazione Concettuale e Modello Entità- Relazione Modellazione Logica e Modello Relazionale Linguaggio SQL Esempi pratici Normalizzazione Cos è un sistema informativo? Componente (sottosistema) di una organizzazione che gestisce (acquisisce, elabora, conserva, produce) le informazioni di interesse (cioè utilizzate per il perseguimento degli scopi dell organizzazione stessa). Ogni organizzazione ha un sistema informativo. Il sistema informativo è di supporto ad altri sottosistemi. Il sistema informativo è di solito suddiviso in sottosistemi. 3
Il concetto di sistema informativo è indipendente da qualsiasi automatizzazione. Porzione automatizzata del sistema informativo Sistema informatico 4
Gestione delle informazioni Nelle attività umane, le informazioni vengono gestite (registrate e scambiate) in forme diverse. Nelle attività standardizzate dei sistemi informativi complessi, sono state introdotte col tempo forme di organizzazione e codifica delle informazioni. SISTEMA INFORMATIVO E DATI Informazione: notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere. Dato: ciò che è immediatamente presente alla conoscenza, prima di ogni elaborazione in informatica: elementi di informazione costituiti da simboli che debbono essere elaborati. 5
SISTEMA INFORMARIVO E DATI Perché i dati? La rappresentazione precisa di forme più ricche di informazione e conoscenza è difficile I dati costituiscono spesso una risorsa strategica, perché più stabili nel tempo di altre componenti (processi, tecnologie, ruoli umani) CICLO DI VITA DI UN SISTEMA INFORMATIVO Studio di fattibilità Raccolta dei requisiti Progettazione Implementazione Validazione e collaudo Funzionamento 12 6
SOMMARIO Sistema informativo e Dati Basi di Dati e DataBase Management Systems (DBMS) Progettazione Concettuale e Modello Entità- Relazione Modellazione Logica e Modello Relazionale Linguaggio SQL Esempi pratici Normalizzazione Cos è un DB? Insieme organizzato di dati utilizzati per il supporto allo svolgimento delle attività di un ente (azienda, ufficio, persona). Cos è un DataBase Management System? È un software progettato per immagazzinare e gestire un database. 7
Alcuni DBMS in commercio: Access DB2 Oracle Informix Sybase Le basi di dati sono Grandi: di solito piu' della memoria centrale: vanno gestite in memoria secondaria L'unico limite deve essere la dimensione della memoria secondaria Persistenti: I dati hanno un ciclo di vita che dura nel tempo Un'altra ragione per la gestione in memoria secondaria Condivise: Una base di dati e' una risorsa integrata, condivisa fra le varie applicazioni 8
Ridondanza: informazioni ripetute Rischio di incoerenza: le due versioni possono non coincidere Gestione orario lezioni Gestione ricevimento Base di dati Condivisione: conseguenze Attivita' diverse su dati in parte condivisi: meccanismi di autorizzazione Attivita' multi-utente su dati condivisi: controllo della concorrenza 9
I DBMS permettono una gestione dei dati... Affidabile Efficiente Efficace: Capacita' di rendere produttive le attivita' dei suoi utilizzatori Perché usare un DBMS? Indipendenza dei dati e efficienza nell accesso ad essi. Riduzione del tempo di sviluppo dell applicazione. Integrità e sicurezza dei dati. Gestione uniforme dei dati. Accessi concorrenti e recupero in caso di cadute del sistema. 10
Lo schema della base di dati Orario Insegnamento Docente Aula Ora L'istanza della base di dati Orario Insegnamento Docente Aula Ora Analisi matem. I Luigi Neri N1 8:00 Basi di dati Piero Rossi N2 9:45 Chimica Nicola Mori N1 9:45 Fisica I Mario Bruni N1 11:45 Fisica II Mario Bruni N3 9:45 Sistemi inform. Piero Rossi N3 8:00 Architettura di un DBMS utente Schema logico Schema interno BD Schema logico: descrizione della base di dati nel modello logico Schema fisico: rappresentazione dello schema logico per mezzo di strutture memorizzazione (file) 11
Indipendenza dei dati il livello logico è indipendente da quello fisico: una tabella è utilizzata nello stesso modo qualunque sia la sua realizzazione fisica (che può anche cambiare nel tempo) Modello dei dati Insieme di costrutti utilizzati per organizzare i dati di interesse e descrivere le operazioni su di essi Regole Per gli schemi Per le istanze Due tipi di modello: Logico concettuale 12
Modelli logici: descrivono l organizzazione dei dati nei DBMS "visibile" all'utente sono indipendenti dalle strutture fisiche esempi: relazionale, reticolare, gerarchico, a oggetti Modelli concettuali: hanno l'obiettivo di descrivere i concetti del mondo reale utilizzati nelle fasi iniziali della progettazione il più noto: Entity-Relationship SOMMARIO Sistema informativo e Dati Basi di Dati e DataBase Management Systems (DBMS) Metodologia di progettazione delle basi di dati Progettazione Concettuale e Modello Entità- Relazione Modellazione Logica e Modello Relazionale Linguaggio SQL Esempi pratici Normalizzazione 13
METODOLOGIA DI PROGETTAZIONE DELLE BASI DI DATI Si basa su un principio semplice ma efficace: separazione netta tra decisioni relative a : che cosa rappresentare come farlo Progettazione concettuale CHE COSA Progettazione logica COME Progettazione fisica 14
I prodotti della varie fasi sono schemi di alcuni modelli di dati: Schema concettuale Schema logico Schema fisico modello di dati: strutture da utilizzare per organizzare i dati di interesse componente fondamentale: costruttori di tipo esempio: il modello relazionale prevede il costruttore di relazione Rappresentazione dei dati nel modello relazionale DOCENZA Corso Basi di dati Impianti Linguaggi Docente Rossi Neri Verdi. MANIFESTO CdL Materia Anno II Basi di dati 5 II Impianti 5 II Linguaggi 4 IE Linguaggi 5 IE Impianti 5 15
Due componenti: lo schema, sostanzialmente invariante nel tempo, che descrive la struttura (aspetto intensionale) l istanza, costituita dai valori attuali, che possono cambiare molto (aspetto estensionale) Due tipi (principali) di modelli modelli logici: indipendenti dalle strutture fisiche ma disponibili nei DBMS modelli concettuali: indipendenti dalle modalità di realizzazione 16
Progettazione concettuale Progettazione logica Progettazione fisica Nella prima fase si fa uso di un modello concettuale è prevalente l aspetto intensionale si adottano rappresentazioni grafiche utile anche per scopi documentativi Vediamo nel dettaglio un modello concettuale 17
SOMMARIO Sistema informativo e Dati Basi di Dati e DataBase Management Systems (DBMS) Metodologia di progettazione delle basi di dati Progettazione Concettuale e Modello Entità- Relazione Modellazione Logica e Modello Relazionale Linguaggio SQL Esempi pratici Normalizzazione MODELLO ENTITÀ-RELAZIONE Il più diffuso modello concettuale I costrutti del modello E-R Entità Relazione Attributo Identificatore Generalizzazione. 18
ENTITÀ Classe di oggetti (fatti, persone, cose) della applicazione di interesse con proprietà comuni e con esistenza autonoma Esempi: impiegato fattura città conto corrente ordine studente RELAZIONE Legame logico, significativo per l applicazione di interesse, fra due o più entità. Esempi: Residenza (tra Persona e Citta) Afferenza (tra Impiegato e Dipartimento) 19
UNO SCHEMA E-R Studente Esame Corso Occorrenza (o istanza) di entità: oggetto della classe che l entità rappresenta nello schema concettuale rappresentiamo le entità, non le singole istanze ( astrazione ) 20
ENTITÀ Classe di oggetti (fatti, persone, cose) della applicazione di interesse con proprietà comuni e con esistenza autonoma Esempi: impiegato fattura città conto corrente ordine studente RAPPRESENTAZIONE GRAFICA DI ENTITÀ Impiegato Dipartimento Città Vendita 21
Ogni entità ha un nome che la identifica univocamente nello schema: nomi espressivi opportune convenzioni singolare Relazioni Legame logico, significativo per l applicazione di interesse, fra due o più entità. Esempi: Residenza (tra Persona e Città) Afferenza (tra Impiegato e Dipartimento) 22
RAPPRESENTAZIONE GRAFICA DI RELAZIONE Studente Esame Corso Impiegato Residenza Città Ogni relazione ha un nome che la identifica univocamente nello schema: nomi espressivi opportune convenzioni Singolare sostantivi invece che verbi 23