Introduzione ai calcolatori Elettronici Cenni su Basi di Dati A.A. 2015/2016 Domenica Sileo Università degli Studi della Basilicata
Cenni su Basi di Dati >> Basi di Dati: Sommario Sommario n Introduzione n Sistema Informativo n Database Management System (DBMS) n Modello dei Dati n Progettare una base di dati n Tipologie di DBMS n Panoramica sui DBMS Relazionali n Database vs foglio Elettronico
Cenni su Basi di Dati >> Basi di Dati : Introduzione Introduzione n Oggetto della lezione n Sistemi di Gestione di Basi di Dati o Database Management Systems (DBMS) n Sono tipicamente utilizzati nelle organizzazioni complesse n molti dati da gestire n processi complessi n i dati sono cruciali per lo svolgimento delle attività
Cenni su Basi di Dati >> Basi di Dati : Introduzione Introduzione n In particolare n i DBMS sono una componente fondamentale del sistema informatico di una grande organizzazione n Un sistema informatico è una componente fondamentale del sistema informativo n ed una componente fondamentale del sistema organizzativo
Cenni su Basi di Dati >> Basi di Dati : Introduzione Introduzione n Organizzazione complessa (es: azienda, banca, ente pubblico, ma anche fantacalcio ) è dotata di un sistema organizzativo e informativo n Sistema Organizzativo n complesso delle strutture, delle regole e delle procedure che regolano lo svolgimento delle attività n Es: banca regolamento apertura c/c n Es: anagrafe procedure per la reg. nascite
Cenni su Basi di Dati >> Basi di Dati : Sistema Informativo Sistema Informativo n Sistema informativo n la parte del sistema organizzativo che presiede ai processi di raccolta, conservazione e utilizzo delle informazioni n L esistenza del sistema informativo è in parte indipendente dalla sua automatizzazione n esistono ancor prima dei calcolatori elettronici (es. archivi delle banche) n Esempi n banca registrazione prelievi su c/c, emissione estratto conto; anagrafe registrazione nascita emissione certificato di nascita
Cenni su Basi di Dati >> Basi di Dati : Sistema Informatico Sistema Informatico n Sistema informatico n la porzione informatizzata e automatizzata del sistema informativo n Collezione di applicazioni che gestiscono i dati e i flussi informativi n In pratica, in molti casi: n sistema informativo = sistema informatico n ma non è sempre così
Cenni su Basi di Dati >> Basi di Dati : Sistema Informatico Sistema Informatico n Informazione n notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere n Dato n ciò che è immediatamente presente alla conoscenza, prima di ogni elaborazione; (in informatica) elementi di informazione costituiti da simboli che devono essere elaborati
Cenni su Basi di Dati >> Basi di Dati : Sistema Informatico Sistema Informatico n I dati devono essere interpretati per diventare informazioni (conoscenza) n Esempio: 1 3 10 12 17 20 21 30 n Risultati del Totogol concorso 28 del 3 marzo 2002 n 1 3 10 12 17 20 21 30 Quote 8pt: 215.594,00
Cenni su Basi di Dati >> Basi di Dati : Definizione Basi di Dati n È una collezione di dati utilizzati per rappresentare le informazioni di interesse per un sistema informatico n Osservazione n i dati hanno caratteristiche più stabili rispetto a quelle delle procedure che operano su di essi, e quindi costituiscono una risorsa per l organizzazione che li gestisce
Cenni su Basi di Dati >> Basi di Dati : Definizione Basi di Dati Struttura a livelli n obiettivo dei DBMS: il trattamento dei dati per ottenere informazione Organizzazione complessa (es: azienda) Sistema organizzativo Sistema informativo Sistema informatico DBMS
Cenni su Basi di Dati >> Basi di Dati : Sistema Informatico Sistema informatico n I sistemi informatici n sono presto stati considerati fondamentali nelle grandi organizzazioni n Esistono da prima che esistessero i DBMS n Erano basati su un architettura diversa rispetto a quella attuale
Cenni su Basi di Dati >> Basi di Dati : Sistema Informatico Sistema informatico n Architettura tradizionale: applicazioni e file per memorizzare i dati in modo persistente sulla memoria di massa Applicazione n.1 Es: dati nascite Disco Applicazione n.2 Es: certif. elettorali File A File C File B Applicazione n.3 Es: erogazione contr.
Cenni su Basi di Dati >> Basi di Dati : Sistema Informatico Sistema informatico n Un file consente di memorizzare e ricercare dati, ma fornisce solo semplici meccanismi di accesso e condivisione n Nelle applicazioni le procedure scritte in un linguaggio di programmazione sono completamente autonome n Ciascuna di esse definisce e utilizza uno o più file privati n Eventuali dati di interesse per più programmi vengono replicati tante volte per quanti programmi li utilizzano
Cenni su Basi di Dati >> Basi di Dati : Sistema Informatico Sistema informatico n Problemi principali di questa architettura n dimensioni dei dati n efficienza n condivisione dell accesso (ridondanza) n affidabilità n sicurezza
Cenni su Basi di Dati >> Basi di Dati : Sistema Informativo Esempio: Informazioni dei docenti n Ufficio del personale n Gestione carriera n Presidenze di facoltà n Incarichi di insegnamento n Web ateneo n Informazioni dei corsi e dei docenti n Ufficio Stipendi n Informazioni sulla carriera e sugli incarichi didattici per le retribuzioni
Cenni su Basi di Dati >> Basi di Dati : DBMS Database Management System (DBMS) n Architettura basata su DBMS: gestisce in modo integrato e flessibile le informazioni di interesse per diversi soggetti limitando i rischi di ridondanza e incoerenza Appl. n.1 Appl. n.2 DBMS (servizi) Base di Dati (dati)
Cenni su Basi di Dati >> Basi di Dati : DBMS Database Management System (DBMS) n Sistema per gestire grandi collezioni di dati persistenti n in modo n Efficiente n Efficace n garantendo servizi di: n Condivisione n Affidabilità n Sicurezza e privatezza
Cenni su Basi di Dati >> Basi di Dati : DBMS Database Management System (DBMS) n Grandi n possono avere dimensioni enormi e comunque molto maggiori della memoria centrale disponibile n Devono prevedere la gestione in memoria secondaria n Condivise n Diverse applicazioni e utenti devono poter accedere a dati comuni n Si riduce la ridondanza dei dati (evitando ripetizioni) e si riduce la possibilità di inconsistenza n Si dispone di meccanismi per la gestione della concorrenza
Cenni su Basi di Dati >> Basi di Dati : DBMS Database Management System (DBMS) n Persistenti n Hanno un tempo di vita che non è limitato a quello delle singole esecuzioni dei programmi che le utilizzano n Affidabilità n Capacità del sistema di conservare il contenuto delle basi di dati anche in caso di guasti n Garantiscono funzionalità di salvataggio e ripristino (recupero dei dati in caso di guasti)
Cenni su Basi di Dati >> Basi di Dati : DBMS Database Management System (DBMS) n Sicurezza e Privatezza n Ciascun utente viene abilitato a svolgere soltanto alcune azioni sui dati attraverso dei meccanismi di autorizzazione n Esempio: n l accesso ai dati dei cittadini è protetto agli utenti non autorizzati n gli utenti autorizzati (impiegati) hanno diversi livelli di autorizzazione
Cenni su Basi di Dati >> Basi di Dati : DBMS Database Management System (DBMS) n Caratteristiche del DBMS n efficienza, efficacia n Efficienza n utilizzo di risorse di calcolo (tempo e spazio) accettabile per gli utenti n relativa alla complessità dei servizi n Efficacia n Rendono produttive le attività dei loro utenti n centralizzazione dei servizi n semplicità della scrittura di applicazioni
Cenni su Basi di Dati >> Basi di Dati : DBMS Database Management System (DBMS) utenti finali utenti casuali applicazioni programmatori applicativi DBMS amministratori Base di Dati
Cenni su Basi di Dati >> Basi di Dati : DBMS Database Management System (DBMS) n Alcuni esempi di DBMS n varie categorie di licenza n Commerciali, Fascia alta n IBM DB2, Oracle, Microsoft SQL Server, Sybase n Commerciali, Fascia bassa n Microsoft Access, FileMaker n Open Source n MySQL (www.mysql.com) n PostgreSQL (www.postgresql.org)
Modello dei Dati Cenni su Basi di Dati >> Basi di Dati : DBMS >> Modello dei dati n Come fanno le applicazioni e gli utenti a interagire con il DBMS? n devono conoscere l organizzazione dei dati n devono sapere come comunicare con il DBMS n Devono conoscere: n Il modello dei dati del DBMS n Il linguaggio del DBMS
Modello dei Dati Cenni su Basi di Dati >> Basi di Dati : DBMS >> Modello dei dati n Il modello dei dati rappresenta l insieme di strutture e di regole per la rappresentazione delle informazioni e per renderle comprensibili ad un elaboratore n Modello logico dei dati n astrazione per il programmatore ma riflettono una particolare organizzazione (per es. tabelle, a grafi, ad alberi, etc..) n Modello fisico dei dati n al livello della macchina
Modello dei Dati Cenni su Basi di Dati >> Basi di Dati : DBMS >> Modello dei dati n Ogni modello fornisce dei meccanismi di strutturazione n Esempi di modello logico n In linguaggio C: tipi base, array, strutture, puntatori n In linguaggio Java: tipi base, array, classi, oggetti, ereditarietà n Esempi di modello fisico n strutture per la rappresentazione dei bit (registri della memoria, file su disco)
Modello dei Dati Cenni su Basi di Dati >> Basi di Dati : DBMS >> Modello dei dati n Ogni DBMS è basato su precisi modelli n Modello logico n descrizione dei dati visibili alle applicazioni n Modello fisico n strutture per la gestione della persistenza su disco
Progettare una base di dati Cenni su Basi di Dati >> Basi di Dati : DBMS >> Progettazione n Problema affrontato: voglio organizzare le informazioni relative una certa realtà in un DB n voglio mantenere informazioni su quali studenti hanno sostenuto quali esami e con quale risultato n quindi mettere in relazione le informazioni relative agli studenti e quelle relative ai corsi
Progettare una base di dati Cenni su Basi di Dati >> Basi di Dati : DBMS >> Progettazione n Problema affrontato: voglio organizzare le informazioni relative una certa realtà
Progettare una base di dati Cenni su Basi di Dati >> Basi di Dati : DBMS >> Progettazione n Data una realtà da modellare (es. studenti e corsi) occorre capire quali informazioni sono utili (es. matricola è utile per rappresentare gli studenti) n Capire come le informazioni utili sono correlate (es. chi ha sostenuto quale esame) n Sapere chi può accedere a quali informazioni per eseguire quali azioni n Avere strumenti per operare interrogazioni sui dati (es. quanti esami ha sostenuto Rossi nel 2002? Con quale media?)
Progettare una base di dati Cenni su Basi di Dati >> Basi di Dati : DBMS >> Progettazione n Data una realtà da modellare (es. studenti e corsi) occorre capire quali informazioni sono utili (es. matricola è utile per rappresentare gli studenti) n Capire come le informazioni utili sono correlate (es. chi ha sostenuto quale esame) n Sapere chi può accedere a quali informazioni per eseguire quali azioni n Avere strumenti per operare interrogazioni sui dati (es. quanti esami ha sostenuto Rossi nel 2002? Con quale media?)
Progettare una base di dati Cenni su Basi di Dati >> Basi di Dati : DBMS >> Progettazione n Analisi dei Requisiti n Raccolta e studio delle funzionalità che il sistema dovrà avere n Comporta l interazione con gli utenti del sistema e si conclude in una descrizione informale dei suoi requisiti Analisi dei requisiti Descrizione informale
Progettare una base di dati Cenni su Basi di Dati >> Basi di Dati : DBMS >> Progettazione n Analisi Concettuale n Ha lo scopo di rappresentare la realtà di interesse in termini di una descrizione precisa e completa ma indipendente dai criteri di rappresentazione usati dal sistema informatico scelto per gestire la base di dati (rappresentazione astratta ) modello entity-relation
Progettare una base di dati Cenni su Basi di Dati >> Basi di Dati : DBMS >> Progettazione n Progettazione logica n Ha lo scopo di rappresentare la realtà di interesse in termini di una descrizione ancora indipendente dai dettagli fisici ma concreta, in quanto presente nei sistemi di gestioni delle basi di dati n Lo schema concettuale definito nella fase precedente viene tradotto nello schema logico modello relazionale Progettazione Logica Schema Logico
Progettare una base di dati Cenni su Basi di Dati >> Basi di Dati : DBMS >> Progettazione n Progettazione fisica n Lo schema logico viene completato con le specifica dei parametri fisici di memorizzazione dei dati (organizzazione dei file e degli indici) n Si definisce lo schema fisico dei dati che dipende dal sistema di gestione di basi di dati scelto Progettazione fisica Schema Fisico
Progettare una base di dati Cenni su Basi di Dati >> Basi di Dati : DBMS >> Progettazione n Progettazione fisica n Lo schema logico viene completato con le specifica dei parametri fisici di memorizzazione dei dati (organizzazione dei file e degli indici) n Si definisce lo schema fisico dei dati che dipende dal sistema di gestione di basi di dati scelto
Modello dei Dati Cenni su Basi di Dati >> Basi di Dati : DBMS >> Modello dei dati Appl. n.1 strategia di memorizz. (struttura dei file) Appl. n.2 Schema logico DBMS Schema fisico es: struttura delle tabelle o delle classi Disco (file)
Tipologie di DBMS Cenni su Basi di Dati >> Basi di Dati : DBMS >> Tipologie dei DBMS n I DBMS n si differenziano rispetto al modello che utilizzano per la descrizione delle basi di dati n Le principali categorie n DBMS relazionali la categoria tradizionale n DBMS a oggetti n DBMS basati su XML
Tipologie di DBMS Cenni su Basi di Dati >> Basi di Dati : DBMS >> Tipologie dei DBMS n DBMS relazionali n i dati sono organizzati in tabelle (relazioni) n la tabella è un insieme di record (ennuple) n con un insieme di attributi n di tipi opportuni (numeri, stringhe, date ) n i dati in tabelle diverse sono correlati sulla base dei valori n Modello Fisico n file, pagine e record (proprietario)
Cenni su Basi di Dati >> Basi di Dati : DBMS >> Tipologie dei DBMS studenti Matricola Cognome Nome Data di nascita 6554 Pinco Pallino 05/12/1978 8765 Neri Paolo 03/11/1976 9283 Verdi Luisa 12/11/1979 3456 Rossi Maria 01/02/1978 esami Studente Voto Corso 3456 30 04 3456 24 02 9283 28 01 6554 26 01 corsi Codice Titolo Docente 01 Analisi Sempronio 02 Chimica Bruni 04 Chimica Verdi
Tipologie di DBMS Cenni su Basi di Dati >> Basi di Dati : DBMS >> Tipologie dei DBMS n DBMS relazionali a oggetti n sono un compromesso tra DBMS relazionali e DBMS a oggetti n I dati sono organizzati in tabelle ma n Limitate funzionalità per la definizione di tipi (classi) n Limitate funzionalità per la definizione di oggetti (identificatori) n Limitate funzionalità per la creazione di gerarchie
Tipologie di DBMS Cenni su Basi di Dati >> Basi di Dati : DBMS >> Tipologie dei DBMS n DBMS basati su XML n i dati sono organizzati in strutture gerarchiche (alberi) n ogni albero ha un insieme di nodi (elementi) n oggetti diversi sono correlati sulla base di relazioni di contenimento n Modello Fisico n vari possibili modelli n standard: file di testo basato su marcatori
Cenni su Basi di Dati >> Basi di Dati : DBMS >> Tipologie dei DBMS studenti studente studente studente matricola cognome nome datanascita esamisost 6554 Pinco Pallino 5/12/1978 esame esame corso voto codice titolo docente 26 01 Analisi Sempronio
Cenni su Basi di Dati >> Basi di Dati : DBMS >> Tipologie dei DBMS <xml version= 1.0?> dire%va standard <studenti> <studente> <matricola>6554</matricola> <cognome>pinco</cognome> <nome>pallino</nome> <datadinascita>15/12/1978</datadinascita> <esamisostenuti> <esame> <corso> <codice>01</codice> <titolo>analisi</titolo> <docente>giacomo</docente> <voto>26</voto> </corso> </esame>... </studenti> elemen.
Cenni su Basi di Dati >> Basi di Dati : DBMS >> Relazionali Panoramica sui DBMS Relazionali n Che cosa deve conoscere del modello lo sviluppatore dell applicazione? n Schema e istanza n il modello logico (e non il modello fisico) n la struttura dei dati e non necessariamente i dati veri e propri n In altri termini n lo schema n e non necessariamente l istanza
Cenni su Basi di Dati >> Basi di Dati : DBMS >> Relazionali Panoramica sui DBMS Relazionali n Lo schema (componente intensionale) n descrizione della struttura - stabile nel tempo n L istanza (componente estensionale) n i valori (cioè i dati) - variabile nel tempo Schema Studenti Matricola studenti Matricola Cognome Nome Data di nascita Cognome Record 6554 Pinco Pallino 05/12/1978 8765 Neri Paolo 03/11/1976 Nome 9283 Verdi Campo Luisa 12/11/1979 Data di nascita 3456 Rossi Maria 01/02/1978
Cenni su Basi di Dati >> Basi di Dati : DBMS >> Relazionali Panoramica sui DBMS Relazionali n I dati vengono strutturati in tabelle, in particolare un dbms relazionale può essere pensato come un insieme di tabelle n Ogni tabella mantiene informazioni di tipo omogeneo n Diverse tabelle sono collegate (in relazione) fra loro grazie alla presenza di un campo comune, che permette di mettere in relazione i dati delle due tabelle
Cenni su Basi di Dati >> Basi di Dati : DBMS >> Relazionali Panoramica sui DBMS Relazionali n I dati vengono inseriti in tabelle seguendo una certa struttura logica n Come modificare la struttura?: Inserire nuovi record, inserire nuovi campi in un record n Come aggiornare i contenuti?: modificare i valori di una cella etc n Di solito esistono dei vincoli che devono essere rispettati nella base di dati n Un aggiornamento sia di struttura che di contenuto deve rispettare questi vincoli n Quando i vincoli sono rispettati si dice che la base di dati è consistente
Cenni su Basi di Dati >> Basi di Dati : DBMS >> Relazionali Panoramica sui DBMS Relazionali n Quali vincoli? n sul dominio di valori che può assumere una certa informazione (campo) n es.: banca dati dell Università i voti devono essere compresi tra 0 e 30 n Sull unicità dei valori n ogni studente deve avere un numero di matricola diverso dall altro n vincoli che fra informazioni correlate n es. anagrafe: i dati relativi al coniuge sono presenti solo se la persona è sposata
Cenni su Basi di Dati >> Basi di Dati : DBMS >> Relazionali Panoramica sui DBMS Relazionali n Schema logico n descrizione dell intera base di dati per mezzo del modello logico adottato (strutture secondo cui i dati sono organizzati nel modello logico, es. tabelle) n Schema fisico (o interno) n rappresentazione dello schema logico per mezzo di strutture fisiche di memorizzazione (es. relazione realizzata fisicamente per mezzo di un file sequenziale) n Schema esterno n Costituisce la descrizione di una porzione della base di dati di interesse, per mezzo del modello logico n relativo alla gestione della sicurezza
Cenni su Basi di Dati >> Basi di Dati : DBMS >> Relazionali Panoramica sui DBMS Relazionali n Non tutti gli utenti hanno gli stessi privilegi n Schema esterno per un utente: porzione della base di dati che l utente è autorizzato a vedere n Viste: strumento attraverso cui si definisce lo schema esterno n Es: base di dati comunale dei cittadini n tabella cittadino, attributo imponibile a fini fiscali n vista cittadinosenzadatifiscali
Cenni su Basi di Dati >> Basi di Dati : DBMS >> Relazionali Architettura Standard a Tre Livelli applicazione applicazione utente applicazione utente Schema esterno Schema esterno Schema esterno Schema logico Schema fisico BD L architettura a livelli garantisce l indipendenza dei dati
Cenni su Basi di Dati >> Basi di Dati : DBMS >> Relazionali Panoramica sui DBMS Relazionali n Il concetto di indipendenza dei dati è la caratteristica fondamentale dei DBMS n Permette a utenti e applicativi di interagire ad un elevato livello di astrazione n Può essere caratterizzata ulteriormente: n indipendenza dei dati rispetto alle applicazioni n indipendenza dello schema logico rispetto allo schema fisico n indipendenza degli schemi esterni rispetto allo schema logico
Cenni su Basi di Dati >> Basi di Dati : DBMS >> Relazionali Panoramica sui DBMS Relazionali n Su un DBMS è possibile specificare operazioni di vario tipo, in particolare quelle relative a schemi e istanze n È possibile distinguere due categorie: n DDL (Data Definition Language) utilizzati per definire gli schemi logici, esterni e fisici e le autorizzazioni per l accesso n DML (Data Manipulation Language) utilizzati per l interrogazione e l aggiornamento delle istanze n Ogni modello ha i suoi linguaggi n Per esempio nei db relazioni: SQL-92
SQL: Un esempio Cenni su Basi di Dati >> Basi di Dati : DBMS >> Relazionali Lista degli Attributi SELECT Matricola, Cognome, AVG(Voto) FROM Studenti, Esami WHERE Matricola = Studente GROUP BY Matricola, Cognome Lista delle Tabelle Condizione Clausula Matricola Cognome AVG(voto) 6554 Pinco 26 8765 Neri 28 3456 Rossi 27
Cenni su Basi di Dati >> Basi di Dati : DBMS >> Relazionali Panoramica sui DBMS Relazionali n Vantaggi n Permettono di considerare i dati come una risorsa comune di una organizzazione a disposizione di tutte le sue componenti n È possibile la centralizzazione dei servizi n La condivisione permette di ridurre ridondanze e inconsistenze n L indipendenza dei dati favorisce lo sviluppo di applicazioni più flessibili e facilmente modificabili n Svantaggi n complessità dell architettura n costi
Database vs Fogli elettronici Cenni su Basi di Dati >> Basi di Dati >> Database vs Fogli Elettronici n Considerazione: n un programma di foglio elettronico come Excel ha diverse funzioni uguali a quelle di un DBMS n permette di organizzare dati in tabelle MA gli obiettivi sono diversi e di conseguenza emergono delle differenze n Quali?
Database vs Fogli elettronici Cenni su Basi di Dati >> Basi di Dati >> Database vs Fogli Elettronici n Un DBMS è pensato per trattare in modo facile GRANDI quantità di dati, organizzati in tabelle dalla STRUTTURA rigida e mi interessa fare solo operazioni di archiviazione e consultazione n Un foglio elettronico è pensato per trattare quantità di dati più piccole, con struttura più flessibile (creo le tabelle come voglio) e il focus è sulle operazioni di elaborazione e analisi dei dati, non tanto sull archiviazione e recupero
Database vs Fogli elettronici Cenni su Basi di Dati >> Basi di Dati >> Database vs Fogli Elettronici n Nel caso dei fogli elettronici ho maggior flessibilità nell organizzazione dei dati es. possiamo organizzare gli elementi per righe ma anche per colonne, destinare liberamente le celle a contenere un certo risultato etc n Nel caso dei database nei record di una tabella i campi si succedono tutti con la stessa struttura n Collaborazione dei due tipi di programmi per elaborare in modo sofisticato grandi quantità di dati: n il DBMS accede all archivio dei dati, n il foglio elettronico elabora i dati reperiti
Sommario Cenni su Basi di Dati >> Basi di Dati: Sommario n Introduzione n Sistema Informativo n Database Management System (DBMS) n Modello dei Dati n Tipologie di DBMS n Panoramica sui DBMS Relazionali n Database vs foglio elettronico n Ringraziamenti n Parte del materiale di questa lezione è stato sviluppato a partire dalle lezioni della Dott.ssa Anna Vicari
Termini della Licenza Cenni su Basi di Dati >> Basi di Dati: Termini della licenza n This work is licensed under the Creative Commons Attribution-ShareAlike License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. n Questo lavoro viene concesso in uso secondo i termini della licenza Attribution-ShareAlike di Creative Commons. Per ottenere una copia della licenza, è possibile visitare http://creativecommons.org/licenses/by-sa/1.0/ oppure inviare una lettera all indirizzo Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.