Informatica 2 Basi di dati



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

Informatica Introduzione alle basi di dati

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015

Informatica (Basi di Dati)

Corso di Informatica (Basi di Dati)

Sistema di Gestione di Basi di Dati DataBase Management System DBMS

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

Che cos è un DBMS? Capitolo 1. Perché usare un DBMS? DBMS. Descrizioni dei dati nei DBMS. Modelli di dati

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

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

Corso di Basi di Dati A.A. 2014/2015

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

1.1 Introduzione alle basi di dati

IL SISTEMA INFORMATIVO

Base di dati e sistemi informativi

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Informatica Documentale

Introduzione alle basi di dati (prima parte)

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

1. BASI DI DATI: GENERALITÀ

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

Progettaz. e sviluppo Data Base

Corso di Informatica

DEFINIZIONI FONDAMENTALI

Facoltà di Farmacia - Corso di Informatica

Sistemi Informativi e Basi di Dati

Informatica. Basi di dati. Basi di dati (Database, DB) Basi di dati parte 1: Introduzione

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

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

Organizzazione degli archivi

Introduzione al data base

DBMS (Data Base Management System)

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

Data Base. Prof. Filippo TROTTA

Le Basi di Dati. Le Basi di Dati

Sistemi di gestione delle basi di dati. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Progettazione di Basi di Dati

Corso di Basi di Dati e Conoscenza

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

Sistemi centralizzati e distribuiti

La Metodologia adottata nel Corso

Il database management system Access

Database. Si ringrazia Marco Bertini per le slides

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

Lezione 1. Introduzione e Modellazione Concettuale

Progettaz. e sviluppo Data Base

L architettura di un DBMS

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

Elena Baralis 2013 Politecnico di Torino 1

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

Le funzionalità di un DBMS

I Sistemi Informativi

Alessandra Raffaetà. Basi di Dati

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

UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database

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

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

Database. Francesco Tapparo Informatica e Bioinformatica /16

Corso di Laurea in Ingegneria Informatica Fondamenti di Informatica II Modulo Basi di dati a.a

LABORATORIO. 2 Lezioni su Basi di Dati Contatti:

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

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

Introduzione all Architettura del DBMS

PROGRAMMAZIONE MODULARE. Periodo mensile. Ore previste

PIANO DI LAVORO EFFETTIVAMENTE SVOLTO IN RELAZIONE ALLA PROGRAMMAZIONE DISCIPLINARE

Informatica Generale Andrea Corradini Sistemi di Gestione delle Basi di Dati

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Soluzioni integrate per la gestione del magazzino

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

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

Archivi e Basi di Dati

Informatica I per la. Fisica

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP

LABORATORIO di INFORMATICA

Archivi e database. Lezione n. 7

PROXYMA Contrà San Silvestro, Vicenza Tel Fax

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer

Organizzazione delle informazioni: Database

Sistemi informativi secondo prospettive combinate

BASI DI DATI. Queste slides sono un adattamento di quelle di Luca Anselma e Gian Luca Pozzato, cui va il mio ringraziamento

Liceo Marie Curie (Meda) Scientifico Classico Linguistico PROGRAMMAZIONE DISCIPLINARE PER COMPETENZE

DATABASE.

MODULO 5 Appunti ACCESS - Basi di dati

Basi di Dati. Introduzione ai sistemi di basi di dati. K.Donno - Introduzione ai sistemi di basi di dati

Introduzione ai sistemi di basi di dati

Concetti di base di ingegneria del software

Basi di dati I. Esercitazione proposta

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

Approccio stratificato

database: modello entityrelationship

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Ciclo di vita del software: Tipologie di software

Organizzazione tecnico-informatica Ing. Fabio Binotto

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

Transcript:

Informatica 2 Basi di dati Prof. Giovanni Giuffrida e-mail: giovanni.giuffrida@dmi.unict.it DB - Introduzione 1

Recapiti Prof. Giuffrida Giovanni Email: giovanni.giuffrida@dmi.unict.it Info sul corso: www.dmi.unict.it/~ggiuffrida DB - Introduzione 2

