Introduzione alle basi di dati (prima parte)



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

Corso di Informatica (Basi di Dati)

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

Informatica (Basi di Dati)

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

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

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

Base di dati e sistemi informativi

Progettaz. e sviluppo Data Base

IL SISTEMA INFORMATIVO

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015

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

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

Introduzione al data base

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

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

Facoltà di Farmacia - Corso di Informatica

1. BASI DI DATI: GENERALITÀ

1.1 Introduzione alle basi di dati

Il database management system Access

Corso di Informatica

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

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

Database. Si ringrazia Marco Bertini per le slides

I database relazionali (Access)

Progettazione di Basi di Dati

Progettaz. e sviluppo Data Base

Le Basi di Dati. Le Basi di Dati

Organizzazione degli archivi

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

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

Elena Baralis 2013 Politecnico di Torino 1

SOFTWARE PER LA RILEVAZIONE PRESENZE SUL WEB

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

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

Informatica I per la. Fisica

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

Sistemi Informativi e Basi di Dati

Database. Francesco Tapparo Informatica e Bioinformatica /16

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

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

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

I Sistemi Informativi

Introduzione ai database relazionali

Corso di Basi di Dati e Conoscenza

Alessandra Raffaetà. Basi di Dati

Archivi e database. Lezione n. 7

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

DBMS (Data Base Management System)

Sistemi centralizzati e distribuiti

DATABASE. A cura di Massimiliano Buschi

SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO

INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO

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

Gestione Risorse Umane Web

Lezione 1. Introduzione e Modellazione Concettuale

Soluzioni integrate per la gestione del magazzino

Limiti della gestione tradizionale degli archivi. Prof. Francesco Accarino IIS Altiero Spinelli

EXPLOit Content Management Data Base per documenti SGML/XML

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

InfiXor. il programma facile e versatile per preventivi veloci e completi. il software di preventivazione per produttori e rivenditori di infissi

BASI DI DATI - : I modelli di database

BASE DI DATI: sicurezza. Informatica febbraio ASA

Il sistema C.R.M. / E.R.M.

Basi di Dati e Microsoft Access

Base Dati Introduzione

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

Pag. 1. Gestione delle transazioni. Linguaggio SQL: costrutti avanzati. Esempio applicativo. Gestione delle transazioni. Prelievo. Esempio applicativo

LA MIGRAZIONE DEI DATI DA ASFI A SIASFI: PROBLEMI E SOLUZIONI. La migrazione dei dati da ASFi a SIASFi: problemi e soluzioni.

Scenario di Progettazione

Archivio: è un insieme organizzato di informazioni (movimenti contabili, archivi: clienti/fornitori, personale, magazzino) Proprietà:

Titolare del trattamento dei dati innanzi descritto è tsnpalombara.it

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

DATABASE.

Organizzazione delle informazioni: Database

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

Informatica DR KLOE Calcolo

Fondamenti di Informatica. Docenti: Prof. Luisa Gargano Prof. Adele Rescigno BENVENUTI!

Al giorno d oggi, i sistemi per la gestione di database

corso di Access MICROSOFT ACCESS Docente: Andrea Mereu Università degli studi di Cagliari 16 aprile 9 maggio 2012

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

Il Modello Relazionale

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

La Metodologia adottata nel Corso

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

Informatica 2 Basi di dati

DATABASE RELAZIONALI

SDD System design document

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

Informatica Documentale

Introduzione all Information Retrieval

Gestione Voti Scolastici


Linguaggio SQL: costrutti avanzati

Informatica Generale Andrea Corradini Sistemi di Gestione delle Basi di Dati

ALGEBRA DELLE PROPOSIZIONI

MODULO 5 Appunti ACCESS - Basi di dati

Tecnologie dell informazione e della comunicazione per le aziende

Lezione 8. Motori di Ricerca

Transcript:

Introduzione alle basi di dati (prima parte) Università degli Studi di Salerno Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto A.A. 2007/2008 Introduzione Le informazioni rappresentano una delle risorse strategiche più importanti, insieme a personale, denaro e materiali che ciascuna organizzazione o azienda deve gestire. Per lo svolgimento delle loro funzioni le aziende svolgono diversi processi. Tra tali processi quelli che prenderemo in esame sono quelli informativi che constano di: raccolta, acquisizione delle informazioni; archiviazione, conservazione delle informazioni; elaborazione delle informazioni; distribuzione, scambio delle informazioni. 2 1

