INTRODUZIONE ALLE BASI DI DATI I Data Base Introduzione alle basi di dati Uno dei principali compiti dei sistemi informatici è l'attività di raccolta, organizzazione e conservazione dei dati. Tali sistemi garantiscono che questi dati siano conservati in modo permanente su dispositivi per la loro memorizzazione, e permettendone l’aggiornamento rendendone possibile l’accesso da parte degli utenti. 2 Sistemi informativi, informazioni e dati Sistemi informativi, informazioni e dati Da quanto detto se ne deduce che un sistema informativo non deve essere necessariamente in forma elettronica, infatti alcuni esempi di tali sistemi sono: archivi di banche o servizi anagrafici istituiti nei vari secoli. Per sistema informativo si intende quel sistema che permette la disponibilità e la gestione delle informazione. L’esistenza di un sistema informativo è indipendente dalla sua automazione. 3 4 Sistemi informativi, informazioni e dati Sistemi informativi, informazioni e dati Un sistema informativo automatizzato, e quindi dipendente da un calcolatore elettronico, diventa un sistema informatico, cioè un sistema in cui l’informazione fruisce in maniera automatica, cosa che non avveniva nel sistema informativo. Nei sistemi informatici il concetto di rappresentazione e codifica viene portato all’estremo: le informazioni vengono rappresentate per mezzo di dati, che hanno bisogno di essere interpretati per fornire informazioni. 6 5 Sistemi informativi, informazioni e dati Dato Con il termine dato intendiamo ciò che è immediatamente presente alla conoscenza, prima di ogni elaborazione; elementi di informazione che devono essere elaborati. 7 8 Sistemi informativi, informazioni e dati Informazione Un sistema informatico si basa quindi su due nozioni essenziali: - L’informazione Con il termine Informazione intendiamo una notizia o elemento che consente di avere più conoscenza, più o meno esatta, dei fatti. - I dati 10 9 Sistemi informativi, informazioni e dati I dati da soli non hanno alcun significato e quindi non forniscono informazione, ma una volta interpretati in un certo contesto e correlati tra di loro in maniera opportuna, forniscono informazioni, che consentono di arricchire la nostra conoscenza della realtà che stiamo modellando o che hanno modellato altri esperti. Con la parola Data Base definiamo : Un insieme integrato di dati, logicamente coerenti ciascuno dei quali fornito di una appropriata descrizione e tale da soddisfare le necessità di diversi utenti. 11 12 I Data Base Problematiche della gestione tradizionale dei dati con l’uso di file distinti: Caratteristiche dei Data Base - Indipendenza tra dati e programmi - Ridondanza dei dati - Indipendenza del DB dal linguaggio utilizzato - Utilizzo in situazioni di multiutenza - Ripetitività degli aggiornamenti - Sicurezza dei dati (manomissione,segretezza) - Facilità di interrogazione - Incongruenza tra i dati - Evoluzione graduale nel tempo - Mutua dipendenza tra dati e programmi 14 13 I Data Base I Data Base Rappresentazione Informatica delle Informazioni: Ad ogni entità è necessario associare un nome (Nome di Entità), allo stesso modo ad ogni attributo è necessario associare un nome (Nome di Proprietà) e stabilirne il tipo. - Entità (Record) Rappresentano luoghi, persone, fatti, ecc. - Proprietà (Attributi o Campi) Caratterizzano le Entità. 15 16 I Data Base I Data Base In un Record vi sono alcuni campi che permettono di identificarlo univocamente, tali campi sono detti CHIAVI. Rappresentazione Informatica delle Informazioni: ES. Record Libro. Cod.Libro Nome Autore Nome Data Pres. DataRest. … … 18 17 I Data Base I Data Base Gerarchici Rappresentazione Informatica delle Informazioni: Hanno caratterizzato i primi Data Base, sono stati sviluppati verso la metà degli anni sessanta e sono oggi giorno utilizzati in varie installazioni di basi di dati. Questi tipi di Data Base si basano sugli alberi, ossia su strutture dati di tipo gerarchico. Le Chiavi si dividono in: - Chiavi Primarie - Chiavi Secondarie - Chiavi Singole - Chiavi Multiple 19 20 I Data Base Reticolari I Data Base Relazionali Sono stati progettati e ideati nel 1973 e poi perfezionati nel 1978. Sono nati come estensione del linguaggio di programmazione COBOL per la gestione di strutture di dati complesse. Il modello Reticolare è basato su grafi, ovvero sulle strutture dati a Reticolo. Se prendiamo i record di un database e li disponiamo uno sotto l’altro otteniamo una tabella formata da righe e colonne dove le righe sono i record e le colonne sono i campi. 22 21 I Data Base Relazionali I Data Base Relazionali ES. R E L A Z I O N E Record Libro. Codice Nome Autore Titolo Anno Prezzo 00001 00002 00003 00004 I Promessi Sposi Amleto La Divina Commedia I Malavoglia 1998 1995 1991 1998 Alessandro Manzoni William Shakespeare Dante Alighieri Giovanni Verga 30.000 28.000 26.000 43.000 23 Dicesi Relazione tra N insiemi D1,D2,…..,Dn un insieme di n-uple ordinate (d1,d2,…,dn) tale che l’elemento d1 appartiene all’insieme D1, l’elemento d2 appartiene all’insieme D2, ….. l’elemento dn appartiene all’insieme Dn. 24 Il modello Entità Relazione Il modello Entità Relazione • Entita’ • Relazioni • Attributi 26 25 I Data Base Relazionali I Data Base Relazionali R E L A Z I O N E OPERAZIONI SULLE TABELLE ¬6HOH]LRQH 6HOH]LRQH - Con il termine “&DUGLQDOLW &DUGLQDOLWàGHOOD &DUGLQDOLW GHOOD 5HOD]LRQH” 5HOD]LRQH definiamo il numero dei record presenti nella relazione. - Con il termine “*UDGRGHOOD5HOD]LRQH *UDGRGHOOD5HOD]LRQH” *UDGRGHOOD5HOD]LRQH definiamo il numero dei campi presenti nella relazione. 27 Si genera una tabella con lo stesso numero di colonne ma con un minore numero di righe. 28 I Data Base Relazionali I Data Base Relazionali OPERAZIONI SULLE TABELLE OPERAZIONI SULLE TABELLE ES. ¬3URLH]LRQH 3URLH]LRQH Codice Nome Autore 0002 0003 Titolo Anno Prezzo William Shakespeare Amleto 1995 Dante Alighieri La Divina Commedia 1991 28.000 26.000 Si genera una tabella con lo stesso numero di righe ma con un minore numero di colonne. Si ottiene una tabella in cui compaiono solo i libri il cui costo è inferiore alle 30.000 lire. 30 29 I Data Base Relazionali I Data Base Relazionali OPERAZIONI SULLE TABELLE OPERAZIONI SULLE TABELLE ES. Codice Nome Autore Titolo 00001 00002 00003 00004 I Promessi Sposi Amleto La Divina Commedia I Malavoglia Alessandro Manzoni William Shakespeare Dante Alighieri Giovanni Verga Si ottiene una tabella in cui compaiono solo i codici e i titoli dei libri in possesso. 31 ¬&RQJLXQ]LRQH &RQJLXQ]LRQH Consente di fondere due tabelle, ossia due diverse relazioni in una unica. Viene generata una tabella con lo stesso numero di righe ma con un numero di colonne pari alla somma delle colonne delle due tabelle originarie menu una unità. 32 I Data Base Relazionali I Data Base Relazionali Se ad esempio vogliamo unire le due tabelle seguenti: Con la seguente: Record Case Editrici. Record Libro. Codice Nome Autore Titolo Anno Prezzo 00001 00002 00003 00004 I Promessi Sposi Amleto La Divina Commedia I Malavoglia 1998 1995 1991 1998 Alessandro Manzoni William Shakespeare Dante Alighieri Giovanni Verga 30.000 28.000 26.000 43.000 Codice Libro Editore 00001 00002 00003 00004 Mondadori Boringhieri Einaudi Feltrinelli 34 33 I Data Base Relazionali I Data Base Relazionali • Problema Come organizzare i dati nelle tabelle in modo efficace ed efficiente? – Evitare contraddizioni – Permettere l’ottimizzazione delle interrogazioni Otteniamo : Cod. Editore Nome Autore Titolo Anno Prezzo 00001 Mondadori Alessandro Manzoni I Promessi Sposi 1998 30.000 00002 Boringhieri William Shakespeare Amleto 1995 28.000 00003 Einaudi Dante Alighieri La Divina Commedia 1991 26.000 00004 Feltrinelli Giovanni Verga I Malavoglia 1998 43.000 35 36 I Data Base Relazionali I Data Base Relazionali A C C E S S A C C E S S - E’ un DB relazionale che lavora sotto Windows - Comprende numerose tabelle, query, schede, rapporti, macro, e moduli in Visual Basic. Questi elementi sono chiamati Oggetti Database e sono riuniti tutti insieme in un unico file - I dati relativi a un determinato argomento possono essere gestiti come un insieme coerente che prende il nome di database. Access, per questa sua capacità di gestire i dati, viene anche definito DBMS (Data Base Management System) che è un software specifico per l’organizzazione e la gestione dei dati. 38 37 I DBMS ( lo schema logico ) I DBMS ( lo schema interno ) Un DBMS si articola in tre livelli detti rispettivamente esterno, logico e interno; per ciascun livello esiste uno schema. · Schema interno: costituisce la rappresentazione dello schema logico per mezzo di strutture fisiche di memorizzazione (il tipo di file utilizzato per salvare la base di dati). costituisce la • · Schema logico: descrizione dell’intera base di dati per mezzo del modello logico (nel nostro caso è il modello relazionale), adottato dal DBMS. 39 40 I DBMS ( lo schema esterno ) · Schema esterno: costituisce la descrizione di una porzione della base di dati per mezzo del modello logico (ad esempio creazione temporanea di tabelle (viste) attraverso delle interrogazioni al database). N.B.: Gli accessi ad una base di dati possono avvenire solo attraverso lo schema esterno. 41