scuola interuniversitaria siciliana di specializzazione per linsegnamento secondario classe di...

51
SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi di dati MODULO DIDATTICO: I DATABASE Docente: Prof. Cantone

Upload: vico-massa

Post on 01-May-2015

219 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER

L’INSEGNAMENTO SECONDARIO

Classe di Concorso: 42A

Angelo Carpenzano

Unità didattica 2: Basi di datiMODULO DIDATTICO: I DATABASE

Docente: Prof. Cantone

Page 2: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Prerequisiti

1. Nozioni di entità, attributo, chiave, associazione

2. Il modello E/R e le regole di derivazione del modello logico

3. Le principali tecniche per la documentazione efficace dell’analisi di un problema

Gli studenti devono conoscere:

Page 3: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Competenze

1. Rilevare i limiti dell’organizzazione non integrata degli archivi

2. Comprendere i concetti e le tecniche per la progettazione di basi di dati

3. Applicare correttamente le tecniche di derivazione delle tabelle del modello relazionale a partire dal modello E/R

4. Conoscere i concetti fondamentali del modello relazionale

5. Saper applicare le principali operazioni sulle tabelle

Page 4: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

1. Modelli per database

2. Differenze tra i modelli

3. Modello relazionale

4. Operazioni relazionali

Contenuti

Page 5: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Metodologie

Lezione frontale

Lezione dialogata

“Brainstorming”

Page 6: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Spazi

Aula

Laboratorio

Page 7: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Strumenti

Libro di testo

Computer

Proiettore

Dispense e appunti

Page 8: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Colloqui individuali

Interventi di vario genere

Questionari e Test

Prove in laboratorio

Periodiche e costanti, tese sia alla valutazione globale del percorso formativo che ad una sua parte.

Vengono usate diverse tipologie:

Verifiche

Page 9: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Di tipo formativo (in relazione all’applicazione, all’impegno, all’attenzione, al metodo di lavoro dimostrato da ogni studente durante l’attività didattica)

La valutazione sarà di due tipi:

Di tipo sommativo (ricavata dalla misurazione delle varie prove), in cui gli studenti dovranno dimostrare di:

avere acquisito conoscenze e informazioni circa i contenuti

avere maturato abilità e competenze specifiche alla disciplina

Valutazione

Page 10: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Lezione Laboratorio Verifica Recupero e/o Potenziamento

20 ore 0 ore 4 ore 6 ore

Tempi

Page 11: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Cominciamo…

Page 12: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Le basi di datiBasi di dati (database): archivi di dati, organizzati in modo integrato attraverso tecniche di modellazione dei dati e gestiti sulle memorie di massa dei computer attraverso appositi software (DBMS), con l’obiettivo di raggiungere una grande efficienza nel trattamento e nel ritrovamento dei dati.

Il database è una collezione di archivi di dati ben organizzati e ben strutturati, in modo che possano costituire una base di lavoro per utenti diversi con programmi diversi.Es: i dati relativi agli articoli del magazzino di un’azienda possono essere utilizzati dal programma che stampa le fatture e dal programma che stampa i listini di magazzino.

ARTICOLI

FATTURE LISTINI

Page 13: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Efficienza e produttività di un’organizzazione di archivi: possibilità di ritrovare facilmente le informazioni desiderate (anche attraverso criteri di ricerca diversi) in termini di velocità nell’elaborazione, di sicurezza dei dati e integrità delle registrazioni.

Devono essere garantite:• Consistenza degli archivi: i dati in essi contenuti devono essere significativi ed essere effettivamente utilizzabili nelle applicazioni dell’azienda.• Sicurezza: impedire che il database venga danneggiato da interventi accidentali o non autorizzati.• Integrità: le operazioni effettuate sul database da utenti autorizzati non devono provocare perdita di consistenza ai dati.

Caratteristiche delle basi di dati

Page 14: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

DBMS (DataBase Management System):prodotti software per la gestione di database.

Gli archivi che costituiscono la base di dati possono risiedere:• su un unico computer;• su computer diversi, facenti parte di una rete, i cui nodi possono anche essere fisicamente lontani (database distribuiti).