Materiale didattico Atzeni,Ceri,Paraboschi,Torlone, Basi di Dati,Modelli e linguaggi di interrogazione, terza edizione, McGraw-Hill 2002. Albano-Ghelli-Orsini, Basi di Dati Relazionali e a Oggetti,Zanichelli,1997 Ullman, Basi di Dati e Basi di Conoscenza Access: Manuale utente Slides del corso Scaricabili dal sito del corso Consiglio: utilizzate per prendere appunti DB - Introduzione 3

Introduzione alle basi di dati DB - Introduzione 4

Sistema informativo Componente (sottosistema) di qualsiasi organizzazione Azienda privata, pubblica, info private (PIM), famiglia, etc. Gestisce (acquisisce, elabora, conserva, produce) le informazioni di interesse (i.e., utilizzate per il perseguimento degli scopi dell organizzazione ) ogni organizzazione ha un sistema informativo, eventualmente non esplicitato nella struttura; quasi sempre, il sistema informativo è di supporto ad altri sottosistemi il sistema informativo è di solito suddiviso in sottosistemi (in modo gerarchico o decentrato), più o meno fortemente integrati DB - Introduzione 5

Sistema organizzativo Insieme di risorse e regole per lo svolgimento coordinato delle attività al fine del perseguimento degli scopi il sistema informativo è parte del sistema organizzativo il sistema informativo esegue/gestisce processi informativi (cioè i processi che coinvolgono informazioni) DB - Introduzione 6

Risorse aziendali le risorse di una azienda: persone denaro materiali informazioni Oggi viviamo nell era della conoscenza Il capitale principale delle organizzazioni è rappresentato dalla conoscenza (basata sui dati) DB - Introduzione 7

Sistemi informativi e automazione Il concetto di sistema informativo è indipendente da qualsiasi automazione esistono organizzazioni la cui ragion d essere è la gestione di informazioni Es.: servizi anagrafici, tribunali, banche, etc Operano da secoli La gestione delle loro informazioni si è evoluta nel tempo Ma ciò non altera l obiettivo dell organizzazione! DB - Introduzione 8

Sistema Informatico porzione automatizzata del sistema informativo: la parte del sistema informativo che gestisce informazioni con tecnologia informatica Sistema azienda Sistema organizzativo Sistema informativo Sistema informatico DB - Introduzione 9

Sistema informativo e sistema informatico Anche prima di essere informatizzati, molti sistemi informativi si sono evoluti verso una razionalizzazione e standardizzazione delle procedure e dell organizzazione delle informazioni Esempio: uffici anagrafe di Catania pochi anni fa DB - Introduzione 10

Gestione delle informazioni Nelle attività umane, le informazioni vengono gestite (registrate e scambiate) in forme diverse: idee informali linguaggio naturale (scritto o parlato, formale o colloquiale, in una lingua o in un altra) disegni, grafici, schemi numeri e codici e su vari supporti memoria umana, carta, dispositivi elettronici DB - Introduzione 11

Gestione delle informazioni Nelle attività standardizzate dei sistemi informativi complessi, sono state introdotte col tempo forme di organizzazione e codifica delle informazioni Ad esempio, nei servizi anagrafici si è iniziato con registrazioni discorsive e poi nome e cognome estremi anagrafici codice fiscale DB - Introduzione 12

Informazioni e dati Nei sistemi informatici (e non solo), le informazioni vengono rappresentate in modo essenziale, spartano: attraverso i dati Dal Vocabolario della lingua italiana (1987) 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. Informazione può essere vista come un interpretazione semantica dei dati Dipendente dal contesto DB - Introduzione 13

Dati e informazioni I dati hanno bisogno di essere interpretati Esempio Mario 275 su un foglio di carta sono due dati. Se il foglio di carta viene fornito in risposta alla domanda A chi mi devo rivolgere per il problema X; qual è il suo interno?, allora i dati possono essere interpretati per fornire informazione e arricchire la conoscenza. Oppure, soldi che Mario mi deve Oppure, giorni lavorativi di Mario Etc. Etc. DB - Introduzione 14

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) DB - Introduzione 15

