Basi di Dati. Programmazione e gestione di sistemi telematici



Documenti analoghi
Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Corso di Informatica (Basi di Dati)

Progettazione di Basi di Dati

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Informatica (Basi di Dati)

Organizzazione degli archivi

Elena Baralis 2013 Politecnico di Torino 1

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

IL SISTEMA INFORMATIVO

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

DBMS (Data Base Management System)

Introduzione alle basi di dati (prima parte)

Sistemi Informativi e Basi di Dati

BASE DI DATI: sicurezza. Informatica febbraio ASA

Base di dati e sistemi informativi

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

Introduzione al data base

Facoltà di Farmacia - Corso di Informatica

Basi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti

Progettaz. e sviluppo Data Base

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli

I Sistemi Informativi

Organizzazione delle informazioni: Database

Le Basi di dati: generalità. Unità di Apprendimento A1 1

BASI DI DATI - : I modelli di database

Le Basi di Dati. Le Basi di Dati

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

Il database management system Access

MODELLO RELAZIONALE. Introduzione

Basi di dati. Concetti Introduttivi ESEMPIO. Fisica, Analisi, Informatica. Entità Relazioni Interrogazioni. Database 2

Vincoli di integrità

Alessandra Raffaetà. Basi di Dati

1. BASI DI DATI: GENERALITÀ

Data Base. Prof. Filippo TROTTA

Introduzione. Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei

Informatica Documentale

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.

Lezione 1. Introduzione e Modellazione Concettuale

Database. Si ringrazia Marco Bertini per le slides

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014

Archivi e database. Lezione n. 7

Informatica Generale Andrea Corradini Sistemi di Gestione delle Basi di Dati

Informatica (Basi di Dati)

DB - Modello relazionale dei dati. DB - Modello Relazionale 1

Lezione V. Aula Multimediale - sabato 29/03/2008

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

I database relazionali (Access)

Basi di Dati e Microsoft Access

Informatica per le discipline umanistiche 2 lezione 10

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

TEORIA sulle BASI DI DATI

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

Archivi e Basi di Dati

Progettaz. e sviluppo Data Base

Testi di riferimento. Atzeni, Ceri, Paraboschi, Torlone Basi di Dati Modelli e linguaggi di interrogazione Mc Graw Hill 2008 (III Edizione)

Informatica. Il modello relazionale: Relazioni e tabelle. Relazioni con attributi

Cardinalità e identificatori. Informatica. Generalizzazioni. Generalizzazioni. Generalizzazioni. Generalizzazioni

1.1 Introduzione alle basi di dati

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi

Progettazione di Database. Un Esempio

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome.

INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO

Il Modello Relazionale

Corso di Informatica

EXPLOit Content Management Data Base per documenti SGML/XML

Introduzione alla teoria dei database relazionali. Come progettare un database

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

La Metodologia adottata nel Corso

Corso di Basi di Dati e Conoscenza

Sviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL.

2.2b: RELAZIONI E BASI DI DATI. Atzeni, cap

DATABASE. A cura di Massimiliano Buschi

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

Progettazione di un Database

Data Base Management System. Strumenti: Formato: Pro: Contro: Software specifico. Proprietario

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno

Lezione 8. Motori di Ricerca

Database. Francesco Tapparo Informatica e Bioinformatica /16

Access. P a r t e p r i m a

Capitolo 13. Interrogare una base di dati

PROGRAMMAZIONE MODULARE DI INFORMATICA CLASSE QUINTA - INDIRIZZO MERCURIO SEZIONE TECNICO

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

Protezione. Protezione. Protezione. Obiettivi della protezione

Corso di Informatica

Informatica I per la. Fisica

Corso di Informatica

Progettazione di una base di dati Ufficio della Motorizzazione

Basi di dati. Basi di dati = database. Basi di dati

Modulo 2 Data Base 2

Le funzionalità di un DBMS

LABORATORIO. 2 Lezioni su Basi di Dati Contatti:

ISTITUTO TECNICO ECONOMICO MOSSOTTI

Transcript:

Basi di Dati. Programmazione e gestione di sistemi telematici Coordinatore: Prof. Paolo Nesi Docenti: Prof. Paolo Nesi Dr.sa Michela Paolucci Dr. Emanuele Bellini