Introduzione (2) In questo modulo vedremo come le informazioni vengono archiviate in modo tale da consentire di essere ritrovate per una loro successiva elaborazione o distribuzione. Inizialmente verranno introdotti i concetti di sistema informativo, di sistema informatico, di base di dati e di sistema di gestione di basi di dati (DBMS) e verrà chiarita la differenza tra informazioni e dati. Passeremo poi alla definizione dei vari modi di organizzare i dati introducendo il concetto di modello dei dati e vedremo che il modello relazionale garantisce l indipendenza fisica dei dati stessi. 3 Introduzione (3) Nelle altre parti del modulo studieremo un particolare modello dei dati, denominato modello dei dati relazionale, che organizza i dati in tabelle (o relazioni). Vedremo la relazione che intercorre tra schema di una base di dati ed istanza di una base di dati e come evitare che i dati memorizzati nella base di dati siano incoerenti, e rendano pertanto inutilizzabile la base di dati stessa. Introdurremo quindi il concetto di vincolo d integrità, il cui compito è appunto di garantire l integrità dei dati. Vedremo diversi tipi di vincoli, quelli definiti all interno di una tabella e quelli definiti tra due tabelle. Discuteremo poi come è possibile manipolare le tabelle al fine di ottenerne una che contenga i valori che rispondono ad una certa interrogazione. Questo processo consente di formulare delle interrogazioni per cui vedremo un particolare linguaggio, chiamato SQL, che consente di esprimere tutta una serie di operazioni che vanno dalla definizione dello schema agli aggiornamenti dei dati e all interrogazione delle basi di dati. 4 2

Sistemi informativi e sistemi informatici Per comprendere cosa sono le basi di dati è opportuno inserirle nel contesto dei sistemi informativi. Un sistema informativo è un sistema di supporto ai processi informativi di un organizzazione e pertanto non è legato in alcun modo all informatica. I sistemi informativi esistono da quando l uomo nelle pareti delle caverne disegnava dei cervi per ricordare una buona giornata di caccia. Ogni organizzazione utilizza al suo interno un sistema informativo. Quello classico si basa su lettere, moduli ed altri documenti cartacei. La porzione di sistema informativo che viene gestita in modo automatico mediante tecnologie informatiche prende il nome di sistema informatico. 5 Sistemi informativi e sistemi informatici (2) I sistemi informatici hanno il compito di raccogliere, organizzare e conservare le informazioni. Essi garantiscono che tali informazioni vengano conservate in modo permanente su dispositivi per la loro memorizzazione, aggiornate per riflettere rapidamente le loro variazioni e rese accessibili alle richieste degli utenti. Idealmente il sistema informatico dovrebbe coincidere con quello informativo. Purtroppo però i processi informativi gestiti in modo automatico costituiscono solo una porzione di gran parte dei sistemi informativi. Dal momento che un sistema informatico è di supporto ai processi di manipolazione automatica dell informazione è opportuno chiedersi che cosa vuol dire "informazione" e come gestirla. 6 3

Sistemi informativi e sistemi informatici (4) Nelle attività umane più semplici le informazioni vengono rappresentate e scambiate secondo le tecniche naturali tipiche delle attività stesse: la lingua, scritta o parlata, disegni, figure, numeri. Mano a mano che le attività si sono andate sistemizzando, sono state sviluppate opportune forme di organizzazione e codifica delle informazioni. Nei sistemi informatici, per ragioni in parte tecnologiche e in parte legate alla semplicità dei meccanismi di gestione, il concetto di rappresentazione viene portato all estremo: le informazioni vengono rappresentate per mezzo di dati, che hanno bisogno di essere interpretati per fornire informazioni. I dati da soli non hanno significato, ma, una volta interpretati e correlati opportunamente, essi forniscono informazione. 7 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 8 4

Dati e Informazioni Nei sistemi computerizzati l informazione è rappresentata sotto forma di dati Dati: fatti grezzi che devono essere interpretati e correlati per fornire informazione 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 9 Dati e Informazioni (2) Esempio: Angela Peduto e 089960022 sono una stringa e un numero, ossia due dati Se sono restituiti in risposta alla domanda Chi è il docente del corso e qual è il suo numero di telefono allora costituiscono informazione 10 5

