Sistemi Informativi e Basi di Dati Laurea Specialistica in Tecnologie di Analisi degli Impatti Ecotossicologici Docente: Francesco Geri Dipartimento di Scienze Ambientali G. Sarfatti Via P.A. Mattioli 4 53100 Siena Tel. 0577235408 francesco.geri@unisi.it
Basi di dati Le base di dati (database) rappresentano archivi che costituiscono una memoria di lavoro indispensabile per: Gestire quantità ingenti di informazioni Ordinare elementi utili Mettere in relazione gli elementi tra di loro Filtrare i dati
Sistemi DBMS I sistemi di gestione dei database o DBMS (Data Base Management System) consentono la gestione e l archiviazione dei dati contenuti nei database. Quindi tutte le funzionalità connesse alla gestione di uno o più database sono unificate in una singola piattaforma software. Un Data Base Management System (DBMS) è una collezione di programmi che permette di specificare i tipi, le strutture ed i vincoli dei dati da memorizzare memorizzare i dati su memoria di massa controllata dal DBMS aggiornare e interrogare la base di dati e creare reports dai dati
Progettazione di un database Progettazione concettuale Output: schema concettuale Cosa Progettazione logica Output: schema logico Come Progettazione fisica Output: database
Progettazione di un database Progettazione concettuale Definire formalmente una determinata realtà in funzione delle sue caratteristiche e dei rapporti esistenti fra i soggetti che interagiscono fra loro e con essa, astraendo dalle specifiche istanze e dal loro utilizzo Progettazione logica Definire formalmente la struttura della base di dati e le relazioni tra le entità coinvolte nella struttura della base di dati, in funzione dello schema concettuale, delle specifiche istanze e del loro utilizzo Progettazione fisica Descrivere le strutture di memorizzazione destinate ad accogliere i dati descritti nello schema logico, in funzione delle caratteristiche dello specifico DBMS e dell'utilizzo tipico dei dati (quali tabelle, quale tipo di dato, di quale dimensione, quali indici e di quale tipo, dimensione iniziale delle tabelle, autoallocazione di nuovo spazio...)
Modelli di dati Per rappresentare simbolicamente e logicamente i concetti del mondo reale si utilizzano i Modelli di dati: Modelli Concettuali: schemi grafici (simboli), utili nelle fasi preliminari di progettazione, impiegati per la descrizione di concetti astratti, in modo indipendente da qualsiasi sistema di elaborazione. Modelli Logici: schemi grafici che servono a tradurre i modelli concettuali in strutture logiche processabili da un DBMS, in modo indipendente da come di fatto vengono elaborati e memorizzati i dati.
Modello concettuale E-R Il più comune modello concettuale è il Modello E-R (Entità-Relazione), che utilizza le nozioni di Entità, Attributi e Relazioni: Un entità rappresenta un oggetto o un concetto del mondo reale Un attributo rappresenta qualche proprietà importante che descrive e caratterizza un entità Una relazione rappresenta un interazione tra le entità
Tipi di modelli logici Modello gerarchico Il modello gerarchico è basato su strutture ad albero (struttura gerarchica) A partire da un elemento definito padre si accedono ad altri elementi definiti figli, che a loro volta possono essere padri di altri elementi E stato definito intorno agli anni 60, è ancora molto diffuso.
Tipi di modelli logici Modello reticolare Il modello reticolare si è sviluppato successivamente a quello gerarchco, da cui deriva; Si basa sulla struttura dei grafi, quindi supera la rigidità della struttura ad albero del suo predecessore; La struttura risultante è quella di una rete di dati interconnessi da speciali set di dati definiti puntatori.
Modello logico Relazionale Il più comune modello logico è il Modello Relazionale, che permette di organizzare i dati in insiemi di record a struttura fissa (Relazione). I concetti che stanno alla base del modello relazionale sono quelli di relazione e tabella. La maggior parte dei SIT sono basati su modelli relazionali. Chiave primaria Campo Codice ID Nome Cognome Indirizzo Telefono CS/0001 Mario Rossi Via Verdi 5 02333 CS/0002 Anna Barile Via Righi 7 85452 CS/0003 Marco De Carolis Via Righi 2 15435 Relazione (=Tabella) Record
Teoria degli insiemi Alla base del modello logico relazionale vi sono concetti provenienti dalla teoria matematica degli insiemi ed in particolare. Insieme Prodotto cartesiano Relazione Dominio Chiave
Modello logico Relazionale Il modello relazionale si basa da un punto di vista formale su Relazioni e Valori; Entrambi i concetti derivano dalla matematica (teoria degli insiemi) Risponde al requisito di fornire un indipendenza tra livello concettuale, logico e fisico; Si differenzia dai predecessori perché è totalmente indipendente dalla struttura fisica che gestisce i dati (quindi da come il sistemi informatici memorizzano e mettono in relazioni i dati); Il modello relazionale, utilizzando le tabelle, permette di gestire i dati in modo molto più semplice e intuitivo, perché gli attributi memorizzati in tabelle diverse possono essere gestiti autonomamente;
Esempio di DB relazionale Modello concettuale Modello logico
Le relazioni tra tabelle Le relazioni sono corrispondenze tra tabelle e si realizzando attraverso speciali campi chiamati chiavi primarie e chiavi secondarie. In un database basato su un sistema logico relazionale esistono 3 tipi di relazioni: 1. Relazione uno a uno; 2. Relazione uno a molti; 3. Relazione molti a molti; Uno a uno
Le relazioni Uno a molti Molti a molti
Chiavi Le corrispondenze fra i dati di relazioni distinte si realizzano per mezzo di chiavi primarie e secondarie. Una chiave è un insieme di attributi utilizzato per identificare univocamente i record di una relazione Chiave primaria Matricola Nome Cognome Indirizzo Telefono ST/0001 Mario Rossi Via Verdi 5 02333 ST/0002 Anna Barile Via Righi 7 85452 ST/0003 Marco De Carolis Via Righi 2 15435
Chiavi Chiave primaria Chiave secondaria
Normalizzazione Il termine normalizzazione indica il processo di organizzazione dei dati in un database. Tale processo comprende la creazione di tabelle e la definizione di relazioni tra di esse, sulla base di regole progettate in modo da proteggere i dati e rendere il database più flessibile, mediante l'eliminazione della ridondanza e delle dipendenze incoerenti. La presenza di dati ridondanti comporta uno spreco di spazio su disco nonché problemi di manutenzione e funzionalità.
Le Forme Normali PRIMA FORMA NORMALE Un database è definito in prima forma normale se e solo se ciascun attributo è definito su un dominio di valori atomici. SECONDA FORMA NORMALE Un database è definito in seconda forma normale se è in 1FN e se ciascun attributo non primo è completamente dipendente dalla chiave primaria. TERZA FORMA NORMALE Un database è definito in terza forma normale se è in 2FN e se per ogni dipendenza funzionale X -> Y è vera una delle seguenti relazioni: X è una superchiave della relazione Y è un membro della chiave della relazione
Linguaggi per basi di dati Esistono linguaggi per la definizione dei dati Data Definition Languages DDL definizione dei modelli logici Esistono linguaggi di manipolazione dei dati Data Manipulation Languages DML interrogazione e aggiornamento dei database SQL (StructuredQueryLanguage) SQL come DDL: creazione tabelle SQL come DML: interrogazioni
MICROSOFT ACCESS Un esempio di software di gestione database Menu Avvio (Start) Programmi (Office) Microsoft Access
MICROSOFT ACCESS Le Tabelle Le Tabelle rappresentano un insieme di dati relativi ad un argomento specifico. Una tabella può ad esempio contenere dati relativi a libri o autori. Sono strutturate in righe (record) e colonne (campi). Ciascun campo contiene un informazione relativa all argomento della tabella. Ad esempio può contenere un informazione relativa ad un libro, come il suo titolo, o ad un autore, quale ad esempio il suo nome. Ciascun record contiene tutte le informazioni relative ad un entità di quell argomento, cioè ad es. un determinato libro o autore. E possibile visualizzare una tabella in due modalità: Struttura o Foglio dati. Visualizzando una tabella con la prima modalità è possibile creare o modificare la struttura della tabella stessa, cioè definire il nome e il tipo dei campi. Visualizzando la tabella in modalità foglio dati è invece possibile modificare o aggiungere dati alla tabella stessa.
MICROSOFT ACCESS Le Query Le Query rappresentano richieste di informazioni relative ai dati memorizzati in una o più tabelle. I dati che costituiscono la risposta alla query formano il DYNASET, cioè una vista selettiva e provvisoria dei dati estratti. Ad ogni esecuzione della query, sul dynaset saranno disponibili le informazioni aggiornate. E possibile visualizzare una query in tre modalità: Struttura, Foglio dati, SQL. La prima modalità di visualizzazione viene utilizzata per creare o modificare la struttura di una query. E con questo tipo di visualizzazione che è possibile effettuare una ricerca sui dati, specificando il tipo di dati desiderato ed il loro ordinamento. La seconda modalità di visualizzazione consente invece di aggiungere, modificare o analizzare i dati. La terza modalità è il formato di memorizzazione interna di Access per la query, corrispondente al linguaggio SQL standard con alcune integrazioni.
MICROSOFT ACCESS Le maschere Una maschera presenta i seguenti vantaggi funzionali: efficienza: una maschera visualizza solo determinate informazioni nel modo desiderato; semplicità: in una maschera di Microsoft Access si utilizzano controlli quali le caselle di testo e le caselle di controllo che sono familiari agli utenti di Windows; veste grafica (presentazione): una maschera può essere colorata e personalizzata utilizzando un ampia varietà di elementi grafici. Anche le maschere possono essere visualizzate in tre modalità che prendono il nome di Struttura, Maschera e Foglio Dati. E possibile aggiungere sulla maschera, tramite la casella degli strumenti, dei controlli legati ad un campo di una tabella o di una query (controlli casella di testo) oppure controlli contenenti testo (controlli etichetta) o immagini (controlli immagini). La visualizzazione maschera consente invece di aggiungere, modificare o analizzare i dati, accedendo alla tabella un record alla volta.
MICROSOFT ACCESS I report I Report vengono utilizzati per la formattazione, il calcolo, la stampa e il riassunto/raggruppamento dei dati selezionati. I report consentono di rappresentare i dati con un accurato profilo estetico grazie alla possibilità di controllare le dimensioni e l aspetto di tutti gli elementi del report (intestazioni, piè di pagina, corpo e titoli). Un report lo si può visualizzare come Struttura, Anteprima di stampa e Anteprima di Layout. La visualizzazione della struttura consente di creare o modificare dei report. E possibile, con questa modalità di visualizzazione, aggiungere dei controlli legati ai campi di una tabella o di una query oppure controlli che calcolano totali o percentuali. L Anteprima di stampa mostra il report esattamente come apparirà una volta stampato, ma senza tutti i dettagli dell Anteprima di Layout