Cosa e l informatica? Scienza del trattamento razionale, specialmente per mezzo di macchine automatiche, dell informazione, considerata come supporto alla conoscenza umana e alla comunicazione (Accad. di Francia)

Sistema azienda Sistema azienda Sistema organizzativo Sistema informativo Sistema informatico

Sistema Organizzativo E' un Insieme di risorse e di regole per lo svolgimento coordinato delle attività (processi) per perseguire gli scopi prefissi

Sistema Informativo E un sottosistema di una organizzazione che gestisce le informazioni di interesse sistema informativo è costituito dall'insieme delle informazioni utilizzate, prodotte e trasformate da un'azienda durante l'esecuzione dei processi aziendali, dalle modalità in cui esse sono gestite e dalle risorse, sia umane, sia tecnologiche, coinvolte.(wikipedia)

Risorse le risorse di una azienda (o ente, amministrazione): - persone - denaro - materiali - informazioni -

Concetto di Sistema Informatico Si tratta della parte di tutto il sistema informativo che comprende automatismi: ovvero le informazioni che il sistema gestisce con la tecnologia informatica opera per supportare le altre componenti dell organizzazione un Sistema Informativo è indipendente dalla sua computerizzazione Esempi di Sistema Informativo

Sistema Informativo vs automazione Un sistema informativo è indipendente da ogni tipo di automatizzazione Esistono organismi che hanno come principale scopo quello di gestire informazioni (si tratta ad esempio di banche dati o servizi che gestiscono dati sensibili, etc)

Concetto di Sistema Informatico Si tratta della parte di tutto il sistema informativo che comprende automatismi: ovvero le informazioni che il sistema gestisce con la tecnologia informatica

Elementi di un Sistema informativo Base di dati (BD) Software di gestione della Base di Dati Software applicativo Hardware del computer (es. dispositivi di memorizzazione) Personale che sviluppa, gestisce o usa il sistema Prodedure stabilite di inserimento dati Quando, Chi, Come

Informazione strutturata La struttura dell informazione dipende dal suo utilizzo e può essere modificata nel tempo Esempio: per memorizzare dati su una persona, nel corso del tempo: Nome e cognome (fino a qualche secolo fa non era ovvio neppure questo) Nome, cognome, data di nascita e luogo di nascita Codice Fiscale

Dati vs Informazione Nei sistemi informatici le informazioni sono rappresentate sotto forma di dati Dati: fatti grezzi che devono essere interpretati e correlati per fornire informazione Esempio: Esempio: Maria e AA499SS sono una stringa e un numero, ovvero due dati Se vengono restituiti in risposta alla domanda Chi è l'autista e qual è il numero di targa della sua auto allora costituiscono informazione

Le basi di dati Gli archivi costituiscono una memoria di lavoro indispensabile per gestire grandi quantità di informazioni, per ordinarle, metterle in relazione e recuperarle. Prima dell introduzione delle tecnologie informatiche, gli archivi erano gestiti in forma cartacea, tramite schedari e registri, che permettevano di catalogare e ordinare i dati secondo un unico criterio di ricerca e rendevano disagevole il recupero e l analisi dell informazione: tutte le operazioni erano manuali. L informatica ha consentito la conservazione ed il recupero delle informazioni, secondo i più svariati criteri, in maniera automatica, tramite un unico programma

Le basi di dati Un DB si può definire come: una collezione di dati usati per rappresentare le informazioni che risultano di interesse per un sistema informativo.

Le basi di dati Le basi di dati, o Data Base, sono sistemi che permettono la manipolazione di grandi quantità di informazioni. Consentono infatti: Raccolta e acquisizione dei dati L archiviazione e la conservazione La loro elaborazione e trasformazione La distribuzione, comunicazione e scambio dell informazione Il Data Base è l insieme dei dati che organizzati costituiscono l informazione. Il data base, però, non è costituito solo da un insieme di dati tabelle (contenitori di dati) query (strumenti di interrogazione, recupero dati), maschere (strumenti per l inserimento su computer) report (ouput dei dati).

Prima dei database Ogni applicazione aveva il suo file privato file: organizzazione sequenziale applicazione: scritta in un linguaggio orientato alla gestione di file (Cobol,PL/1) gestione dei dati: file system Svantaggi: ridondanza: se due applicazioni usano gli stessi dati, questi sono replicati inconsistenza: l aggiornamento di un dato può riguardare una sola copia del dato dipendenza dei dati: ogni applicazione organizza i dati tenendo conto dell uso che deve farne