Basi di dati e sistemi per la gestione di basi di dati Una base di dati (o Database, DB) è una collezione di dati (di solito condivisa tra diversi applicazioni o utenti). Una base di dati può essere di grandi dimensioni (anche migliaia di miliardi di byte) e comunque di dimensioni molto maggiori della memoria primaria di un computer, di conseguenza è memorizzata in memoria secondaria. Ovviamente una base di dati può anche essere piccola, ma i sistemi non devono porre limiti alle dimensioni ed alla dinamicità dei dati memorizzati. Una base di dati è condivisa: applicazioni e utenti diversi devono poter accedere, secondo opportune modalità, a dati comuni. In questo modo si riduce la ridondanza dei dati, poiché si evitano ripetizioni e conseguentemente si riduce la possibilità di incoerenze. Una base di dati è persistente, cioè ha un tempo di vita superiore al tempo di esecuzione delle applicazioni che la utilizzano. 11 Sistema di gestione di basi di dati o DBMS Un sistema di gestione di basi di dati (o Database Management System, DBMS) è un sistema software in grado di gestire collezioni di dati che siano grandi, condivise e persistenti. I DBMS garantiscono l affidabilità, cioè la capacità del sistema di conservare sostanzialmente intatto il contenuto della base di dati (o almeno di permetterne la ricostruzione) in caso di malfunzionamenti hardware e software. A questo scopo i DBMS forniscono specifiche funzionalità di salvataggio e ripristino (backup e recovery). I DBMS garantiscono la privatezza dei dati. Ciascun utente, riconosciuto in base ad un nome d utente che è specificato all atto di interagire con il DBMS, viene abilitato a svolgere solo determinate azioni sui dati, attraverso meccanismi di autorizzazione. 12 6

Sistema di gestione di basi di dati o DBMS (2) I DBMS gestiscono le basi di dati in modo efficiente ed efficace. Per efficienza si intende un utilizzo delle risorse (tempo e spazio) che sia accettabile dagli utenti. Ad esempio un utente che prenda un volo d aereo attraverso Internet potrà accettare alcuni secondi di ritardo, ma un utente che controlla una centrale nucleare non potrà accettare così a lungo. Per efficacia si intende la capacità dei DBMS di rendere produttive le attività dei suoi utenti. L attività di progettazione della base di dati e delle applicazioni che la utilizzano mira essenzialmente a garantire una buona efficacia complessiva del sistema. 13 Sistemi di archiviazione e banche dati L attenzione alle informazioni ha caratterizzato le applicazioni dell informatica fin dalle sue origini attraverso la realizzazione di sistemi software specificamente dedicati alla gestione delle informazioni. Tali sistemi spesso vengono chiamati in vari modi. A volte si parla di sistemi di archiviazione, altre di banche dati ed altre ancora di basi di dati rendendo confusa le loro funzionalità e quindi il contesto applicativo. Un sistema di archiviazione consente la memorizzazione e la ricerca di informazioni che sono invarianti nel tempo. La caratteristica di tali sistemi è la loro staticità. Ad esempio un compact disk contenente il dizionario delle lingua italiana, oppure un enciclopedia sono esempi di sistemi di archiviazione che tipicamente vengono aggiornati mediante la realizzazione di un nuovo sistema di archiviazione che rimpiazza il vecchio. 14 7

Sistemi di archiviazione e banche dati (2) Anche una banca dati consente la memorizzazione e la ricerca di informazioni. Le banche dati a differenza dei sistemi di archiviazione possono crescere nel tempo mediante aggiunta di altre informazioni e spesso sono condivise mediante una rete tra più utenti. Una banca dati contenente le Gazzette Ufficiali contiene informazioni testuali e l aggiornamento non prevede la rimozione o la modifica di una Gazzetta, ma solo l inserzione di una nuova "Gazzetta". Quindi né i sistemi di archiviazione né le banche dati sono in grado di gestire aggiornamenti frequenti delle informazioni. Come vedremo questo compito viene svolto dalle basi di dati. 15 Basi di dati e sistemi per la gestione di basi di dati Una base di dati (o Database, DB) è una collezione di dati (di solito condivisa tra diversi applicazioni o utenti). Una base di dati può essere di grandi dimensioni (anche migliaia di miliardi di byte) e comunque di dimensioni molto maggiori della memoria primaria di un computer, di conseguenza è memorizzata in memoria secondaria. Ovviamente una base di dati può anche essere piccola, ma i sistemi non devono porre limiti alle dimensioni ed alla dinamicità dei dati memorizzati. Una base di dati è condivisa: applicazioni e utenti diversi devono poter accedere, secondo opportune modalità, a dati comuni. In questo modo si riduce la ridondanza dei dati, poiché si evitano ripetizioni e conseguentemente si riduce la possibilità di incoerenze. Una base di dati è persistente, cioè ha un tempo di vita superiore al tempo di esecuzione delle applicazioni che la utilizzano. 16 8