Base di dati (accezione generica, metodologica) Insieme organizzato di dati utilizzati per il supporto allo svolgimento delle attività di un ente (azienda, ufficio, persona) (accezione specifica, metodologica e tecnologica) insieme di dati gestito da un DBMS DB - Introduzione 16

Sistema di gestione di basi di dati DataBase Management System DBMS Sistema (prodotto software) in grado di gestire collezioni di dati che siano (anche): Grandi, di dimensioni (molto) maggiori della memoria centrale dei sistemi di calcolo utilizzati Persistenti, con un periodo di vita indipendente dalle singole esecuzioni dei programmi che le utilizzano Condivise, utilizzate da applicazioni diverse anche in località geografiche diverse Affidabili, resistenza a malfunzionamenti hardware e software, blackout, etc. Private, con una disciplina e un controllo degli accessi Come ogni prodotto informatico, un DBMS deve essere Efficiente, utilizzando al meglio le risorse di spazio e tempo del sistema Efficace, rendendo produttive le attività dei suoi utilizzatori DB - Introduzione 17

Alcuni DBMS in commercio Business estremamente grosso Alcuni sistemi Microsoft Access IBM-DB2 Oracle Informix Sybase Microsoft SQLServer Ingres MySql (open-source) DB - Introduzione 18

Condivisione Ogni organizzazione (specie se grande) è divisa in settori o comunque svolge diverse attività A ciascun settore o attività corrisponde un (sotto)sistema informativo Possono esistere sovrapposizioni fra i dati di interesse dei vari settori Una base di dati è una risorsa integrata, condivisa fra i vari settori DB - Introduzione 19

Possibili problemi Ridondanza: informazioni ripetute Rischio di incoerenza: le versioni possono non coincidere DB - Introduzione 20

Archivi e basi di dati Gestione orario lezioni Archivio 1: orario lezioni Gestione ricevimento Archivio 2: ricevimento DB - Introduzione 21

Archivi e basi di dati Gestione orario lezioni Gestione ricevimento Base di dati DB - Introduzione 22

Le basi di dati sono condivise Una base di dati e' una risorsa integrata, condivisa fra le varie applicazioni conseguenze Attivita' diverse su dati in parte condivisi: meccanismi di autorizzazione Attivita' multi-utente su dati condivisi: controllo della concorrenza DB - Introduzione 23

Efficienza Si misura (come in tutti i sistemi informatici) in termini di tempo di esecuzione (tempo di risposta) e spazio di memoria (principale e secondaria). I DBMS, a causa della varietà di funzioni, non sono necessariamente più efficienti dei file system. L efficienza è il risultato della qualità del DBMS e delle applicazioni che lo utilizzano. DB - Introduzione 24

Descrizioni dei dati nei DBMS Descrizioni e rappresentazione dei dati a livelli diversi permettono l indipendenza dei dati dalla rappresentazione fisica: i programmi fanno riferimento alla struttura a livello più alto, e le rappresentazioni sottostanti possono essere modificate senza necessità di modifica dei programmi Precisiamo attraverso il concetto di modello dei dati DB - Introduzione 25

Modello dei dati insieme di costrutti utilizzati per organizzare i dati di interesse e descriverne la dinamica componente fondamentale: meccanismi di strutturazione (o costruttori di tipo) come nei linguaggi di programmazione esistono meccanismi che permettono di definire nuovi tipi, così ogni modello dei dati prevede alcuni costruttori ad esempio, il modello relazionale prevede il costruttore relazione, che permette di definire insiemi di record omogenei DB - Introduzione 26

Organizzazione dei dati in una 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 DB - Introduzione 27

Orario Lo schema della base di dati 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 L'istanza della base di dati DB - Introduzione 28

Schemi e istanze In ogni base di dati esistono: lo schema, sostanzialmente invariante nel tempo, che ne descrive la struttura (aspetto intensionale) nell esempio, le intestazioni delle tabelle l istanza, i valori attuali, che possono cambiare anche molto rapidamente (aspetto estensionale) nell esempio, il corpo di ciascuna tabella DB - Introduzione 29

