Liceo Scientifico V. Volterra Fabriano. Informatica Basi di dati Anno C Scienze Applicate Prof. Amedeo De Amicis

Documenti analoghi
Basi di Dati Concetti Introduttivi

Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2011/2012. Basi di dati

Elena Baralis 2007 Politecnico di Torino 1

Corso di Sviluppi dell Informatica e della Telematica a.a (ultima edizione v.o. 509)

Cap. 1-I 1 I sistemi informatici

Informatica per la Storia dell Arte. Anno Accademico 2013/2014. Docente: ing. Salvatore Sorce. Basi di dati

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

Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2010/2011. Basi di dati

Informatica per le Scienze Umane. Introduzione al corso: programma dettagliato

Informatica per le Scienze Umane. Introduzione al corso: programma

Basi di dati Introduzione

Basi di dati Basi di dati per bioinformatica

MODELLI DEI DATI. Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia

INFORMATICA PER LE SCIENZE UMANE a.a. 2015/2016

Le basi di dati. Definizione 1. Lezione 2. Bisogna garantire. Definizione 2 DBMS. Differenza

Sistema azienda. Sistema azienda (o sistema della organizzazione) uno o più obiettivi, o fini istituzionali

Bibliografia e strumenti. Obiettivi del corso. Comunicazione docente

Basi di dati D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2012/13

SISTEMI INFORMATIVI E DATABASE

Introduzione Concetti Generali Pratica su Access Link utili. ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 1

Università di Roma La Sapienza Laurea in Ingegneria Informatica. Basi di Dati. Anno Accademico 2003/2004 Canale M-Z.

DB e DBMS. Corso di Fondamenti di Informatica (PEU-Z) Dott.ssa Rossella Aiello

BASI DI DATI. basi di dati - introduzione ai sistemi informativi 1

SISTEMI INFORMATIVI AZIENDALI. introduzione ai sistemi informativi 1

DBMS. Affidabilità. Privatezza dei dati. Efficienza. Efficacia. Un DBMS deve garantire:

Informatica 2 Basi di dati

Cap. 1-I 1 I sistemi informatici

INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione

Basi di Dati. Prof.ssa Rosalba Giugno

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

Corso di Sistemi di Elaborazione delle informazioni

Progettazione di basi di dati

Basi di Dati. Progettazione di una Base di Dati. Progettazione di una Base di Dati

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

RELAZIONI E BASI DI DATI

SISTEMA INFORMATIVO E SISTEMA INFORMATICO. Sistema informativo e sistema informatico

I database. Introduzione alla teoria delle basi di dati

Basi di dati. Basi di dati. Basi di dati. Basi di dati (Database, DB) Basi di dati (Database, DB) Basi di dati (Database, DB)

Basi di Dati. Corso di Informatica. Memorizzazione dei Dati. Accesso ai Dati. Corso di Laurea in Conservazione e Restauro dei Beni Culturali

Ricevimento: dopo la lezione (in aula) o su appuntamento (Sede Scientifica Pal. 1 Primo Piano)

I DSS e la gestione dei dati e della conoscenza. Prof. Luca Gnan

Architettura CPU. Memoria principale (RAM) Dispositivi di ingresso. Dispositivi di uscita. Memoria secondaria (memoria di massa)

Pag Politecnico di Torino 1

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

Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a

I modelli logici dei dati

Laboratorio Progettazione Web

DBMS. Alice Pavarani

Informatica Introduzione alle basi di dati

Database: Introduzione. Basi di Dati e Microsoft Access. Database: Esempio. Informazioni facilmente reperibili

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/

Informatica e Bioinformatica: Basi di Dati

Sistema di Gestione di Basi di Dati DataBase Management System DBMS

Basi di Dati Ingegneria Informatica e delle Telecomunicazioni

Metodologie e modelli di progetto

Capitolo 6 Le infrastrutture SoftWare

Corso di Informatica

Informatica Industriale

IL PROCESSO di PROGETTAZIONE