Sistema di gestione di basi di dati o DBMS Un sistema di gestione di basi di dati (o Database Management System, DBMS) è un sistema software in grado di gestire collezioni di dati che siano grandi, condivise e persistenti. I DBMS garantiscono l affidabilità, cioè la capacità del sistema di conservare sostanzialmente intatto il contenuto della base di dati (o almeno di permetterne la ricostruzione) in caso di malfunzionamenti hardware e software. A questo scopo i DBMS forniscono specifiche funzionalità di salvataggio e ripristino (backup e recovery). I DBMS garantiscono la privatezza dei dati. Ciascun utente, riconosciuto in base ad un nome d utente che è specificato all atto di interagire con il DBMS, viene abilitato a svolgere solo determinate azioni sui dati, attraverso meccanismi di autorizzazione. 17 Sistema di gestione di basi di dati o DBMS (2) I DBMS gestiscono le basi di dati in modo efficiente ed efficace. Per efficienza si intende un utilizzo delle risorse (tempo e spazio) che sia accettabile dagli utenti. Ad esempio un utente che prenda un volo d aereo attraverso Internet potrà accettare alcuni secondi di ritardo, ma un utente che controlla una centrale nucleare non potrà accettare così a lungo. Per efficacia si intende la capacità dei DBMS di rendere produttive le attività dei suoi utenti. L attività di progettazione della base di dati e delle applicazioni che la utilizzano mira essenzialmente a garantire una buona efficacia complessiva del sistema. 18 9

Tipologie di basi di dati Le basi di dati possono distinguersi a seconda delle dimensioni, ossia numero di utenti contemporanei, frequenza delle operazioni e sistema per la gestione di base di dati suggerito. Ad esempio per una base di dati personale con alcune decina di megabyte di dati, qualche utente ed una frequenza di alcune operazioni al secondo, come sistema per la gestione di basi di dati si potrebbe scegliere sia Access che MySQL. Per basi di dati di grandi aziende contenenti migliaia di miliardi di byte ed in cui migliaia di utenti contemporaneamente svolgono decine di milioni di operazioni come sistema per la gestione di basi di dati si potrebbero scegliere sia Oracle che DB2. 19 Tipologie di basi di dati (2) Di seguito riportiamo una tabella esemplificativa relativa alla varie tipologie di basi di dati e quindi alle relative dimensioni, numero di utenti contemporanei, frequenza delle operazioni e sistema per la gestione di base di dati suggerito. Questi numeri non sono assoluti, ma hanno lo scopo di esemplificare i campi di utilizzo dei vari DBMS. Tipologia Personali Gruppo/Dip Aziendali Grandi Aziende Dimensioni 10MB- 100MB 100MB- 10GB 10GB- 100GB 100GB-10TB Utenti 1-3 3-100 100-1000 >100 0 Oper/s <3 <300 <30.000 <300.00 0 DBMS Access/M ysql SQLserv er/mysq L SQLServ er/oracle/ DB2 Oracle/D B2 20 10

Componenti di un Sistema Informativo basato su computer 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 21 Componenti di un Sistema Informativo basato su computer SW Applicativo SW Gestione BD BD 22 11

DB e DBMS DB (Database = Base di Dati): collezione di dati logicamente correlati di interesse per il Sistema Informativo DBMS (Database Management System = Sistema di gestione della Base di Dati): componente software che interagisce con la Base di Dati e con i programmi applicativi degli utenti 23 Riepilogando un DBMS è... Sistema che gestisce collezioni di dati: grandi persistenti condivise garantendo privatezza affidabilità efficienza efficacia 24 12

Alcuni DBMS in commercio Prodotti software (complessi) disponibili sul mercato; esempi: Access DB2 Oracle Informix Sybase SQLServer 25 13