Facoltà di Farmacia - Corso di Informatica



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

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. Basi di dati (Database, DB) Basi di dati parte 1: Introduzione

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

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

Il database management system Access

Progettaz. e sviluppo Data Base

Introduzione al data base

Le Basi di Dati. Le Basi di Dati

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

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

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

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

Corso di Informatica (Basi di Dati)

Progettazione di Basi di Dati

Base Dati Introduzione

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

DBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System)

IL SISTEMA INFORMATIVO

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015

Introduzione ai database relazionali

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

Lezione 1. Introduzione e Modellazione Concettuale

BASI DI DATI - : I modelli di database

Organizzazione delle informazioni: Database

Corso di Informatica RDBMS RDBMS. Corso di Laurea in Conservazione e Restauro dei Beni Culturali

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

Data Base. Prof. Filippo TROTTA

1. BASI DI DATI: GENERALITÀ

Informatica (Basi di Dati)

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

DATABASE.

DBMS (Data Base Management System)

Sistemi Informativi e Basi di Dati

I database relazionali (Access)

Base di dati e sistemi informativi

Database. Si ringrazia Marco Bertini per le slides

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

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

Introduzione alle basi di dati (prima parte)

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

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

Informatica I per la. Fisica

Organizzazione degli archivi

Introduzione alla teoria dei database relazionali. Come progettare un database

INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

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

Capitolo 13. Interrogare una base di dati

MODELLO RELAZIONALE. Introduzione

BASE DI DATI: sicurezza. Informatica febbraio ASA

Dispensa di database Access

Microsoft Access. Microsoft Access

Corso di Informatica

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

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

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

Pagina 1 di 10

Database. Francesco Tapparo Informatica e Bioinformatica /16

Progettazione di un Database

Elena Baralis 2013 Politecnico di Torino 1

Corso di Informatica

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

La Metodologia adottata nel Corso

Università degli Studi di Verona. Laboratorio di Basi di Dati

database: modello entityrelationship

Progettaz. e sviluppo Data Base

Alessandra Raffaetà. Basi di Dati

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere;

DATABASE. A cura di Massimiliano Buschi

Progettazione di Database. Un Esempio

Archivi e database. Lezione n. 7

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

LABORATORIO. 2 Lezioni su Basi di Dati Contatti:

Programma del Corso per Segretaria d Azienda:

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

Lezioni di Laboratorio sui Data Base

Sistemi di Elaborazione delle Informazioni (C.I. 15) Access

Informatica per le discipline umanistiche 2 lezione 10

TEORIA sulle BASI DI DATI

Esercizio data base "Biblioteca"

ControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi

Informatica Generale Andrea Corradini Sistemi di Gestione delle Basi di Dati

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere;

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

DEFINIZIONI FONDAMENTALI

Informatica Documentale

Introduzione all Information Retrieval

disponibili nel pacchetto software.

Sistemi centralizzati e distribuiti

Gestione Voti Scolastici

Uso delle basi di dati. Informazione e dato. Cos è un database. Tabelle. Esempi di database

A ridurre le dimensioni del database. A ordinare i record secondo criteri fissati sui campi. A facilitare le operazioni di inserimento dei dati

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

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

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

Database 1 biblioteca universitaria. Testo del quesito

Le query. Lezione 6 a cura di Maria Novella Mosciatti

RDBMS. Corso di Informatica RDBMS. Access. Corso di Laurea in Conservazione e Restauro dei Beni Culturali

Transcript:

Basi di dati Riferimenti: Curtin cap. 8 Versione: 13/03/2007 1

Basi di dati (Database, DB) Una delle applicazioni informatiche più utilizzate, ma meno conosciute dai non informatici Avete già interagito (inconsapevolmente?) con DB: anagrafe, biblioteca, banca, voti degli esami, prenotazioni voli, treni, cinema, concerti Problema: memorizzare grandi quantità di informazioni in modo da facilitare la modifica e il reperimento 2

Basi di dati Prima soluzione: il file system (magari in file di testo) Svantaggi: Organizzazione dei file a carico dell utente (categorizzazione dei dati per poterli reperire) Dati non strutturati: come confrontarli e elaborarli? Quando si hanno molti dati, i file diventano difficili da gestire Seconda soluzione: foglio elettronico Svantaggi: Difficile condivisione tra più utenti Difficile reperire informazioni Quindi: Basi di dati 3