Due tipi (principali) di modelli modelli logici: utilizzati nei DBMS esistenti per l organizzazione dei dati utilizzati dai programmi indipendenti dalle strutture fisiche esempi: relazionale, reticolare, gerarchico, a oggetti modelli concettuali: permettono di rappresentare i dati in modo indipendente da ogni sistema cercano di descrivere i concetti del mondo reale sono utilizzati nelle fasi preliminari di progettazione il più noto è il modello Entity-Relationship DB - Introduzione 30

Architettura (semplificata) di un DBMS utente Schema logico Schema interno BD DB - Introduzione 31

Architettura semplificata di un DBMS: schemi schema logico: descrizione della base di dati nel modello logico (ad esempio, la struttura della tabella) schema fisico: rappresentazione dello schema logico per mezzo di strutture memorizzazione (file) DB - Introduzione 32

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) DB - Introduzione 33

Architettura standard (ANSI/SPARC) a tre livelli per DBMS utente utente utente utente utente Schema esterno Schema esterno Schema esterno Schema logico Schema interno BD DB - Introduzione 34

Architettura ANSI/SPARC: schemi schema fisico: rappresentazione dei dati per mezzo di strutture fisiche di memorizzazione schema logico: descrizione dell intera base di dati nel modello logico principale del DBMS schema esterno: descrizione di parte della base di dati del modello logico ( viste parziali, derivate, anche in modelli diversi) DB - Introduzione 35

Una vista Corsi Corso Docente Basi di dati Rossi Sistemi Neri Reti Bruni Controlli Bruni Aula DS3 N3 N3 G Aule Nome DS1 N3 G Edificio OMI OMI Pincherle Piano Terra Terra Primo CorsiSedi Corso Aula Sistemi N3 Reti N3 Controlli G Edificio Piano OMI Terra OMI Terra Pincherle Primo DB - Introduzione 36

Indipendenza dei dati conseguenza della articolazione in livelli l accesso avviene solo tramite il livello esterno (che può coincidere con il livello logico) due forme: indipendenza fisica indipendenza logica DB - Introduzione 37

Indipendenza fisica il livello logico e quello esterno sono indipendenti da quello fisico una relazione è utilizzata nello stesso modo qualunque sia la sua realizzazione fisica la realizzazione fisica può cambiare senza che debbano essere modificati i programmi DB - Introduzione 38

Indipendenza logica il livello esterno è indipendente da quello logico aggiunte o modifiche alle viste non richiedono modifiche al livello logico modifiche allo schema logico che lascino inalterato lo schema esterno sono trasparenti DB - Introduzione 39

Linguaggi per basi di dati Un altro contributo all efficacia: disponibilità di vari linguaggi e interfacce diverse linguaggi testuali interattivi (SQL) comandi (come quelli del linguaggio interattivo) immersi in un linguaggio ospite (Pascal, C, Cobol, etc.) comandi (come quelli del linguaggio interattivo) immersi in un linguaggio ad hoc, con anche altre funzionalità (p.es. per grafici o stampe strutturate), anche con l ausilio di strumenti di sviluppo (p. es. per la gestione di maschere) con interfacce amichevoli (senza linguaggio testuale) DB - Introduzione 40

SQL, un linguaggio interattivo SELECT Corso, Aula, Piano FROM Aule, Corsi WHERE Nome = Aula AND Piano="Terra" Corso Sistemi Reti Aula N3 N3 Piano Terra Terra DB - Introduzione 41

Interazione non testuale (in Access) DB - Introduzione 42

Una distinzione terminologica (separazione fra dati e programmi) data manipulation language (DML) per l interrogazione e l aggiornamento di (istanze di) basi di dati data definition language (DDL) per la definizione di schemi (logici, esterni, fisici) e altre operazioni generali DB - Introduzione 43