Informatica (Basi di Dati)

Le basi di dati. Le basi di dati. dalla teoria all'utilizzo di tutti i giorni. Alessandro Tanasi

Aspetto comune: organizzazione di grandi quantità di dati permanenti da rendere accessibili in modo interattivo o da programmi.

ARCHITETTURA DI UN DBMS

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

Linee di programmazione

Basi di dati. Basi di dati = database

Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre

ERP, ENTERPRISE RESOURCE PLANNING

Bibliografia. INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. Definizione di DB e di DBMS

BASI DI DATI. Titolo Prof. Cognome Nome Indirizzo Numero Telefono

Sistemi informativi secondo prospettive combinate

MODELLO e RAPPRESENTAZIONE

Archivi e database. Dato e gli archivi

Sistemi Informativi e Commercio Elettronico

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)

7.2 Come elaborare i dati: introduzione alle basi di dati

Le funzionalità di un DBMS

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

Corso di Informatica (Basi di Dati)

Concetti di base. Modulo B.2

Relazioni e tabelle. Introduzione alle Basi di Dati Relazionali. Relazioni uno a uno. Esempio

BASI DATI INFORMATICA

rchinizer il protocollo informatico obiettivi e strategie dott. michele bianchi

I SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore.

Che cosa è e a cosa serve un GIS?

CURRICOLO DIPARTIMENTO INFORMATICA PRIMO BIENNIO

SOMMARIO TIPOLOGIE DI S.I.

Introduzione ai sistemi di Basi di Dati.

Componenti di un DBMS

INTRODUZIONE ALLE BASI DATI RELAZIONALI

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

Ciclo di vita di un sistema informativo

Basi di dati attive. Una base di dati è ATTIVA quando consente la definizione e la gestione di regole di produzione (regole attive o trigger).

Modello logico dei dati utilizzato nell ambito delle basi di dati, introdotto da Codd nel 1970.

Struttura Logica del S.O:

Il sistema informativo aziendale

Database (Base di dati)

Archivi e database. Lezione n. 7

ASPETTO SOFTWARE. Estensione del sistema operativo di un pc, ovvero un software di base che permette la comunicazione con gli utenti

Transcript:

Liceo Scientifico V. Volterra Fabriano Informatica Basi di dati Anno 2014-15 5 C Scienze Applicate Prof. Amedeo De Amicis

Obiettivi del corso: competenze da raggiungere Progettare e realizzare autonomamente basi di dati di media complessità

Base di dati Insieme organizzato di dati utilizzati per il supporto allo svolgimento di attività (di un ente, azienda, ufficio, persona) L approccio alla gestione di una base di dati può essere visto dal punto di vista: Metodologico Tecnologico

Che cos'è l'informatica? Scienza del trattamento razionale, specialmente per mezzo di macchine automatiche, dell informazione, considerata come supporto alla conoscenza umana e alla comunicazione (Accademia di Francia) Due anime: metodologica tecnologica

Sistema informativo Componente di una organizzazione che gestisce le informazioni di interesse (cioé utilizzate per il perseguimento degli scopi dell organizzazione) Ogni organizzazione ha un sistema informativo, eventualmente non esplicitato nella struttura Il sistema informativo è di supporto ad altri sottosistemi, e va quindi studiato nel contesto in cui è inserito

Gestione delle informazioni Raccolta, acquisizione Archiviazione, conservazione Elaborazione, trasformazione, produzione Distribuzione (documenti su siti web), comunicazione, scambio (posta elettronica) Sistema Informativo: insieme delle risorse (anche umane) e attività finalizzate alla gestione (raccolta, registrazione, elaborazione, conservazione, comunicazione) dell informazione in un organizzazione.

Sistemi informativi e automazione Il concetto di sistema informativo è indipendente da qualsiasi automatizzazione: esistono organizzazioni la cui ragion d essere è la gestione di informazioni (p.es. servizi anagrafici e banche) e che operano da secoli Esempio: il sistema informativo dell Università contiene le informazioni sugli studenti, sui docenti, sulle aule, sugli esami, sugli insegnamenti (sono informazioni omogenee)