Magazzini di dati Basi di dati Un DB è un grande insieme di dati organizzati e memorizzati in forma strutturata e omogenea Strutturata: es. anagrafe: nome, cognome, data di nascita, Omogenea: es. anagrafe: per ogni persona mantengo le stesse informazioni 4

Basi di dati DB adatti a memorizzare dati omogenei che devono essere strutturati; ad es. ok dati anagrafe no testo di un libro DB gestiti da DBMS (DataBase Management System, sistema di gestione di basi di dati) 5

Basi di dati Un DBMS gestisce insiemi di dati: a. grandi b. persistenti c. condivisi garantendo a. affidabilità b. privatezza c. efficienza d. efficacia 6

Le basi di dati sono grandi a. Dimensioni: un DB può avere dimensioni di 1000 Gigabyte DBMS deve gestire dati su memoria secondaria 7

Le basi di dati sono persistenti b. Persistenza: i dati hanno un tempo di vita che non è limitato a quello delle singole esecuzioni delle applicazioni 8

Le basi di dati sono condivise c. Condivisione: i dati di un DB devono essere condivisibili da più utenti che utilizzano varie applicazioni (es. azienda con magazzino) L accesso si deve svolgere secondo opportune modalità 9

Problemi Concorrenza: nello stesso tempo più transazioni (sequenze di operazioni sul DB) possono richiedere e/o modificare il medesimo dato Ridondanza: informazioni ripetute Incoerenza: errori di allineamento dei dati es.: se due assegni vengono incassati contemporaneamente sullo stesso c/c, non bisogna trascurarne nessuno 10

Le basi di dati sono condivise Utente 1 Utente 2 Utente 3 Utente 4 Applicazione Applicazione Applicazione Applicazione Applicazione DBMS DB 11

Le basi di dati garantiscono affidabilità d.affidabilità: il DBMS garantisce il contenuto del DB in caso di malfunzionamenti hw o sw I DBMS danno backup e recovery 12

Le basi di dati garantiscono privatezza e.privatezza: gli utenti svolgono solo determinate azioni sui dati, con meccanismi di autorizzazione Es. biblioteca: a. il lettore ha diritto di lettura e ricerca dei dati, ma non di modifica/inserimento; b. il bibliotecario ha diritto di modificare i dati: deve aggiungere/togliere libri e segnalare i prestiti 13

Le basi di dati garantiscono efficienza f. Efficienza: le operazioni devono essere svolte in tempi accettabili per l utente (molto brevi!) nonostante la grande mole di dati 14

Le basi di dati garantiscono efficacia g. Efficacia: cercano di rendere produttiva l attività dell utente, offrendo funzionalità articolate, potenti e flessibili 15

Utenti del Database L amministratore della base di dati (database administrator, DBA) è il responsabile della progettazione, controllo e amministrazione della base di dati Progettisti e programmatori di applicazioni Utenti 16

Modello relazionale Introdotto nel 1970 Affermato negli anni 80 Attualmente è il modello di DB più diffuso: probabilmente ogni DB che incontrerete sarà relazionale 17

Modello relazionale Il modello relazionale si basa sull'algebra delle relazioni fra i dati. Che cosa e' una relazione? Si definisce a partire dalla teoria degli insiemi. 18

Modello relazionale Consideriamo 2 insiemi A=(a, b, c) e Y=(1,2): il prodotto cartesiano A x Y e' l'insieme formato da tutte le possibili coppie formate da un elemento di A e da uno di Y, cioè AxY=(<a,1>, <a,2>, <b,1>, <b,2>, <c,1>, <c,2>) 19

Una relazione e' un sottoinsieme di AxY definito attraverso una legge (o regola). Ad esempio definiamo R1 la relazione che associa ad a e c il numero 1 e a b il numero 2, allora R1=(<a,1>, <c,1>, <b,2>) Notiamo come una relazione selezioni gli elementi del prodotto cartesiano: per quello che ci riguarda una relazione definisce l'insieme delle caratteristiche di un dato in termini matematici 20

Un esempio... 21

Modello relazionale: struttura dei dati Come nei fogli elettronici, sono organizzati in tabelle Es.: tabella Studenti del database di una università 22