Un'operazione DDL (sullo schema) CREATE TABLE orario ( insegnamento CHAR(20), docente CHAR(20), aula CHAR(4), ora CHAR(5) ) DB - Introduzione 44

Personaggi e interpreti progettisti e realizzatori di DBMS progettisti della base di dati e amministratori della base di dati (DBA) progettisti e programmatori di applicazioni utenti utenti finali (terminalisti): eseguono applicazioni predefinite (transazioni) utenti casuali: eseguono operazioni non previste a priori, usando linguaggi interattivi DB - Introduzione 45

Database administrator (DBA) Persona o gruppo di persone responsabile del controllo centralizzato e della gestione del sistema, delle prestazioni, dell affidabilità, delle autorizzazioni Le funzioni del DBA includono quelle di progettazione, anche se in progetti complessi ci possono essere distinzioni DB - Introduzione 46

Transazioni Programmi che realizzano attività frequenti e predefinite, con poche eccezioni, previste a priori. Esempi: versamento presso uno sportello bancario emissione di certificato anagrafico dichiarazione presso l ufficio di stato civile prenotazione aerea Le transazioni sono di solito realizzate con programmi in linguaggio ospite (tradizionale o ad hoc). N. B.: il termine transazione ha un altra accezione, più specifica: sequenza indivisibile di operazioni (o vengono eseguite tutte o nessuna). DB - Introduzione 47

Vantaggi e svantaggi dei DBMS Pro dati come risorsa comune, base di dati come modello della realtà gestione centralizzata con possibilità di standardizzazione ed economia di scala disponibilità di servizi integrati riduzione di ridondanze e inconsistenze indipendenza dei dati (favorisce lo sviluppo e la manutenzione delle applicazioni) Contro costo dei prodotti e della transizione verso di essi non scorporabilità delle funzionalità (con riduzione di efficienza) DB - Introduzione 48

Basi di dati Esercitazioni su Introduzioni alle Basi di dati e DBMS DB - Introduzione 49

Esercitazioni Indicare quali delle seguenti affermazioni sono vere: l'indipendenza dei dati permette di scrivere programmi senza conoscere le strutture fisiche dei dati l'indipendenza dei dati permette di modificare le strutture fisiche dei dati senza dover modificare i programmi che accedono alla base di dati l'indipendenza dei dati permette di scrivere programmi conoscendo solo lo schema concettuale della BD l'indipendenza dei dati permette di formulare interrogazioni senza conoscere le strutture fisiche DB - Introduzione 50

Esercitazioni Indicare quali delle seguenti affermazioni sono vere: il fatto che le basi di dati siano condivise favorisce l'efficienza dei programmi che le utilizzano il fatto che le basi di dati siano condivise permette di ridurre ridondanze e inconsistenze il fatto che le basi di dati siano persistenti ne garantisce l'affidabilità il fatto che le basi di dati siano persistenti favorisce l'efficienza dei programmi il fatto che le basi di dati siano condivise rende necessaria la gestione della privatezza e delle autorizzazioni DB - Introduzione 51

Esercitazioni Indicare quali delle seguenti affermazioni sono vere: la distinzione fra DDL e DML corrisponde alla distinzione fra schema e istanza le istruzioni DML permettono di interrogare la base di dati ma non di modificarla le istruzioni DDL permettono di specificare la struttura della base di dati ma non di modificarla non esistono linguaggi che includono sia istruzioni DDL sia istruzioni DML SQL include istruzioni DML e DDL le istruzioni DML permettono di interrogare la base di dati e di modificarla DB - Introduzione 52

Esercitazioni Indicare quali delle seguenti affermazioni sono vere: gli utenti casuali utilizzano transazioni predefinite i terminalisti utilizzano transazioni predefinite gli utenti casuali progettano la base di dati i progettisti del DBMS realizzano le transazioni che saranno utilizzate dai terminalisti i progettisti della base di dati realizzano il DBMS i progettisti delle applicazioni utilizzano la base di dati come progettata dal progettista del DBMS i progettisti delle applicazioni utilizzano la BD come progettata dal progettista della BD DB - Introduzione 53