Sistemi di gestione di basi dati Un sistema di gestione di basi di dati (DataBase Management System, DBMS) è un sistema software in grado di gestire collezioni di dati che siano grandi, condivise, e persistenti, assicurando la loro affidabilità e privatezza. Un DBMS deve essere efficiente ed efficace. In seconda approssimazione, si può definire una base di dati come una collezione di dati gestita da un DBMS.

Sistemi di gestione di basi dati Le basi di dati possono essere grandi: IBM certifica basi di dati di oltre 64 Gb! basi di dati gestite da DBMS che devono prevedere gestione di dati in memoria di massa. Le basi di dati sono condivise: applicazioni e utenti diversi devono poter accedere, secondo opportune modalità, a dati comuni riduzione di ridondanze e di inconsistenze. Per garantire l accesso condiviso ai dati, ogni DBMS dispone di un meccanismo di controllo di concorrenza.

Condivisione Le basi di dati possono essere grandi: IBM certifica basi di dati di oltre 64 Gb! basi di dati gestite da DBMS che devono prevedere gestione di dati in memoria di massa. Le basi di dati sono condivise: applicazioni e utenti diversi devono poter accedere, secondo opportune modalità, a dati comuni riduzione di ridondanze e di inconsistenze. Per garantire l accesso condiviso ai dati, ogni DBMS dispone di un meccanismo di controllo di concorrenza.

Condivisione Ogni componente di un' organizzazione è coinvolta in una porzione del Sistema Informativo Tali porzioni possono essere sovrapposte Un DB è una risorsa condivisa e integrata tra le differenti componenti dell'organizzazione La possibilità di condividere e integrare le informazioni permette di ridurre ridondanze (dati replicati in modo totale o parziale) e conseguenti Inconsistenze

Condivisione Le informazioni non vengono mai condivise completamente: sono sempre necessari opportuni meccanismi per il controllo della privacy e per regolamentare gli accessi ai contenuti stessi Al fine di condividere le informazioni è necessario gestire accessi contemporanei ai dati stessi (concetto di 'controllo della concorrenza')

DBMS i DB sono persistenti, hanno infatti un ciclo di vita non è limitato alle sole esecuzioni dei programmi che ne fanno uso I dati permangono al termine dei programmi che li elaborano I DBMS garantiscono affidabilità, ovvero la capacità di preservare il contenuto del DB nel caso in cui si verifichino malfunzionamenti software e/o hardware. E possibile effettuare backup e recovery dei dati I DBMS garantiscono la possibilità di gestire i dati in modo privato: ciascun utente autenticato, in base ai permessi che gli sono consentiti, può svolgere solo alcune azioni sui dati.

Memorizzazione I Data Base usano spesso file in formati proprietari per la memorizzazione dei dati In tal caso offrono comunque agli utenti una visualizzazione astratta dei dati: la gestione di memorizzazione e manipolazione dei dati avviene in modo del tutto trasparente rispetto all'utente stesso

DBMS Per efficienza di un DBMS si intende la sua capacità di svolgere le operazioni usando un insieme di risorse che siano accettabili per gli utenti. tempo e spazio Per efficacia di un DBMS si intende la capacità di rendere produttive le attività dei suoi utenti.

3 livelli di astrazione di un DB Schema esterno è la descrizione, in un modello logico, di una parte del DB attraverso viste parziali, o derivate, che prevedono anche strutture dati diverse rispetto a quelle usate invece nello schema logico. Tali strutture riflettono privilegi di accesso e necessità legate a particolari tipologie di utenti. Uno schema logico può avere ad esso associati più schemi esterni Schema logico è la descrizione de DB nel modello logico principale del DBMS (ad esempio la descrizione della struttura delle tabelle) Schema fisico È larappresentazione dello schema logico attraverso l'uso strutture

Indipendenza tra dati e accesso Gli accessi al DB avvengono solo grazie allo schema esterno, che può anche coincidere del tutto con lo schema logico. Indipendenza fisica i livelli logico ed esterno non dipendono dal livello fisico una relazione viene usata allo stesso modo, ovvero non dipende dalla sua realizzazione fisica (organizzazione dei file e relativa allocazione fisica) la realizzazione fisica può mutare senza necessariamente modificare i programmi mezzo di strutture fisiche di memorizzazione, cioè i file

