abilità informatiche a.a. 2010/2011 lezione 8: basi di datimace/web/teaching/informati... ·...
TRANSCRIPT
![Page 1: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/1.jpg)
Abilità Informatiche A.A. 2010/2011
Lezione 8: Basi di Dati
Facoltà di Lingue e Letterature Straniere
![Page 2: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/2.jpg)
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, tecnologica)
insieme di dati gestito da un DBMS (Data Base
Management System)
2
![Page 3: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/3.jpg)
Sistemi di gestione di basi di dati (DBMS)
DBMS = Sistema 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
3
![Page 4: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/4.jpg)
Caratteristiche di un DBMS
Un sistema DBMS deve garantire:
affidabilità (resistenza a malfunzionamenti hardware e software)
privatezza (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).
4
![Page 5: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/5.jpg)
Alcuni DBMS in commercio
Microsoft Access
IBM-DB2
Oracle
Informix
Sybase
Microsoft SQLServer
Ingres
MySql (open-source)
5
![Page 6: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/6.jpg)
Sistemi per basi di dati
DATA BASE = Collezione omogenea di informazioni strutturate in sequenze di
dati che hanno tutti la stessa struttura (insieme di archivi a disposizione di più
utenti o applicazioni)
SISTEMI PER LA GESTIONE DI DATABASE (DBMS) = sistemi software che
gestiscono dati di un sistema informativo, assumendo il ruolo di interfaccia
verso i programmi utente.
6
![Page 7: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/7.jpg)
Condivisione
Ogni organizzazione (specie se grande) è divisa in settori o comunque
svolge diverse attività. A ciascun settore o attività corrisponde un (sotto-)
sistema informativo (privato o porzione di un sistema più grande).
Possono esistere sovrapposizioni fra i dati di interesse dei vari settori.
Una base di dati è una risorsa integrata, condivisa fra i vari settori.
7
![Page 8: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/8.jpg)
Un esempio
8
![Page 9: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/9.jpg)
9
Un esempio
![Page 10: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/10.jpg)
Possibili problemi
Rischio di ridondanza: informazioni ripetute
Rischio di incoerenza: le due versioni possono non coincidere
10
![Page 11: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/11.jpg)
Archivi e Basi di Dati
11
![Page 12: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/12.jpg)
I 3 livelli di astrazione di un DB
SCHEMA ESTERNO
SCHEMA LOGICO
SCHEMA CONCETTUALE
DATA BASE
SCHEMA ESTERNO SCHEMA ESTERNO
utenteutente
utenteutente
utenteutente
12
![Page 13: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/13.jpg)
Architettura di un DBMS
13
![Page 14: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/14.jpg)
I 3 livelli di astrazione di un DB
Schema esterno: descrizione di una porzione della base di dati in un modello logico attraverso “viste” parziali, o derivate, che possono prevedere organizzazioni dei dati diverse rispetto a quelle utilizzate nello schema logico, e che riflettono esigenze e privilegi di accesso di particolari tipologie di utenti; ad uno schema logico si possono associare più schemi esterni
Schema logico: descrizione dell‟intera base di dati nel modello logico “principale” del DBMS, ad esempio la struttura delle tabelle
Schema concettuale: descrizione del tipo di dati che si voglionorappresentare, che prescinde dalla realizzazione fisica dei datiparticolari, ovvero identificazione degli oggetti che si voglionorappresentare, dei loro attributi e delle relazioni tra questi oggetti
Schema fisico: rappresentazione dello schema logico per mezzo di strutture fisiche di memorizzazione, ovveri specifici files
14
![Page 15: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/15.jpg)
Indipendenza Fisica e Logica
15
L‟utilizzo dei Data Base offre un vantaggio quale l‟indipendenza dei dati e dei programmi; é possibile modificare l‟organizzazione dei dati e dei programmi indipendenti l‟uno dall‟altro, vi sono due tipi di indipendenza:
Indipendenza fisica: la disposizione e l‟organizzazione fisica dei dati sui supporti di memoria di massa possono essere cambiate senza cambiare l‟organizzazione logica e consiste nella possibilità di modificare lo schema fisico (la struttura fisica) dei dati senza dover modificare i programmi applicativi che usano i dati.
Indipendenza logica: la disposizione e l‟organizzazione logica dei dati può essere cambiata senza modificare le applicazioni non coinvolte direttamente e consiste nella possibilità di modificare lo schema concettuale senza dover modificare il software applicativo
![Page 16: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/16.jpg)
Dalla realtà al modello fisico
Modello
Concettuale
Realtà
Modello
Logico
Modello
Fisico
È una rappresentazione astratta della realtà, organizzata in
forma grafica in modo da ottenere uno schema dei dati. E’
comprensibile da chiunque, anche senza conoscenze
informatiche. MODELLO TIPICO: Entità-Relazioni
Il modello logico dota i dati di una struttura utile per semplificare
ed ottimizzare le operazioni di Archiviazione, Interrogazione e
manipolazione dei dati. STRUTTURA TIPICA: Data Base
Il modello fisico è ottenuto dall’implementazione, attraverso
opportuni software, degli archivi e delle modalità di accesso.
Si tratta di file registrati su H.D. CASO TIPICO: uso del
software ACCESS di Microsoft e creazione del file *.mdb
16
![Page 17: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/17.jpg)
Un semplice modello concettuale
17
RISULTATI_ESAMI
MatricolaMateriaDataVoto
STUDENTE
MatricolaCognome, NomeData di Nascita
![Page 18: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/18.jpg)
Modellazione Logica
18
Una volta decisi quali sono i concetti importanti da
rappresentare e quali sono i loro attributi, occorre
pensare come e‟ possibile rappresentare questa
informazione usando una base di dati
Questo è il compito della modellazione logica
(attenzione: questa non esprime ancora proprietà di
dati specifici, ma delle loro proprietà e/o relazioni)
Esprimibile in diagrammi
![Page 19: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/19.jpg)
Il modello concettuale E-R
Gli elementi che compongono il modello Entità-Relazioni
sono tre:
• Le Entità
• Le Associazioni (Relazioni)
• Gli Attributi
19
![Page 20: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/20.jpg)
Entità (Entity)
L’entità è un oggetto concreto o astratto che ha un
significato all’interno del modello dei dati anche se
viene considerato isolato.
Di solito si definisce un tipo di entità attraverso un
nome e lo si rappresenta con un rettangolo.
Esempio:
Gli studenti di Ca’ Foscari sono
classificabili con il tipo di entità
studente.
Ciascun studente rappresenta quindi
un’istanza dell’entità studente.
Studente
20
![Page 21: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/21.jpg)
Associazioni (Relationship)
È il legame che stabilisce un’interazione fra le entità
Ogni relazione ha due versi e per ogni verso esiste un’entità di
partenza e una di arrivo. L’associazione di solito è identificata da un
verbo e viene rappresentata nel modello da un rombo.
Esempio:
Tra le entità Persona e Automobile si può instaurare la relazione
possiede:
Una persona possiede un’automobile ( verso)
Una automobile è posseduta da una persona ( verso )
Persona Possiede Automobile
21
![Page 22: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/22.jpg)
Attributi
Gli attributi descrivono le proprietà delle entità
Esempio:
Gli attributi dell’entità Automobile possono essere:
Produttore, Modello, Potenza, Cilindrata, PrezzoListino.
Gli attributi sono caratterizzati da:
• formato: è il tipo di formato assunto dall’attributo. Ad es. Stringa,
Numerico, DataOra …
• dimensione: è la quantità massima di cifre che occorrono per
rappresentarlo
• opzionalità: indica se è obbligatorio o facoltativo
22
![Page 23: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/23.jpg)
Un esempio
Persona AutomobilePossiede
Produttore
Modello
Potenza
Cilindrata
PrezzoListino
Cognome
Nome
Titolo
Codice Fiscale
Notare la differenza fra PrezzoListino e PrezzoAcquisto
Entità
Attributi
Relazione
23
![Page 24: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/24.jpg)
Associazione UNO a UNO
Ad ogni elemento dell’entità 1 corrisponde uno ed un solo elemento
dell’entità 2
Studente Diploma di
LaureaConsegue
1 1 E’ Conseguito da
Esempio:
All’università ciascun studente quando si laurea avrà un suo diploma
di laurea (solo suo!)
24
![Page 25: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/25.jpg)
Associazione UNO a MOLTI
Ad ogni elemento dell’entità 1 possono corrispondere più elementi dell’entità 2, mentre ad ogni elemento dell’entità 2 ne corrisponde uno
solo dell’entità 1
Studente Prova di
esameSostiene
1 Valuta
Esempio:
Uno stesso studente sostiene più prove di esame, una per ciascun
insegnamento del suo piano di studi. Ciascun esame registrato si
riferisce ad un singolo studente.
25
![Page 26: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/26.jpg)
Associazione MOLTI a MOLTI
Ad ogni elemento dell’entità 1 possono corrispondere più elementi dell’entità 2 e viceversa
Studente MateriaStudia
E’ studiata da
Esempio:
Ogni studente studia più materie (quelle del suo piano di studi) e per
ogni materia ci sono vari studenti che la studiano.
26
![Page 27: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/27.jpg)
Un esempio di schema logico: FILM
27
Diagramma Entità-Relazione (Chen 1970)
Entità
Relazioni tra entità
Attributi di entità
![Page 28: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/28.jpg)
Schema logico (E-R)
28
Con cardinalità delle relazioni (MIN,MAX)
![Page 29: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/29.jpg)
Schema Logico (gerarchie )
29
![Page 30: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/30.jpg)
Schema logico (gerarchie)
30
![Page 31: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/31.jpg)
Schema logico (completo)
31
![Page 32: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/32.jpg)
Modelli di rappresentazione dei dati
32
A partire dagli anni Settanta il modello dominante è stato il quello relazionale, proposto da Edgard F. Coddnel 1970
Per certi tipi di applicazioni (in particolare per basi didati accessibili via Web) si fa molto uso di XML (vediprossime lezioni)
![Page 33: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/33.jpg)
Il modello relazionale
33
L‟informazione è rappresentata nelle basi di dati sotto
forma di relazioni
r(x,y,z,w)
Due tipi di relazioni rappresentate
Relazioni rappresentate con tabelle che rappresentano un oggetto ed i
suoi attributi
risultato_esame(IUB,4/2/2008,112233,29)
Relazioni tra le tabelle
Per esempio, tra tabella studente e tabella risultato_esame
![Page 34: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/34.jpg)
DB Relazionali. Tabelle
34
Un database relazionale è formato da un insieme di tabelle
(o relazioni)
Ogni tabella è composta da righe, una diversa dall‟altra.
Esempio: in un elenco telefonico ogni riga è composta di
un cognome, un nome, un indirizzo, un numero di
telefono.
Il tipo dei dati (stringa o numero), il loro significato
(cognome o numero di telefono) e la loro posizione
(prima il cognome, poi il nome, ecc) sono prefissati.
![Page 35: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/35.jpg)
Tabelle che rappresentano Relazioni
35
RECORD
ATTRIBUTO
![Page 36: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/36.jpg)
Racord e campi
36
Ogni riga di una tabella è
strutturalmente identica alle
altre, e viene detta record.
Ogni record è composto da
valori di tipo diverso, detti
campi.
I campi sono definiti una volta
per tutte in uno schema della
tabella.
![Page 37: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/37.jpg)
Tabelle (o Relazioni)
37
Una tabella è relativa ad una entità.
Ogni riga della tabella corrisponde ad un‟istanza di questa entità.
![Page 38: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/38.jpg)
Esempio
38
Materia Data Matr. Voto Lode?
IDUL 4/2/10 112233 29 no
IUC 4/2/10 114422 30 si
RECORD
ATTRIBUTO
risultato_esame(IDUL,4/2/2010,112233,29)
VALORE (o CAMPO)SCHEMA della RELAZ.
![Page 39: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/39.jpg)
Un altro esempio
39
MATRICOLA COGNOME NOME DATA
NASCITA
….
112233 Rossi Mario 11/11/1973
….
STUDENTE
studente(112233,Rossi,Mario,11/11/1973)
![Page 40: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/40.jpg)
L’organizzazione dei dati
40
![Page 41: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/41.jpg)
Schema e istanze
41
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, costituita dai valori attuali, che possono cambiare molto
e molto rapidamente (aspetto estensionale); nell‟esempio, il
“corpo” di ciascuna tabella.
![Page 42: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/42.jpg)
Il concetto di relazione
42
D1, D2, …, Dn (n insiemi anche non distinti)
il prodotto cartesiano D1 ×D2 ×…×Dn , è l‟insieme di tutte le n-uple ordinate (d1, d2, …, dn) tali che d∈D1,
d2∈D2 , …, dn∈Dn.
una relazione matematica su D1, D2, …, Dn è un
sottoinsieme del prodotto cartesiano D1 × D2 × … × Dn.
D1, D2, …, Dn sono i domini della relazione.
Il numero di n-uple è la cardinalità della relazione. Nelle
applicazioni reali, la cardinalità è sempre finita.
![Page 43: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/43.jpg)
Proprietà di una relazione
43
In base alle definizione, una relazione matematica è un insieme di n-
uple ordinate: (d1, d2, …, dn) tali che d1∈D1 , d2∈D2 , …, dn∈Dn .
Una relazione è un insieme, quindi:
non è definito alcun ordinamento fra le n-uple;
le n-uple di una relazione sono distinte l‟una dall‟altra;
Dentro a ciascuna n-upla c‟è un ordine! .L‟i-esimo valore di ciascuna
proviene dall‟i -esimo dominio, ovvero è definito un ordinamento fra
i domini.
![Page 44: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/44.jpg)
Esempio
44
string × string × integer × integer
Ciascuno dei domini ha un ruolo distinto, distinguibile attraverso la posizione: il primo e il terzo dominio si riferiscono a nome e reti della squadra ospitante; il secondo e il quarto a nome e reti della squadra ospitata.
La struttura è posizionale
![Page 45: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/45.jpg)
Tabelle e relazioni
45
Una tabella rappresenta una relazione se
i valori di ciascuna colonna sono fra loro omogenei (dallo stesso
dominio)
le righe sono diverse fra loro
le intestazioni delle colonne sono diverse tra loro
Inoltre, in una tabella che rappresenta una relazione
l‟ordinamento tra le righe è irrilevante
l‟ordinamento tra le colonne è irrilevante
![Page 46: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/46.jpg)
Chiave primaria
46
Ogni riga di ogni tabella (cioè ogni rappresentazione
di un oggetto) deve avere almeno un campo che
permetta di identificare quella riga in modo univoco
non deve dunque esserci un altro record con lo
stesso valore per quell‟attributo, anche se il valore
può apparire in altri attributi
Tale attributo è chiamato chiave primaria
![Page 47: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/47.jpg)
Chiave primaria, un esempio
47
MATRICOLA COGNOME NOME DATA
NASCITA
….
112233 Rossi Mario 11/11/1973
….
STUDENTE
![Page 48: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/48.jpg)
Chiave primaria multipla
48
NOME COGNOME ESAME APPROVATO?
Carlo Rossi IUB si
Mario Rossi IUB no
Carlo Bianchi IUC si
A volte la chiave è definita da più campi insieme.
![Page 49: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/49.jpg)
Chiavi artificiali
49
ID MATERIA DATA MATRICOLA VOTO
1 ….
2 IUB 4/2/2008 112233 29
3 ….
RISULTATO_ESAME
Tipicamente, numeri consecutivi, uno per record
![Page 50: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/50.jpg)
Valori nulli (NULL)
50
NOME Età PADRE
Matusalemme 968 Enoch
Eva NULL NULL
….
PERSONAGGI BIBLICI
Il valore NULL può essere dato a campi il cui valore non si conosce, o per casi in cui il valore non è definito (a volte i due casi sono distinti)
![Page 51: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/51.jpg)
Vincoli di integrità
51
![Page 52: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/52.jpg)
Vincolo di integrità
52
Proprietà che deve essere soddisfatta dalle istanze che rappresentano
informazioni corrette per l‟applicazione
Ogni vincolo può essere visto come una funzione booleana (o un predicato)
che associa ad ogni istanza il valore VERO o FALSO.
Tipi di vincoli:
vincoli intrarelazionali;
casi particolari:
vincoli su valori (o di dominio)
vincoli di ennupla
vincoli interrelazionali
![Page 53: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/53.jpg)
Vincoli di ennupla
53
Esprimono condizioni sui valori di ciascuna ennupla, indipendentemente dalle
altre ennuple.
Una possibile sintassi: espressione booleana (con AND, OR e NOT) di atomi
che confrontano valori di attributo o espressioni aritmetiche su di essi.
Un vincolo di ennupla è un vincolo di dominio se coinvolge un solo attributo
Esempi:
(Voto >=18) AND (Voto <=30)
(Voto =30) OR NOT (Lode = “e lode”)
Lordo = (Ritenute - Netto)
![Page 54: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/54.jpg)
Relazioni tra tabelle
54
Una base di dati relazionale permette di specificare, oltre
che informazioni su attributi di oggetti, informazioni sulle
relazioni tra oggetti
Per esempio, che un particolare risultato di esame è stato
ottenuto dallo studente Mario Rossi
![Page 55: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/55.jpg)
Relazioni tra tabelle
55
MATRICOLA COGNOME NOME DATA
NASCITA
….
112233 Rossi Mario 11/11/1973
….
ID MATERIA DATA MATRICOLA VOTO
….
456789 IUB 4/2/2008 112233 29
….
![Page 56: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/56.jpg)
Operazioni su un Database relazionale
56
Operazioni tipiche su un database relazionale
DEFINIRE nuove tabelle e nuove relazioni
AGGIUNGERE dati
RITROVARE un sottoinsieme delle righe
Possibilmente restringendo il ritrovamento ad un sottoinsieme delle
colonne
VISUALIZZARE un sottoinsieme dei dati per scopi particolari
![Page 57: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/57.jpg)
Proiezione e Selezione
57
PROIEZIONE (πtest): estrazione di una serie di colonne
(attributi) da un DB
SELEZIONE (σtest): estrazione di una serie di righe
(record)
Dove test è un test che, se ha successo, aggiunge la
colonna/riga sotto esame alla proiezione/selezione
(rispettivamente)
![Page 58: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/58.jpg)
Esempio: DataBase film (1)
58
![Page 59: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/59.jpg)
Esempio: DataBase film (2)
59
Selezione su titolo ed anno
Proiezione su selezione per valore dell‟attributo
“nazione”
![Page 60: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/60.jpg)
Esempio: DataBase film (3)
60
Intersezione (⋂) tra gli attori di film diversi
attori NON presenti in un film (differenza, - )
![Page 61: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/61.jpg)
Da E-R a database relazionale
61
La progettazione nello schema E-R contiene costrutti che vanno
“tradotti” nel sistema relazionale. Ciò comporta:
La eliminazione delle gerarchie, riportando le informazioni su
nodo padre.
La traduzione delle entità come tabelle, i cui valori saranno i
valori dei singoli individui appartenenti a quella entità
La connessione tra le tabelle così stabilite
![Page 62: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/62.jpg)
DBMS Relazionali
62
Praticamente tutti i DATABASE MANAGEMENT
SYSTEMS (DBMS) moderni sono basati sul modello
relazionale
E.g., Oracle, Access, MySQL, PostgreSLQ (open source)
Disponibili per i principali sistemi operativi (Windows,
UNIX)
![Page 63: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/63.jpg)
Una tabella in Access
63
![Page 64: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/64.jpg)
Relazioni tra tabelle
64
![Page 65: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/65.jpg)
Gerarchie come relazioni
65
![Page 66: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/66.jpg)
Gerarchie come relazioni
66
‘‘Distribuzione o Produzione’’
![Page 67: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/67.jpg)
Entità come Relazioni
67
In un diagramma ER, le entità sono collezioni di individui, ciascuno
dotato di attributi con valori.
Rese come tabelle:
EDIZIONE(codice, titolo, nazione, durata, lingua, vietato)
FILM(codice, titolo, durata, anno, nazione)
![Page 68: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/68.jpg)
Collegare Tabelle
68
EDIZIONE(codice, titolo, nazione, durata, lingua, vietato)
FILM(codice, titolo, durata, anno, nazione)
Come specificare che una edizione è l‟edizione di un certo film?
Aggiungendo alla tabella EDIZIONE una chiave esterna (qui, il numero di codice del
film).
La chiave si specifica aggiungendo ai valori di EDIZIONE il nome della relazione
che contiene la chiave:
EDIZIONE(codice, titolo, nazione, durata, lingua, vietato, film)
Impossibile fare il contrario, visto che un film ha tipicamente molte edizioni:
un campo può contenere un solo valore!
![Page 69: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/69.jpg)
Collegare Tabelle con relazioni di tipo N-a-N
69
Come specificare che un film ha la relazione di CAST con molti attori,
ed una PERSONA ha spesso recitato in molti FILM?
E‟ necessario indicarlo in maniera indiretta, tramite una nuova relazione (qui,
CAST), che conterrà DUE chiavi esterne:
PERSONA(nome, nazione, data_di_nascita)
FILM(codice, titolo, durata, anno, nazione)
CAST(persona, film, personaggio)
![Page 70: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/70.jpg)
Regole di derivazione:
dai diagrammi ER alle tabelle1. Ogni ENTITA’ diventa una tabella
2. Ogni istanza di un’entità sarà perciò un record della tabella
3. Ogni ATTRIBUTO di un’entità diventa un campo di ciascuno dei record della
tabella e ne eredita le caratteristiche
4. L’identificatore univoco di un’entità diventa Chiave Primaria (Primary Key) del
record della tabella
5. L’associazione UNO a UNO diventa una tabella contenente gli attributi di
entrambe le entità
6. L’associazione UNO A MOLTI si traduce in due tabelle, uno per ciascuna delle
entità della relazione
7. L’identificatore univoco dell’entità di partenza nell’associazione UNO A MOLTI
diventa Chiave Esterna (Foreign Key) dell’entità di arrivo, cioè l’attributo che è
Chiave Primaria del primo archivio diventa un campo dei record del secondo
archivio
8. L’associazione MOLTI A MOLTI diventa una nuova tabella in aggiunta alle due
archivi derivate dalle due entità legate dall’associazione. Questa nuova tabella
sarà formata da record che contengono le chiavi primarie delle due tabelle più
gli eventuali attributi dell’associazione
70
![Page 71: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/71.jpg)
Tabella da associazione UNO a UNO
Studente Diploma di
laureaConsegue
1 1 E’ Conseguito da
Nome
Cognome
Matricola
TipoDiploma
Anno
Voto
L’archivio che deriva è dato dalla sola
tabella DIPLOMATI che contiene come
campi tutti gli attributi di Studente e tutti
quelli di Diploma
71
![Page 72: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/72.jpg)
Archivio Campo Chiave Tipo
Laureati
Nome String*25
Cognome String*25
Matricola PK Long Int
TipoLaurea String*50
Anno Integer
Voto Integer
Tabella Laureati
72
![Page 73: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/73.jpg)
Tabella da associazione UNO a MOLTI
Studente Prova di
EsameSostiene
1 Valuta
Nome
Cognome
Matricola
Classe
Materia
TipoEsame
Voto
DataSvolgim
IDVerifica
L’archivio che deriva è formato da 2 tabelle:
Studenti con campi: Nome,Cognome,Matricola (PK)
Verifiche con campi: Materia, TipoVerifica, Voto, DataSvolgim
e MatricolaStudente (FK)
73
![Page 74: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/74.jpg)
Tabelle Studenti ed Esami
74
Archivio Campo Chiave Tipo
Studenti
Nome String *25
Cognome String *25
Matricola PK Long Int
Prove di Esame
Materia String*25
TipoVerifica String*25
Voto Real
DataSvolgim Date
IDVerifica PK Long Int
MatricolaStudente FK Long Int
![Page 75: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/75.jpg)
Archivio da associazione MOLTI a MOLTI
Docente CorsoInsegna
E’ tenuto da
Docente CorsoModulo
NumeroOre Sigla
NumeroAlunni
Aula
CognomeNome
ID
Materia
Qualifica
diventa
1 1
75
![Page 76: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/76.jpg)
Archivi Docenti, Classi, Insegna
Archivio Campo Chiave Tipo
Docenti
CognomeNome String*50
ID PK Integer
Materia String*25
Qualifica String*15
ClasCorsosi
Sigla PK String*5
NumeroAlunni Integer
Aula Integer
Modulo
IDdoc PK Integer
SiglaModulo PK String*5
NumeroOre Integer
Regole di derivazione
76
![Page 77: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/77.jpg)
Il linguaggio SQL
per interrogare un database
77
Le informazioni in una base di dati possono essere ritrovate
mediante INTERROGAZIONI
In un database relazionale moderno le interrogazioni sono fatte
utilizzando un linguaggio di interrogazione chiamato SQL (Simple
Query Language)
![Page 78: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/78.jpg)
Sintassi di SQL
78
Diversi tipi di comandi:
DDL (Data Definition Language: comandi per la creazione e
l‟update del DB)
DML (Data Manipulation Language: comandi per la
interrogazione del DB)
Create TABLE persona (Nome varchar(50) PRIMARY KEY,Nazione varchar(50),Data_Nascita date);
SELECT nome, nazione, data_nascitaFROM personaWHERE nazione = ‘Italia’;
![Page 79: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/79.jpg)
Creare una tabella con SQL
79
CREATE TABLE persona (
Codice integer PRIMARY KEY,
Titolo varchar(50), NOT NULL,
Anno varchar(4),
Durata integer,
Nazione varchar(50), DEFAULT „Italia‟,
);
![Page 80: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/80.jpg)
Creare una associazione tra tabelle con SQL
80
CREATE TABLE cast (
persona varchar(50), REFERENCES persona(nome),
film integer, REFERENCES film(codice),
personaggio varchar(50),
PRIMARY KEY (persona, film)
);
![Page 81: Abilità Informatiche A.A. 2010/2011 Lezione 8: Basi di Datimace/web/Teaching/Informati... · 2011-03-03 · I 3 livelli di astrazione di un DB Schema esterno: descrizione di una](https://reader034.vdocuments.site/reader034/viewer/2022042210/5eaedecd14e2405fe438596a/html5/thumbnails/81.jpg)
Popolare un DB con SQL
81
Comandi INSERT, UPDATE, DELETE
1. INSERT INTO film VALUES (5, „Il sesto senso‟, 1999, 107, „USA‟);
2. INSERT INTO film(codice, titolo, anno) VALUES (5, „Il sesto senso‟, 1999);
3. UPDATE film SET durata = 130 WHERE titolo = „Il senso senso‟;
4. DELETE FROM persona WHERE nazione = „Italia‟;
Il secondo comando inserisce valori NULL per gli attributi non specificati; Il
quarto comando distrugge un‟intera tupla (record) della tabella persona se
sono verificate le condizioni indicate