Gli utenti della base di dati distribuita:• elaborano localmente gli archivi che hanno a disposizione nel proprio sistema;• nello stesso tempo accedono in maniera remota a sistemi centrali attraverso le linee di comunicazione.

DBMS

Page 15: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Le tecniche di gestione delle basi di dati nascono per superare i problemi e i limiti insiti nelle tradizionali organizzazioni degli archivi in modo non integrato.

Limiti degli archivi convenzionali

Si vogliono gestire i conti correnti di un’azienda bancaria appartenenti alle diverse filiali e i movimenti contabili che vengono effettuati sui conti.Nella sede centrale della banca si vogliono organizzare le informazioni riguardanti i conti delle filiali.

Esempio di applicazione pratica

Per ciascun conto occorre registrare il numero di conto, il nome dell’intestatario, l’indirizzo, il codice della filiale e la descrizione della filiale. I/V

Page 16: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Le informazioni vengono organizzate in un archivio i cui record hanno il seguente tracciato:

NUMCONTO NOME INDIRIZZO CODFILIALE DESCRIZ

9 40 30 5 20

NUMCODICE DESCRIZ CITTA DATA IMPORTO CAUSALE

9 40 20 8 10 3

Al contempo, nelle filiali bisogna registrare le informazioni sui movimenti effettuati sui conti: numero del conto, nome del correntista, città, data del movimento, importo e causale.

Il record del file corrispondente possiede il seguente tracciato:

Limiti degli archivi convenzionaliSoluzione del problema con l’approccio tradizionale

II/V

Page 17: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Quando si vogliono associare tra loro i dati contenuti nei due archivi possono nascere problemi di questo tipo:

Limiti degli archivi convenzionali

NUMCONTO NOME INDIRIZZO CODFILIALE DESCRIZ

9 40 30 5 20

NUMCODICE DESCRIZ CITTA DATA IMPORTO CAUSALE

9 40 20 8 10 3

• i sono due campi con nomi diversi che rappresentano lo stesso dato (NumConto e NumCodice);

• ci sono due campi con lo stesso nome che rappresentano dati diversi (Descriz nel primo archivio rappresenta la filiale e nel secondo l’intestatario del conto);

• lo stesso dato viene rappresentato in formati diversi (Indirizzo nel primo tracciato e Città nel secondo);

III/V

Page 18: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

• c’è ridondanza di dati (la descrizione della filiale è ripetuta per ogni conto nel primo tracciato, il nome e la città del correntista vengono ripetuti per ogni movimento);

Limiti degli archivi convenzionali

NUMCONTO NOME INDIRIZZO CODFILIALE DESCRIZ

9 40 30 5 20

NUMCODICE DESCRIZ CITTA DATA IMPORTO CAUSALE

9 40 20 8 10 3

Quando si vogliono associare tra loro i dati contenuti nei due archivi possono nascere problemi di questo tipo:

• il fatto che gli stessi dati compaiano in due archivi diversi può causare anomalie in fase di aggiornamento e quindi problemi di inconsistenza (se il dato viene modificato in un archivio e non nell’altro).

III/V

Page 19: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Tutto ciò deriva dal fatto che i dati sono organizzati in archivi diversi, in maniera non integrata.

Limiti degli archivi convenzionaliQuali sono le cause?

RIDONDANZA DEI DATI(Gli stessi dati compaiono in maniera duplicata)

INCONGRUENZA(se il dato viene aggiornato in un archivio e non in un altro, oppure se sono presenti

valori diversi per lo stesso dato)

INCONSISTENZA DEI DATI(i dati a disposizione non sono più affidabili, perché non si sa in modo certo quale dei diversi valori sia quello corretto)

IV/V

Page 20: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Individuare con precisione quali sono gli elementi che caratterizzano l’applicazione.Associamo a ciascuno di essi un archivio, il cui tracciato contiene i campi che individuano l’elemento e una chiave (tipicamente un codice).La chiave identifica univocamente il record all’interno dell’archivio e consente di stabilire legami con gli altri archivi.