Linguaggi per un DB Data Definition Language (DDL), linguaggio usato per definire schemi (logici, esterni, fisici) e anche altre operazioni generali Data Manipulation Language (DML), linguaggio necessario per interrogare/modificare/aggiornare le (istanze di) basi di dati Nei DBMS Standard SQL integra entrambe le funzionalità

Concetto di Modello di dati Si tratta di un insieme di definizioni usate per organizzare e gestire i dati di interesse per descriverne la struttura in modo che risulti comprensibile da un elaboratore elettronico

Modello di dati: tipologie DB logici: ovvero indipendenti dalle strutture fisiche ma disponibili nei DBMS: gerarchico, reticolare (network), relazionale, ad oggetti DB concettuali: sono indipendenti dalle modalità di realizzazione e sono usati per rappresentare entità reali e le relative relazioni nelle prime fasi della progettazione (si parla di entità-relazioni)

Modello relazionale Il modello relazionale dei dati permette di definire nuovi concetti grazie al meccanismo di strutturazione (costruttore) noto come relazione che consente di organizzare i dati in insiemi di aggregazioni (record) a struttura fissa. Una relazione viene descritta attraverso una tabella in cui le righe rappresentano specifici record

Modello Relazionale Oggetto = Record Campi = Informazioni di interesse Oggetto = Membro dello Staff Informazioni di interesse = Codice, Cognome, Nome, Ruolo, Anno di assunzione CODICE COGNOME NOME RUOLO ASSUNZIONE xxx1 Rossi Gino Analista 2007

Modello Relazionale Esempio: posso organizzare i dati relativi ai docenti e ai relativi corsi universitari per mezzo della relazione docenza rappresentabile dalla seguente tabella DOCENZA

Modello relazionale 01/12/1980 Mavis Brown 937653 10/10/1980 Lucy Smith 587614 12/02/1981 Paolo Verdi 200768 23/04/1981 Anna Black 485745 25/11/1980 Mary Smith 276545 DataNasci Nome Cognome Matric STUDENTI STUDENTI Clark Chemistry 04 Beale Chemistry 03 Grant Physics 01 Tutor Titolo Codice CORSI CORSI 04 B 200768 01 B 937653 04 B 276545 01 C 276545 Corso Voto Stud ESAMI ESAMI

Modello relazionale STUDENTI Matric Cognome Nome DataNasci 276545 Smith Mary 25/11/1980 485745 Black Anna 23/04/1981 200768 Verdi Paolo 12/02/1981 587614 Smith Lucy 10/10/1980 937653 Brown Mavis 01/12/1980 CORSI ESAMI = relazione tra studenti e corsi Codice Titolo Tutor Stud Voto Corso 01 Physics Grant 276545 C 01 03 Chemistry Beale 276545 B 04 04 Chemistry Clark 937653 B 01 200768 B 04

Schemi e istanze di relazionale Per schema di una relazione si intende la sua intestazione cioè il nome della relazione seguito dai nomi dei suoi attributi; esempio: DOCENZA(Corso, Nome_docente). L istanza di una relazione è costituita dall insieme delle sue righe. Lo schema di relazione è stabile nel tempo, a differenza della sua istanza. [1]

Schemi e istanze di relazionale Docenza Schema della relazione Istanza della relazione Record

Relazioni e base dati Una base di dati è generalmente costituita da più relazioni, i cui record contengono valori comuni, ove necessario per stabilire corrispondenze (associazioni).

Relazioni e base dati STUDENTI Matricola Cognome Nome Data_nascita 389726 Rossi Maria 25/07/1981 421695 Bianchi Antonio 11/03/1978 379723 Verdi Luca 03/09/1980 ESAMI Studente Voto Corso 389726 28 01 389726 21 04 379723 25 04 421695 26 03 CORSI Codice Titolo Docente 01 Informatica Pinco 02 Matematica Pallino 03 Storia Bello 04 Statistica Alto

Relazionali e base dati L esempio precedente mostra una delle caratteristiche fondamentali del modello relazionale: i riferimenti fra dati in relazioni diverse sono rappresentati per mezzo di valori. Per tale motivo spesso si afferma che: il modello relazionale è basato sui valori