Sistemi informativi Altri esempi applicazioni gestionali classiche (gestione ordini, personale, magazzino) applicazioni finanziarie (banche, borsa, carte di credito) sistemi di prenotazione (treni, aerei, alberghi) nuove applicazioni (commercio elettronico)

Sistema Informatico Porzione automatizzata del sistema informativo: la parte del sistema informativo che gestisce informazioni con tecnologia informatica assicura la generazione, l elaborazione, la circolazione e la memorizzazione delle informazioni su supporti magnetici e non

Sistema Informatico Sistema azienda Sistema organizzativo Sistema informativo Sistema informatico

Gestione delle informazioni Nelle attività umane, le informazioni vengono gestite in forme diverse: idee informali linguaggio naturale (scritto o parlato, formale o colloquiale, in varie lingue) disegni, grafici, schemi numeri e codici e su vari supporti mente umana, carta, dispositivi elettronici

Informazioni e dati Nei sistemi informatici (e non solo), le informazioni vengono rappresentate in modo essenziale, spartano: attraverso i dati

Informazioni e dati (definizioni 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

Dati e informazioni Lun-Ven Sabato Festivo che cosa significano questi numeri? cartelli stradali, in Finlandia; sono orari ma la differenza? senza "interpretazione, il dato serve a ben poco

Gestione delle informazioni I dati sono spesso il risultato di forme di organizzazione e codifica delle informazioni Ad esempio, nei servizi anagrafici e nel riferimento a persone descrizioni discorsive nome e cognome estremi anagrafici codice fiscale

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): ad esempio, i dati delle banche o delle anagrafi

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

Sistema di gestione di basi di dati DataBase Management System (DBMS) Sistema che gestisce collezioni di dati: Caratteristiche: grandi (excel gestisce 1 milione di righe x 65 mila colonne) persistenti (perché memorizzati su disco) condivise (esempio biglietti degli aerei) garantendo privatezza (si può controllare chi può accedere al DB e tracciare le operazioni svolte) affidabilità efficienza efficacia

DBMS Prodotti software (complessi) disponibili sul mercato; esempi: DB2 Oracle SQLServer MySQL PostgreSQL Access

Le basi di dati sono... grandi dimensioni (molto) maggiori della memoria centrale dei sistemi di calcolo utilizzati il limite deve essere solo quello fisico dei dispositivi esempi di dimensioni molto grandi 500 Gigabyte (dati transazionali) 10 Terabyte (dati decisionali) 500 Terabyte (dati scientifici) 100 miliardi di record

Le basi di dati sono... persistenti Hanno un tempo di vita indipendente dalle singole esecuzioni dei programmi che le utilizzano

Le basi di dati sono... condivise Ogni organizzazione (specie se grande) è divisa in settori o comunque svolge diverse attività Ciascun settore/attività ha un (sotto)sistema informativo (non necessariamente disgiunto)

Problemi Ridondanza: informazioni ripetute Rischio di incoerenza: le versioni possono non coincidere

Archivi e basi di dati Gestione orario lezioni Archivio 1: orario lezioni Gestione ricevimento Archivio 2: ricevimento

Archivi e basi di dati Gestione orario lezioni Gestione ricevimento Base di dati

Le basi di dati sono condivise Una base di dati è una risorsa integrata, condivisa fra applicazioni conseguenze Attività diverse su dati condivisi: meccanismi di autorizzazione Accessi di più utenti ai dati condivisi: controllo della concorrenza

I DBMS garantiscono... privatezza Si possono definire meccanismi di autorizzazione l'utente A è autorizzato a leggere tutti i dati e a modificare X l'utente B è autorizzato a leggere dati X e a modificare Y

I DBMS garantiscono... affidabilità Affidabilità (per le basi di dati): resistenza a malfunzionamenti hardware e software Una base di dati è una risorsa pregiata e quindi deve essere conservata a lungo termine Tecnica fondamentale: gestione delle transazioni