Soluzione

• archivio delle filiali, con codice filiale e descrizione filiale;• archivio dei conti, con codice conto, nome del correntista, indirizzo, città, codice filiale di appartenenza;• archivio dei movimenti, con numero del movimento, data, importo, causale, codice del conto sul quale è stato effettuato il movimento.

Limiti degli archivi convenzionali

V/V

Page 21: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

NUMCONTO NOME INDIRIZZO CITTA FILIALE

9 40 30 20 5

NUMMOV DATA IMPORTO CAUSALE CODICE

6 8 10 3 9

CODFILIALE DESCRIZ

5 20

• archivio delle filiali, con codice filiale e descrizione filiale;• archivio dei conti, con codice conto, nome del correntista, indirizzo, città, codice filiale di appartenenza;• archivio dei movimenti, con numero del movimento, data, importo, causale, codice del conto sul quale è stato effettuato il movimento.

Limiti degli archivi convenzionali

V/V

Page 22: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

La teoria dei database introduce una nuova metodologia di organizzazione degli archivi di dati, con l’obiettivo di superare i limiti visti.

Caratteristiche fondamentali:• indipendenza dalla struttura fisica dei dati: i programmi applicativi sono indipendenti dai dati fisici;• indipendenza dalla struttura logica dei dati: i programmi applicativi sono indipendenti dalla struttura logica con cui i dati sono organizzati negli archivi;• utilizzo da parte di più utenti: i dati organizzati in un unico database possono essere utilizzati da più utenti con i loro programmi, consentendo anche una visione solo parziale del database da parte del singolo utente;• eliminazione della ridondanza: gli stessi dati non compaiono più volte in archivi diversi;

Archivi integrati

I/II

Page 23: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

• facilità di accesso: il ritrovamento dei dati è facilitato e svolto con velocemente;• integrità dei dati: vengono previsti controlli per evitare anomalie ai dati causate dai programmi e dalle applicazioni degli utenti;• sicurezza dei dati: sono previste procedure di controllo per impedire accessi non autorizzati ai dati contenuti nel database e di protezione da guasti accidentali;• uso di linguaggi per la gestione del database: il database viene gestito attraverso comandi per la manipolazione dei dati in esso contenuti e comandi per effettuare interrogazioni alla base di dati, al fine di ottenere le informazioni desiderate.

Archivi integrati

II/II

Page 24: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Il database è un modello della realtà considerata.

I modelli per il database

I contenuti della base di dati rappresentano gli stati in cui si trova la realtà da modellare.I cambiamenti che vengono apportati alla base di dati rappresentano gli eventi che avvengono nell’ambiente in cui opera l’azienda.

L’uso dei dati organizzati in un database presuppone un attento lavoro di progettazione iniziale, che viene fatto con riferimento ai dati che si vogliono memorizzare e successivamente elaborare.

CONTENUTI DEL DB STATI DELLA REALTA’

CAMBIAMENTI NEL DB EVENTI NELLA REALTA’

I/II

Page 25: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Novità rispetto all’organizzazione convenzionale degli archivi:Il progetto è indipendente:• dal computer,• dai supporti fisici destinati a contenere le informazioni• dalle caratteristiche del DBMS.

I modelli per il database

Ciò consente alla base di dati di evolvere nel tempo insieme alla realtà aziendale per la quale è stata progettata, con il crescere delle esigenze degli utenti e della necessità di informazioni.

A partire dallo schema concettuale entità/associazioni, un database può essere progettato e realizzato passando al modello logico, cioè alle strutture che consentono di organizzare i dati per consentire le operazioni di manipolazione e di interrogazione.

II/II

Page 26: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

La soluzione più semplice consiste nel costruire un database con una struttura di dati formata da un unico file.Questa struttura, detta flat file, è adatta solo per basi di dati estremamente semplici.Una struttura flat file non è efficiente per la maggior parte delle applicazioni gestionali.

Flat file

Nello sviluppo della teoria dei database sono emersi principalmente tre tipi diversi di modelli per le basi di dati:

1. Modello gerarchico

2. Modello reticolare

3. Modello relazionale

Page 27: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

E’ particolarmente adatto per rappresentare situazioni nelle quali è possibile fornire ai dati una struttura nella quale ci sono entità che stanno in alto ed entità che stanno in basso, secondo uno schema ad albero, nel quale i nodi rappresentano le entità e gli archi rappresentano le associazioni.

Modello gerarchico

Struttura di dati gerarchica: insieme ordinato di alberi.

Un tipo di albero nel database gerarchico è formato da un unico record radice e da un insieme ordinato di sottoalberi di livello inferiore.Un sottoalbero a sua volta consiste in un singolo record (radice del sottoalbero) e da un insieme di sottoalberi e così via.

Page 28: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

AGENTE

CLIENTE

ORDINE

ORDINE

RIGA

RIGA

ARTICOLO

ARTICOLO

Modello che rappresenta le aree di interesse per un’azienda che vende tramite agenti, i quali hanno i clienti e gli ordini ricevuti.Ogni ordine è composto da una o più righe che fanno riferimento ai prodotti venduti.

L’albero ha come radice il record Agente, il quale a sua volta ha due sottoalberi con la radice in Cliente e Ordine.Entrambi hanno sottoalberi di livello più basso con le righe dell’ordine e gli articoli delle righe.

Modello gerarchico: esempio

Page 29: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Il modello gerarchico è particolarmente adatto a rappresentare le associazioni 1:N (uno a molti).

Presenta dei limiti, soprattutto nella rigidità della struttura di dati creata (talvolta non riesce ad evitare la ridondanza dei dati).

Modello gerarchico

Page 30: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Nel modello reticolare le entità rappresentano i nodi e le associazioni rappresentano gli archi di uno schema a grafo orientato: si tratta di una estensione del modello di albero gerarchico (sono consentite anche associazioni tra entità che stanno in basso, e non solo dall’alto verso il basso).

Modello reticolare

Un database reticolare consiste di due insiemi di dati:• un insieme di record • un insieme di legami

I tipi record sono fatti di campi tra i quali ci deve essere anche un campo chiave, mentre i legami sono realizzati memorizzando le coppie di chiavi delle entità associate.

Page 31: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Non esiste una gerarchia predefinita tra le entità.Un record figlio può avere un numero qualsiasi di padri: in questo modo vengono evitate situazioni di ripetizione di dati uguali.

AGENTE

CLIENTE ORDINE RIGA

ARTICOLO

CA CC

CA CO CO CR

CR CACC CO

• La gestione delle informazioni è più complessa (in quanto deve essere utilizzata una struttura a grafo).• Un database costruito secondo il modello reticolare può produrre prestazioni più elevate.

Modello reticolare: esempio

Page 32: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

AGENTE CLIENTE

ORDINI RIGHE ARTICOLI

Rappresenta il database come un insieme di tabelle.E’ considerato attualmente il modello più semplice ed efficace, perché:• è più vicino al modo consueto di pensare i dati;• si adatta in modo naturale alla classificazione e alla strutturazione dei dati.

Modello relazionale

Page 33: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Confronto tra i modelli

1. I modelli gerarchico e reticolare sono diventati obsoleti per il mercato e per la ricerca, che sono orientati verso il modello relazionale negli anni più recenti.

2. I primi due modelli furono definiti attraverso un processo di astrazione da sistemi già implementati, mentre il modello relazionale è stato definito a livello teorico prima di qualsiasi implementazione sul computer.

3. Le operazioni sui database gerarchici e reticolari sono complesse, agiscono su singoli record e non su gruppi di record.

Page 34: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Database orientati agli oggetti (OODB, Object Oriented DataBase): gestiscono oggetti e classi.• utilizzano concetti tipici della programmazione ad oggetti (es. metodo, ereditarietà);• accettano sottoclassi di oggetti;• ogni oggetto ha una propria identità.

Favoriscono l’avvicinamento tra programmi applicativi e DB, perché permettono di usare tipi di dati definiti dall’utente e di associare ai dati routine di codice che rappresentano le modalità di accesso ai dati: viene applicato il concetto di oggetto al DB.