Integrita I dati devono soddisfare dei vincoli che esistono nella realtà di interesse, ad esempio: uno studente ha la residenza in una sola città (si parla di dipendenze funzionali) ad ogni studente universitario viene associato un identificativo univo, ovvero il numero di matricola (chiave) uno studente può ricevere un voto per ogni esame che deve essere: un intero positivo compreso tra 18 e 30 (dominio) il guadagno dovuto al lavoro straordinario di una persona viene calcolato come prodotto del numero di ore per la paga all'ora (vincoli dinamici)

Informazione incompleta e valori nulli A volte può accadere che non si dispongano di tutti i dati di una tupla (record) di una relazione. Esempio: per uno studente potrei non disporre del numero di matricola o della data di nascita. Come fare? Per rappresentare in modo semplice la non disponibilità di valori, il concetto di relazione viene esteso prevedendo che un record possa assumere su ogni suo campo, un valore speciale (detto valore nullo) che denota l assenza di informazione.

Informazione incompleta e valori nulli STUDENTI ammesse Matricola Cognome Nome Data_nascita 389726 Rossi Maria NULL NULL Bianchi Antonio 11/03/1978 Nota bene: È opportuno controllare la presenza di valori nulli nelle relazioni perché solo alcune configurazioni possono essere

Vincoli di integrita In alcuni casi può accadere che, a seguito di errori umani nell introduzione di dati, alcuni record delle tabelle rappresentino informazioni non corrette

Vincoli di integrita STUDENTI Matricola Cognome Nome Data_nascita 200768 Verdi Fabio 12/02/1799 942761 Rossi Luca 10/10/1979 942761 Bianchi Mario 14/07/1983 ESAMI Studente Voto Lode Corso 942761 22 Si 01 942761 36 No 03 379796 30 No 01 In una base di dati è opportuno evitare situazioni come questa. A tale scopo è stato introdotto il concetto di vincolo di integrità come proprietà che deve essere soddisfatta dalle istanze che rappresentano informazioni corrette.

Chiavi I più importanti vincoli intrarelazionali sono i vincoli di chiave: senza di essi il modello relazionale perderebbe la sua utilità e quindi il suo senso! Una chiave è un insieme di attributi utilizzati per identificare univocamente i record di una relazione. (esempi) Inoltre, il vincolo di chiave permette di stabilire efficacemente le corrispondenze fra dati contenuti in relazioni diverse che caratterizzano il modello razionale come modello basato sui valori.

Chiavi NOTA BENE: Bisogna limitare il più possibile la presenza di valori nulli nelle chiavi. Su una delle chiavi minimali detta chiave primaria è assolutamente vietata la presenza di valori nulli.

Chiave primaria Insieme minimale di attributi di una relazione che consente di identificare univocamente i record di una tabella; non può ammettere valori nulli.

Chiave primaria In quasi tutti i casi è possibile trovare delle chiavi minimali e quindi scegliere una chiave primaria. Nei rari casi in cui ciò non accada è necessario introdurre un attributo aggiuntivo (Un codice. Probabilmente non significativo al fine interpretativo dei dati) i cui valori vengano generati automaticamente e associati a ciascuna tupla della relazione.

Vincoli integrita referenziale AUTO Targa Cognome Nome BK749L Rossi Mino CM294P Bianchi Tino RL296K Verdi Pino WR692Y Celesti Lino INFRAZIONI Codice Data Articolo Codice_targa 743792 26/10/2004 34 BK749L 927450 10/10/2004 53 RL296K 992001 04/10/2004 15 WR692Y 999223 10/09/2004 27 BK749L

Vincoli integrita referenziale Un vincolo di integrità referenziale (detto anche chiave esterna) tra un insieme X di attributi di una relazione R 1 e un altra relazione R 2 è soddisfatto se i valori su X di ciascuna tupla dell istanza di R 2 compaiono come valori della chiave primaria dell istanza di R 1.

Sicurezza I dati devono essere protetti da accessi non autorizzati; il DBA deve considerare i seguenti fattori: valore attuale dell informazione per l organizzazione valore attuale dell informazione per chi vuole violare la privatezza persone che possono accedere ai dati in base a quali permessi e modalità In base ai precedenti fattori, si decide: un regolamento di accesso ai dati eventuali effetti in seguito ad una violazione