Transazione Insieme di operazioni da considerare indivisibile ("atomico"), corretto anche in presenza di concorrenza e con effetti definitivi Una transazione, per essere tale, deve godere delle cosiddette proprietà ACID, particolarmente significative nei sistemi in cui possono essere eseguite più transazioni contemporaneamente.

Le transazioni sono atomiche Perché le transazioni operino in modo corretto sui dati è necessario che i meccanismi che le implementano soddisfino queste quattro proprietà: atomicità: la transazione è indivisibile nella sua esecuzione e la sua esecuzione deve essere o totale o nulla, non sono ammesse esecuzioni parziali; coerenza: quando inizia una transazione il database si trova in uno stato coerente e quando la transazione termina il database deve essere in un altro stato coerente, ovvero non deve violare eventuali vincoli di integrità, quindi non devono verificarsi contraddizioni (inconsistenza) tra i dati archiviati nel DB; isolamento: ogni transazione deve essere eseguita in modo isolato e indipendente dalle altre transazioni, l'eventuale fallimento di una transazione non deve interferire con le altre transazioni in esecuzione; durabilità: detta anche persistenza, si riferisce al fatto che una volta che una transazione abbia richiesto un commit work, i cambiamenti apportati non dovranno essere più persi. Per evitare che nel lasso di tempo fra il momento in cui la base di dati si impegna a scrivere le modifiche e quello in cui li scrive effettivamente si verifichino perdite di dati dovuti a malfunzionamenti, vengono tenuti dei registri di log dove sono annotate tutte le operazioni sul DB.

Le transazioni sono atomiche Una sequenza di operazioni correlate: trasferimento di fondi da un conto A ad un conto B: o si fanno il prelevamento da A e il versamento su B o nessuno dei due deve essere eseguita per intero o per niente: o si fanno il prelevamento da A e il versamento su B o nessuno dei due

Le transazioni sono concorrenti L'effetto di transazioni concorrenti deve essere coerente se due assegni emessi sullo stesso conto corrente vengono incassati contemporaneamente si deve evitare di trascurarne uno se due agenzie richiedono lo stesso posto (libero) su un treno si deve evitare di assegnarlo due volte

I risultati delle transazioni sono permanenti La conclusione positiva di una transazione corrisponde ad un impegno (in inglese commit) a mantenere traccia del risultato in modo definitivo, anche in presenza di guasti e di esecuzione concorrente

I DBMS debbono essere...efficienti Cercano di utilizzare al meglio le risorse di spazio di memoria (principale e secondaria) e tempo (di esecuzione e di risposta) I DBMS, con tante funzioni, rischiano l'inefficienza e per questo ci sono grandi investimenti e competizione L efficienza è anche il risultato della qualità delle applicazioni Efficienza = tempi di risposta e occupazione spazio accettabili (dipende molto dalla tecnica di memorizzazione dei dati)

I DBMS debbono essere...efficaci Cercano di rendere produttive le attività dei loro utilizzatori, offrendo funzionalità articolate, potenti e flessibili Efficacia = facilitare l attività di organizzazione

Descrizione dei dati Nei programmi tradizionali che accedono a file, ogni programma contiene una descrizione della struttura del file stesso, con i conseguenti rischi di incoerenza fra le descrizioni (ripetute in ciascun programma) e i file stessi Nei DBMS, esiste una porzione della base di dati (il catalogo o dizionario) che contiene una descrizione centralizzata dei dati, che può essere utilizzata dai vari programmi

Modello dei dati Esempio: il modello relazionale prevede il costruttore relazione (tabella ), che permette di definire insiemi di record omogenei Cioè il DBMS come memorizza i dati? Secondo il modello relazionale. Relazione = Tabella

Organizzazione dei dati in una base di dati - Istanza 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

Basi di dati: schema e istanza 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