Modello relazionale: struttura dei dati Le entità (i fatti) compongono le righe (record) Le caratteristiche delle entità sono le (intestazioni delle) colonne (attributi) Il valore di un attributo per una specifica entità compone le celle (campi) Tutti i record di una tabella hanno lo stesso formato, cioè gli stessi attributi 23

Modello relazionale: struttura dei dati attributo record campo 24

Tabelle, Record e Campi A ogni campo sono associati: nome lunghezza tipo di dato (numero, data, caratteri) Es. campo Città : nome: Città lunghezza: 30 caratteri tipo di dato: caratteri 25

Campo chiave (chiave primaria) In una tabella devono essere definiti uno o più campi attraverso i quali è possibile distinguere sempre qualsiasi coppia di record di una stessa tabella Es.: numero di matricola codice fiscale nome, cognome, data di nascita e luogo di nascita (forse insufficiente) 26

Utilità dei DB I programmi che abbiamo visto finora (word processor, fogli elettronici) hanno funzionalità che hanno anche i DB: ordinamento, tabelle di dati I dati rappresentati da questi programmi sono difficilmente condivisibili da applicazioni diverse Questo comporta ridondanza e duplicazione di informazioni 27

Esempio di ridondanza in un DB Tabella Esami Ridondante: i dati degli studenti sono ripetuti per ogni esame Se uno studente cambiasse domicilio, bisognerebbe modificare più record 28

Svantaggi della duplicazione La duplicazione comporta svantaggi aumenta i dati da inserire aumenta il rischio di errori (consistenza dei dati: per esempio, stessa data di nascita per la stessa persona, ovunque sia inserita) usa più spazio di memoria secondaria 29

Esempio di ridondanza in un DB Come eliminare la ridondanza? Usando più tabelle legate tra loro Tabella Esami Tabella Studenti Congiuntamente, le tabelle contengono le stesse informazioni della tabella iniziale, ma senza ridondanze 30

Basi di Dati vs file system Tecnicamente, i DB sono insiemi di file, ma i DB sono qualcosa di più di semplici file Si potrebbero usare direttamente i file per memorizzare i dati, ma si perdono le proprietà garantite dai DB Normalmente i file sono pensati per una specifica applicazione, e non per servire più applicazioni, magari in parallelo 31

Query Per reperire le informazioni di interesse da un DB non è possibile semplicemente leggere le tabelle: le tabelle sono molto grosse può essere necessario utilizzare più tabelle contemporaneamente Si usano le query 32

Query Una query permette di specificare cosa cercare all interno del DB (criteri di selezione) quali informazioni (campi) visualizzare Una query crea una nuova tabella temporanea con i campi e i record di interesse 33

Query: esempio Vogliamo avere tutti gli esami superati dagli studenti con i dati degli studenti Nota: la tabella risultante è ridondante, ma è generata dinamicamente, quindi nessun problema 34

Query Le query possono essere create in vari modi, in funzione dei programmi Due paradigmi : basato su esempi (QBE) uso di maschere predefinite di interrogazione che costruiscono la query automaticamente utilizzato da utenti poco esperti linguaggi di interrogazione (es. SQL) vero e proprio linguaggio (testuale) strutturato usato dai programmi e dagli utenti più esperti 35

Query In una query si specificano i campi da includere nel risultato i criteri di selezione delle informazioni, specificati attraverso operatori di confronto 36

Query: esempio Vogliamo spedire una lettera di congratulazioni agli studenti che hanno superato l esame di Informatica A (L0507) Criterio di selezione: CodiceCorso=L0507 37

Query: esempio Vogliamo spedire una lettera di congratulazioni agli studenti che hanno superato un esame con voto almeno 27 Criterio di selezione: Voto>=27 38

Query Composizione di operatori logici AND, OR, NOT Consente di selezionare i record che soddisfano particolari criteri 39

Query: esempio Elenco studenti che hanno superato Informatica A (L0507) con voto almeno 27 Criterio di selezione: CodiceCorso=L0507 AND Voto>=27 40

Query: esempio Elenco studenti che hanno superato Informatica (L0014) o Informatica A (L0507) con voto almeno 27 (CodiceCorso=L0507 OR CodiceCorso=L0014) AND Voto>=27 41

E per finire... 42

43

44