Consente di utilizzare tecnologie più avanzate insieme alle prestazioni tipiche dei linguaggi utilizzati nella programmazione ad oggetti, come il C++.

I database orientati agli oggetti

Page 35: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Modello relazionale: concetti di base

Il modello relazionale si basa sul concetto matematico di relazione tra insiemi di oggetti.

Cos’è una relazione?

Dati n insiemi A1, A2,…, An, si dice relazione un sottoinsieme dell’insieme di tutte le n-uple a1, a2, …, an che si possono costruire prendendo nell’ordine un elemento a1 dal primo insieme A1, a2 dal secondo insieme A2, e così via.

Definizione matematica

n = grado della relazioneAi = dominio i-esimo della relazionea1, … an = tuplaL’insieme delle tuple si chiama cardinalità della relazione. I/III

Page 36: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

a1 a2 ……… an

tupla

grado

cardinalità

A1 A2 AN……… Domini

Modello relazionale: concetti di base

La relazione (collezione di tuple) è un’entità, ogni tupla è un’istanza dell’entità, le colonne sono gli attributi dell’entità, il dominio è l’insieme dei possibili valori di un attributo.

La relazione è rappresentata con una tabella, avente tante colonne quanti sono i domini (grado) e tante righe quante sono le n-uple (cardinalità).

I nomi dei domini sono i nomi delle colonne, i valori che compaiono in una colonna sono omogenei tra loro (appartengono allo stesso dominio).

II/III

Page 37: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

CLIENTI

PAGAMENTI

FATTURE

RIGHE FATTURE

Modello relazionale: concetti di baseLa chiave della relazione è un attributo o una combinazione di attributi che identificano univocamente le tuple: ogni riga della tabella possiede valori diversi per l’attributo (o gli attributi) chiave.

Il modello relazionale di un database è un insieme di tabelle, sulle quali si possono effettuare operazioni e tra le quali possono essere stabilite delle associazioni.

III/III

Page 38: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Modello relazionale: requisiti

a. tutte le righe della tabella contengono lo stesso numero di colonne;

b. gli attributi rappresentano informazioni elementari (atomiche), ovvero non scomponibili ulteriormente;

c. i valori assunti da un campo appartengono al dominio dei valori possibili per quel campo, ovvero sono omogenei tra loro;

d. in una relazione, ogni riga è diversa da tutte le altre, ovvero esiste un attributo o una combinazione di attributi che identificano univocamente la n-upla;

e. le n-uple compaiono nella tabella secondo un ordine non prefissato, ovvero non è rilevante il criterio con il quale le righe sono sistemate nella tabella.

Page 39: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Integrità sull’entità

Ogni dato elementare contenuto nel modello relazionale deve essere accessibile attraverso la combinazione di:- nome della tabella,- nome e valore della chiave,- nome della colonna contenente il dato.

Nessuna componente della chiave primaria di una tabella può avere valore nullo.

Page 40: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Le regole di derivazione del modello logico

Le tabelle vengono ricavate dal modello E/R applicando le regole di derivazione:

1. ogni entità diventa una relazione;2. ogni attributo di un’entità diventa un attributo della relazione;3. ogni attributo della relazione eredita le caratteristiche dell’attributo

dell’entità da cui deriva;4. l’identificatore univoco di un’entità diventa la chiave primaria della

relazione derivata;5. l’associazione uno a uno diventa un’unica relazione, che contiene gli

attributi della prima e della seconda entità;6. nell’associazione uno a molti, l’identificatore univoco dell’entità di

partenza diventa chiave esterna (foreign key) dell’entità di arrivo associata;

7. l’associazione con grado molti a molti diventa una nuova relazione, composta dagli identificatori univoci delle due entità e dagli eventuali attributi dell’associazione.

Page 41: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Operazioni relazionali

Agiscono su una relazione per ottenere una nuova relazione.Effettuano le interrogazioni alle basi di dati per ottenere le informazioni desiderate, estraendo da una tabella una sottotabella o combinando tra loro due o più tabelle.