Schema e istanza In ogni base di dati esistono: lo schema, sostanzialmente invariante nel tempo, che ne descrive la struttura es.: le intestazioni delle tabelle: le colonne si chiamano attributi Orario(insegnamento,Docente,Aula,Ora) l istanza, i valori attuali, che possono cambiare anche molto rapidamente es.: il corpo di ciascuna tabella Ex

Due tipi (principali) di modelli modelli logici modelli concettuali

Modelli logici Adottati nei DBMS esistenti per l organizzazione dei dati utilizzati dai programmi indipendenti dalle strutture fisiche Esempi: relazionale, reticolare, gerarchico, a oggetti, basato su XML

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ù diffuso è il modello Entity- Relationship

Architettura (semplificata) di un DBMS utente Schema logico Schema interno BD

Architettura semplificata di un DBMS: schemi schema logico: descrizione della base di dati nel modello logico (ad esempio, la struttura della tabella) schema interno (o fisico): rappresentazione dello schema logico per mezzo di strutture memorizzazione (file; ad esempio, record con puntatori, ordinati in un certo modo)

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)

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

Architettura ANSI/SPARC: schemi Schema logico: descrizione dell intera base di dati nel modello logico principale del DBMS Schema interno (o fisico): rappresentazione dello schema logico per mezzo di strutture fisiche di memorizzazione Schema esterno: descrizione di parte della base di dati in un modello logico ( viste parziali, derivate, anche in modelli diversi)

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

SQL, un linguaggio interattivo Corsi Corso Docente Aula Basi di dati Rossi DS3 Sistemi Neri N3 Reti Bruni N3 Controlli Bruni G Aule Nome DS1 N3 G Edificio OMI OMI Pincherle Piano Terra Terra Primo "Trovare i corsi tenuti in aule a piano terra"

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

Interazione non testuale (Access)

Transazioni (per l'utente) Programmi che realizzano attività frequenti e predefinite, con poche eccezioni, previste a priori. Esempi: versamento presso uno presso sportello bancario emissione di certificato anagrafico dichiarazione presso l ufficio di stato civile prenotazione aerea Le transazioni sono di solito realizzate in linguaggio ospite (tradizionale o ad hoc)

Vantaggi e svantaggi dei DBMS, 1 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)

Vantaggi e svantaggi dei DBMS, 2 Contro costo dei prodotti e della transizione verso di essi non scorporabilità delle funzionalità (con riduzione di efficienza)

Esercizi su Basi di dati e DBMS

Quali delle seguenti affermazioni sono vere? l'indipendenza dei dati permette di scrivere programmi senza conoscere le strutture fisiche dei dati Y l'indipendenza dei dati permette di modificare le strutture fisiche dei dati senza dover modificare i programmi che accedono alla base di dati Y l'indipendenza dei dati permette di scrivere programmi conoscendo solo lo schema concettuale della BD N l'indipendenza dei dati permette di formulare interrogazioni senza conoscere le strutture fisiche Y

Quali delle seguenti affermazioni sono vere? il fatto che le basi di dati siano condivise favorisce l'efficienza dei programmi che le utilizzano N il fatto che le basi di dati siano condivise permette di ridurre ridondanze e inconsistenze Y il fatto che le basi di dati siano persistenti ne garantisce l'affidabilità Y il fatto che le basi di dati siano persistenti favorisce l'efficienza dei programmi N il fatto che le basi di dati siano condivise rende necessaria la gestione della privatezza e delle autorizzazioni Y

Quali delle seguenti affermazioni sono vere? gli utenti casuali utilizzano transazioni predefinite N i terminalisti utilizzano transazioni predefinite Y gli utenti casuali progettano la base di dati N i progettisti del DBMS realizzano le transazioni che saranno utilizzate dai terminalisti N i progettisti della base di dati realizzano il DBMS N i progettisti delle applicazioni utilizzano la base di dati come progettata dal progettista del DBMS N i progettisti delle applicazioni utilizzano la BD come progettata dal progettista della BD Y