AGENTE CLIENTERelativo a

Abbinato a

Codice Agente

Nome Agente

Indirizzo Agente

Codice Zona

AGENTI CLIENTI

Codice Cliente

Ragione Sociale

Codice Attività

Partita IVA

Indirizzo Cliente

Codice Agente

Page 42: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

La selezione genera una nuova relazione costituita solo dalle n-uple della relazione di partenza che soddisfano una determinata condizione: vengono selezionate le righe con i valori degli attributi corrispondenti alla condizione prefissata.

La relazione ottenuta possiede tutte le colonne della relazione di partenza e quindi ha lo stesso grado; la cardinalità della nuova relazione può essere minore o uguale alla tabella di partenza (solitamente è minore).

Selezione

Page 43: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Se si vuole l'elenco dei clienti della provincia di Milano, si effettua sulla relazione Clienti una selezione per

Provincia =“MI”

estraendo dalla tabella tutte le righe che hanno quel valore per l'attributo provincia, ottenendo così una nuova tabella.

Selezione: esempio

Page 44: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Proiezione

La relazione risultante ha grado minore o uguale al grado della relazione di partenza; la cardinalità è uguale a quella di partenza.

La proiezione genera una nuova relazione estraendo dalla tabella iniziale due o più colonne corrispondenti agli attributi prefissati.

La tabella ottenuta potrebbe avere più righe uguali: in questo caso occorre richiedere che ne venga conservata solo una.

Page 45: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Proiezione: esempio

Se si vuole l'elenco dei codici di attività dei clienti con i relativi codici degli agenti, occorre applicare alla relazione Clienti l’operazione di proiezione secondo gli attributi CodiceAttività e CodiceAgente.

Page 46: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

a1 b1

a2 b2

a3 b3

b1 c1

b2 c2

b3 c3

a1 b1 c1

a2 b2 c2

a3 b3 c3

CongiunzioneLa congiunzione (join) serve a combinare due relazioni aventi uno o più attributi in comune, generando una nuova relazione contenente le righe della prima e della seconda tabella, che possono essere combinate secondo i valori uguali dell’attributo comune.

Il grado della relazione generata è uguale a N1+N2–1, dove N1 e N2 sono i gradi delle relazioni di partenza; la cardinalità non è prevedibile a priori.

I/III

Page 47: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Congiunzione: esempio

L’elenco dei clienti e dei relativi agenti si ottiene applicando l’operazione di congiunzione tra la relazione Clienti e la relazione Agenti secondo l’attributo comune CodiceAgente.

Page 48: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Combinazioni di operazioniGli operatori possono essere applicati alle tabelle anche in successione, combinandoli tra loro in vario modo.

Vengono così effettuate interrogazioni sulle relazioni ottenute come risultato di un’interrogazione precedente.

Occorre applicare la seguente sequenza di operazioni:• Selezione di Clienti per CodiceAttività = 3109• Congiunzione della relazione ottenuta su CodiceAgente e di Agenti su CodiceAgente• Proiezione della relazione ottenuta su RagioneSociale, NomeAgente

Ottenere l’elenco delle ragioni sociali e degli agenti per i clienti che hanno il codice di attività pari a 3109.

Quesito

Page 49: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Operazioni tra tabelle con struttura omogenea

Due tabelle hanno struttura omogenea se hanno colonne con lo stesso numero di attributi, dello stesso tipo e nello stesso ordine.

In questo caso si possono applicare le usuali operazioni sugli insiemi.

Unione Genera una nuova tabella che contiene le righe della prima e della seconda tabella con riduzione a una di quelle ripetute.

Page 50: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Operazioni tra tabelle con struttura omogenea

Intersezione Genera, a partire da due tabelle omogenee, una nuova tabella che contiene soltanto le righe comuni.

Differenza Genera una nuova tabella che contiene soltanto le righe della prima tabella che non sono contenute nella seconda.

Page 51: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Angelo Carpenzano Unità didattica 2: Basi

Fine