SlideShare a Scribd company logo
Insegnamento di Informatica – a.a. 2015-16
Introduzione alle basi di dati
INSEGNAMENTO DI INFORMATICA – A.A. 2015-16
Francesco Ciclosi
Macerata, 27 ottobre 2015
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Modelli di databse
 Esistono vari tipi di modelli per le basi di dati,
tra i quali i più noti sono:
• Gerarchico
• Reticolare
• Relazionale
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Modello gerarchico: schema
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Modello gerarchico: considerazioni (1/2)
 È adatto a rappresentare situazioni dove è
possibile fornire all’insieme dei dati una struttura
con entità che stanno in alto ed entità che stanno
in basso, secondo uno schema ad albero
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Modello gerarchico: considerazioni (2/2)
 In esso i nodi rappresentano le entità e gli archi
rappresentano le associazioni
 Presenta dei limiti:
• La rigidità della struttura di dati creata
• La possibile ridondanza dei dati
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Modello reticolare: schema
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Modello reticolare: considerazioni (1/2)
 Le entità rappresentano i nodi e le
associazioni rappresentano gli archi di uno
schema a grafo orientato
 È un’estensione del modello gerarchico
• Consente anche associazioni tra entità che stanno
in basso, e non solo dall’alto verso il basso
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Modello reticolare: considerazioni (2/2)
 Si differenzia dal
modello gerarchico
perché un record figlio
può avere un numero
qualsiasi di padri
• Ciò consente di evitate
situazioni di ripetizione
di dati uguali
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Modello relazionale: schema
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Il requisito di indipendenza dei dati (1/2)
 Il modello relazionale si basa sui concetti di
relazione e di tabella
 Risponde al requisito di indipendenza dei dati
distinguendo tra:
• Livello fisico (come i dati sono fisicamente
memorizzati nel calcolatore)
• Livello logico (relativo all’organizzazione dei dati e
al modo in cui vi si accede)
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Il requisito di indipendenza dei dati (2/2)
 Gli utenti e i programmatori fanno riferimento
al solo livello logico
 Le strutture fisiche di memorizzazione dei dati
sono di esclusiva pertinenza del DBMS, che si
occupa anche dell’esposizione del livello logico
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Modello relazionale: considerazioni (1/2)
 Nasce nel 1970 e si basa su alcuni concetti
fondamentali tipicamente matematici
 Rappresenta il database come un insieme di
tabelle
 Si adatta in modo naturale alla classificazione e
alla strutturazione dei dati
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Modello relazionale: considerazioni (2/2)
 Assegna grande importanza all’uso rigoroso del
linguaggio matematico, con due obiettivi
importanti:
• Utilizzare un linguaggio conosciuto a livello
universale (quello matematico)
• Eliminare i problemi di ambiguità nella terminologia
e nella simbologia
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Modello relazionale: definizione (1)
Si basa sul concetto matematico di relazione tra insiemi di oggetti
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Modello relazionale: definizione (2)
 Dati n insiemi A1, A2, A3, …, An, si dice relazione un
sottoinsieme dell’insieme di tutte le n-uple a1, a2, a3,
…, an che si possono costruire prendendo nell’ordine
un elemento a1 dal primo insieme A1, a2 dal secondo
insieme A2, e così via
• Il numero n si chiama grado della relazione
• Gli insiemi Ai si chiamano domini della relazione
• Il numero delle n-uple (indicate anche con il termine
tuple) si chiama cardinalità della relazione
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Modello relazionale: definizione (3)
 La relazione viene rappresentata mediante una
tabella, con
• tante colonne quante sono i domini (grado della
relazione)
• tante righe quante sono le n-uple (cardinalità della
relazione)
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Modello relazionale: definizione (4)
 La relazione rappresenta un’entità
• ogni n-upla rappresenta un’istanza dell’entità
• le colonne rappresentano gli attributi dell’entità
• il dominio è l’insieme degli valori che possono essere
assunti da un attributo
 La chiave della relazione è un attributo o una
combinazione di attributi che identificano
univocamente le n-uple all’interno della relazione
• ovvero ogni riga della tabella possiede valori diversi per
l’attributo (o gli attributi) chiave
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Modello relazionale: regole di derivazione
 Le tabelle vengono ricavate dal modello E/R
applicando le regole di derivazione del modello
logico:
1. Ogni entità diventa una relazione
2. Ogni attributo di un’entità diventa un attributo della
relazione, cioè il nome di una colonna della tabella
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
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Le operazioni relazionali: selezione (select)
 Genera una nuova relazione costituita solo dalle n-uple della
relazione di partenza che soddisfano una determinata condizione
• Le righe con i valori degli attributi corrispondenti alla condizione
prefissata
 La relazione ottenuta possiede tutte le colonne della relazione di
partenza, (stesso grado) ma ne ha cardinalità minore o uguale
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Le operazioni relazionali: proiezione (project)
 Genera una nuova
relazione estraendo dalla
tabella iniziale due o più
colonne corrispondenti agli
attributi prefissati
 La relazione risultante ha:
• grado minore o uguale al grado
della relazione di partenza
• cardinalità di norma uguale a
quella di partenza
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Le operazioni relazionali: congiunzione (join)
 Combina due relazioni aventi uno o più attributi in
comune, generando una nuova relazione che contiene
le righe della prima e della seconda tabella
 Questo tipo di congiunzione viene detta join naturale
(natural join)
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Tipi di Join (1/3)
 Equi-join
• la relazione viene realizzata facendo corrispondere valori
uguali per attributi comuni nelle due tabelle
 Join-esterno
• restituisce le righe dell’una e dell’altra tabella anche se
non sono presenti valori uguali per l’attributo comune
• di tutte queste vengono combinate solo le righe per le
quali il valore dell’attributo comune nella prima tabella
trova un valore uguale nella colonna dell’attributo
comune nella seconda tabella
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Tipi di Join (2/3)
 Left join
• elenca comunque tutte le righe della prima tabella
congiungendo tra le righe della seconda solo quelle
per le quali si trovano valori corrispondenti per
l’attributo comune
 Right join
• elenca comunque tutte le righe della seconda tabella
congiungendo tra le righe della prima solo quelle per
le quali si trovano valori corrispondenti per
l’attributo comune
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Tipi di Join (3/3)
 Self-join
• combina le righe di una tabella con le righe della
stessa tabella quando sono presenti valori
corrispondenti per attributi, cioè due attributi con lo
stesso dominio
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
B C D
2 3 4
2 3 5
2 4 12
7 8 10
A B C
1 2 3
6 7 8
9 7 8
5 7 9
R S
A B C D
1 2 3 4
1 2 3 5
6 7 8 10
9 7 8 10
R JOIN S
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
A B C
1 2 3
6 7 8
9 7 8
5 7 9
B C D
2 3 4
2 3 5
2 4 12
7 8 10
A B C D
1 2 3 4
1 2 3 5
6 7 8 10
9 7 8 10
5 7 9
A B C D
1 2 3 4
1 2 3 5
2 4 12
6 7 8 10
9 7 8 10
R S
R Left Join S R Right Join S
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Le operazioni relazionali: l’unione
 In casi particolari consente di ottenere una nuova
tabella, che contiene le righe della prima e della
seconda tabella con riduzione a una di quelle ripetute
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Le operazioni relazionali: l’intersezione
 In casi particolari genera, a partire da due tabelle
omogenee, una nuova tabella che contiene soltanto
le righe comuni
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Le operazioni relazionali: la differenza
 In casi particolari genera una nuova tabella che
contiene soltanto le righe della prima tabella che
non sono contenute nella seconda tabella
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Database life cycle (1/2)
 È composto dalle seguenti fasi sequenziali:
• Progettazione
o Si definiscono l’organizzazione dei dati, le applicazioni che
utilizzeranno il db e l’architettura del sistema
• Creazione del database
o Si creano le tabelle che costituiranno il db
• Introduzione dei dati
o Si popolano le tabelle
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Database life cycle (2/2)
• Manutenzione dei dati
o Si ricercano nel db difetti tipici, quali record vuoti, duplicati,
ecc…
• Ricerca delle informazioni
o Si ricercano informazioni mediante query SQL
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
SQL – Structured Query Language
 È un linguaggio di programmazione per
database relazionali
 Consente di operare sui dati mediante:
• Interrogazione
• Modifica
• Cancellazione
 Utilizza le query: strumenti di programmazione
 Consente di amministrare il sistema di database
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
SQL: uno e trino
 Il linguaggio SQL è diviso in tre sezioni:
• Data Definition Language
o Raggruppa le operazioni attraverso le quali è possibile
creare, modificare e cancellare i database
• Data Manipulation Language
o Raggruppa le operazioni attraverso le quali è possibile
inserire, leggere e cancellare i dati
• Data Control Language
o Raggruppa le operazioni attraverso le quali è possibile
amministrare gli utenti e i permessi
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Gli operatori SQL
 Il linguaggio SQL utilizza una serie di operatori:
• Operatori di confronto
o Come ad esempio l’operatore EXISTS
• Operatori aritmetici
• Operatori condizionali
o Quale l’operatore WHERE
• Operatori logici
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Alcuni esempi di query (1/3)
SELECT Cognome, Nome, Residenza
FROM Impiegati
WHERE Dipartimento='Prod';
_________________________________________________
SELECT Impiegati.Cognome, Impiegati.Nome,
Dipartimenti.Descrizione
FROM Impiegati, Dipartimenti
WHERE Impiegati.Dipartimento = Dipartimenti.Codice AND
Dipartimenti.Sede = 'Roma';
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Alcuni esempi di query (2/3)
SELECT I.Cognome, I.Nome, D.Descrizione
FROM Impiegati AS I INNER JOIN Dipartimenti AS D ON
I.Dipartimento = D.Codice
WHERE D.Sede = 'Roma';
____________________________________
SELECT I.Cognome, I.Nome, D.Descrizione
FROM Impiegati AS I LEFT JOIN Dipartimenti AS D ON
I.Dipartimento = D.Codice;
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
Alcuni esempi di query (3/3)
SELECT DISTINCT Impiegati.Residenza
FROM Impiegati;
______________________________________
SELECT ID AS Matricola, Cognome, Nome
FROM Impiegati;
______________________________________
SELECT Cognome, Nome, Stipendio AS [Stipendio Attuale],
Stipendio*1.05 AS [Stipendio Nuovo Contratto]
FROM Impiegati;
Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati
© Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code
Insegnamento di Informatica – a.a. 2015-16
I miei contatti
linkedin
http://it.linkedin.com/pub/francesco-ciclosi/62/680/a06/
facebook
https://www.facebook.com/francesco.ciclosi
twitter
@francyciclosi
www
http://www.francescociclosi.it

More Related Content

What's hot

La rappresentazione delle informazioni
La rappresentazione delle informazioniLa rappresentazione delle informazioni
La rappresentazione delle informazioni
Francesco Ciclosi
 
MODULO 03 - Il sistema binario
MODULO 03 - Il sistema binarioMODULO 03 - Il sistema binario
MODULO 03 - Il sistema binario
Francesco Ciclosi
 
MODULO IB04 –> La memoria di massa
MODULO IB04 –> La memoria di massaMODULO IB04 –> La memoria di massa
MODULO IB04 –> La memoria di massa
Francesco Ciclosi
 
MODULO IB02 –> I bit e la loro memorizzazione
MODULO IB02 –> I bit e la loro memorizzazioneMODULO IB02 –> I bit e la loro memorizzazione
MODULO IB02 –> I bit e la loro memorizzazione
Francesco Ciclosi
 
MODULO 00 –> Presentazione del corso
MODULO 00 –> Presentazione del corsoMODULO 00 –> Presentazione del corso
MODULO 00 –> Presentazione del corso
Francesco Ciclosi
 
MODULO E02 –> Scelte di consumo intertemporale
MODULO E02 –> Scelte di consumo intertemporaleMODULO E02 –> Scelte di consumo intertemporale
MODULO E02 –> Scelte di consumo intertemporale
Francesco Ciclosi
 
MODULO 06: La produzione dei microprocessori e dei chip di memoria
MODULO 06: La produzione dei microprocessori e dei chip di memoriaMODULO 06: La produzione dei microprocessori e dei chip di memoria
MODULO 06: La produzione dei microprocessori e dei chip di memoria
Francesco Ciclosi
 
MODULO E01 –> Scelte d’investimento per un’impresa
MODULO E01 –> Scelte d’investimento per un’impresaMODULO E01 –> Scelte d’investimento per un’impresa
MODULO E01 –> Scelte d’investimento per un’impresa
Francesco Ciclosi
 
MODULO IB03 –> La memoria principale
MODULO IB03 –> La memoria principaleMODULO IB03 –> La memoria principale
MODULO IB03 –> La memoria principale
Francesco Ciclosi
 
MODULO LAB2 --> Lo scenario di studio: il mercato del lavoro
MODULO LAB2 --> Lo scenario di studio: il mercato del lavoroMODULO LAB2 --> Lo scenario di studio: il mercato del lavoro
MODULO LAB2 --> Lo scenario di studio: il mercato del lavoro
Francesco Ciclosi
 
MODULO 12 –> I dispositivi di input e/o di output
MODULO 12 –> I dispositivi di input e/o di outputMODULO 12 –> I dispositivi di input e/o di output
MODULO 12 –> I dispositivi di input e/o di output
Francesco Ciclosi
 

What's hot (11)

La rappresentazione delle informazioni
La rappresentazione delle informazioniLa rappresentazione delle informazioni
La rappresentazione delle informazioni
 
MODULO 03 - Il sistema binario
MODULO 03 - Il sistema binarioMODULO 03 - Il sistema binario
MODULO 03 - Il sistema binario
 
MODULO IB04 –> La memoria di massa
MODULO IB04 –> La memoria di massaMODULO IB04 –> La memoria di massa
MODULO IB04 –> La memoria di massa
 
MODULO IB02 –> I bit e la loro memorizzazione
MODULO IB02 –> I bit e la loro memorizzazioneMODULO IB02 –> I bit e la loro memorizzazione
MODULO IB02 –> I bit e la loro memorizzazione
 
MODULO 00 –> Presentazione del corso
MODULO 00 –> Presentazione del corsoMODULO 00 –> Presentazione del corso
MODULO 00 –> Presentazione del corso
 
MODULO E02 –> Scelte di consumo intertemporale
MODULO E02 –> Scelte di consumo intertemporaleMODULO E02 –> Scelte di consumo intertemporale
MODULO E02 –> Scelte di consumo intertemporale
 
MODULO 06: La produzione dei microprocessori e dei chip di memoria
MODULO 06: La produzione dei microprocessori e dei chip di memoriaMODULO 06: La produzione dei microprocessori e dei chip di memoria
MODULO 06: La produzione dei microprocessori e dei chip di memoria
 
MODULO E01 –> Scelte d’investimento per un’impresa
MODULO E01 –> Scelte d’investimento per un’impresaMODULO E01 –> Scelte d’investimento per un’impresa
MODULO E01 –> Scelte d’investimento per un’impresa
 
MODULO IB03 –> La memoria principale
MODULO IB03 –> La memoria principaleMODULO IB03 –> La memoria principale
MODULO IB03 –> La memoria principale
 
MODULO LAB2 --> Lo scenario di studio: il mercato del lavoro
MODULO LAB2 --> Lo scenario di studio: il mercato del lavoroMODULO LAB2 --> Lo scenario di studio: il mercato del lavoro
MODULO LAB2 --> Lo scenario di studio: il mercato del lavoro
 
MODULO 12 –> I dispositivi di input e/o di output
MODULO 12 –> I dispositivi di input e/o di outputMODULO 12 –> I dispositivi di input e/o di output
MODULO 12 –> I dispositivi di input e/o di output
 

Similar to MODULO LAB1 --> Introduzione alle basi di dati

MODULO LAB4 --> Le relazioni e l’integrità referenziale
MODULO LAB4 --> Le relazioni e l’integrità referenzialeMODULO LAB4 --> Le relazioni e l’integrità referenziale
MODULO LAB4 --> Le relazioni e l’integrità referenziale
Francesco Ciclosi
 
MODULO 19 –> Fondamenti dell’infrastruttura di rete
MODULO 19 –> Fondamenti dell’infrastruttura di reteMODULO 19 –> Fondamenti dell’infrastruttura di rete
MODULO 19 –> Fondamenti dell’infrastruttura di rete
Francesco Ciclosi
 
MODULO 16 –> Il software
MODULO 16 –> Il softwareMODULO 16 –> Il software
MODULO 16 –> Il software
Francesco Ciclosi
 
MODULO 28 –> La Business Continuity Management
MODULO 28 –> La Business Continuity ManagementMODULO 28 –> La Business Continuity Management
MODULO 28 –> La Business Continuity Management
Francesco Ciclosi
 
MODULO 25 –> Fondamenti delle tecnologie per il web
MODULO 25 –> Fondamenti delle tecnologie per il webMODULO 25 –> Fondamenti delle tecnologie per il web
MODULO 25 –> Fondamenti delle tecnologie per il web
Francesco Ciclosi
 
MODULO OD3: Gli Open Data nelle Marche
MODULO OD3: Gli Open Data nelle MarcheMODULO OD3: Gli Open Data nelle Marche
MODULO OD3: Gli Open Data nelle Marche
Francesco Ciclosi
 
MODULO OD2: Breve storia degli Open Data da Tim Barners Lee a Monti passando ...
MODULO OD2: Breve storia degli Open Data da Tim Barners Lee a Monti passando ...MODULO OD2: Breve storia degli Open Data da Tim Barners Lee a Monti passando ...
MODULO OD2: Breve storia degli Open Data da Tim Barners Lee a Monti passando ...
Francesco Ciclosi
 
MODULO 20 –> Introduzione al TCP/IP
MODULO 20 –> Introduzione al TCP/IPMODULO 20 –> Introduzione al TCP/IP
MODULO 20 –> Introduzione al TCP/IP
Francesco Ciclosi
 
MODULO OD1: Gli Open data, cosa sono e a cosa servono
MODULO OD1: Gli Open data, cosa sono e a cosa servonoMODULO OD1: Gli Open data, cosa sono e a cosa servono
MODULO OD1: Gli Open data, cosa sono e a cosa servono
Francesco Ciclosi
 
MODULO 10 –> La scheda madre e il BIOS
MODULO 10 –> La scheda madre e il BIOSMODULO 10 –> La scheda madre e il BIOS
MODULO 10 –> La scheda madre e il BIOS
Francesco Ciclosi
 
MODULO 23 –> Le reti geografiche
MODULO 23 –> Le reti geograficheMODULO 23 –> Le reti geografiche
MODULO 23 –> Le reti geografiche
Francesco Ciclosi
 
MODULO 26 –> Il controllo degli accessi
MODULO 26 –> Il controllo degli accessiMODULO 26 –> Il controllo degli accessi
MODULO 26 –> Il controllo degli accessi
Francesco Ciclosi
 
MODULO OD4: Un esempio di utilizzo degli Open Data
MODULO OD4: Un esempio di utilizzo degli Open DataMODULO OD4: Un esempio di utilizzo degli Open Data
MODULO OD4: Un esempio di utilizzo degli Open Data
Francesco Ciclosi
 
MODULO 18 –> Il sistema operativo
MODULO 18 –> Il sistema operativoMODULO 18 –> Il sistema operativo
MODULO 18 –> Il sistema operativo
Francesco Ciclosi
 
MODULO 21 –> Le reti locali
MODULO 21 –> Le reti localiMODULO 21 –> Le reti locali
MODULO 21 –> Le reti locali
Francesco Ciclosi
 
MODULO 22 –> Lo spazio degli indirizzi IP
MODULO 22 –> Lo spazio degli indirizzi IPMODULO 22 –> Lo spazio degli indirizzi IP
MODULO 22 –> Lo spazio degli indirizzi IP
Francesco Ciclosi
 
MODULO OD5: Cenni di Open Government e del sistema SATA
MODULO OD5: Cenni di Open Government e del sistema SATAMODULO OD5: Cenni di Open Government e del sistema SATA
MODULO OD5: Cenni di Open Government e del sistema SATA
Francesco Ciclosi
 
MODULO 13 --> Le memorie secondarie
MODULO 13 --> Le memorie secondarieMODULO 13 --> Le memorie secondarie
MODULO 13 --> Le memorie secondarie
Francesco Ciclosi
 
MODULO 15 --> Il backup dei dati
MODULO 15 --> Il backup dei datiMODULO 15 --> Il backup dei dati
MODULO 15 --> Il backup dei dati
Francesco Ciclosi
 
MODULO 11 –> Le porte di comunicazione del computer
MODULO 11 –> Le porte di comunicazione del computerMODULO 11 –> Le porte di comunicazione del computer
MODULO 11 –> Le porte di comunicazione del computer
Francesco Ciclosi
 

Similar to MODULO LAB1 --> Introduzione alle basi di dati (20)

MODULO LAB4 --> Le relazioni e l’integrità referenziale
MODULO LAB4 --> Le relazioni e l’integrità referenzialeMODULO LAB4 --> Le relazioni e l’integrità referenziale
MODULO LAB4 --> Le relazioni e l’integrità referenziale
 
MODULO 19 –> Fondamenti dell’infrastruttura di rete
MODULO 19 –> Fondamenti dell’infrastruttura di reteMODULO 19 –> Fondamenti dell’infrastruttura di rete
MODULO 19 –> Fondamenti dell’infrastruttura di rete
 
MODULO 16 –> Il software
MODULO 16 –> Il softwareMODULO 16 –> Il software
MODULO 16 –> Il software
 
MODULO 28 –> La Business Continuity Management
MODULO 28 –> La Business Continuity ManagementMODULO 28 –> La Business Continuity Management
MODULO 28 –> La Business Continuity Management
 
MODULO 25 –> Fondamenti delle tecnologie per il web
MODULO 25 –> Fondamenti delle tecnologie per il webMODULO 25 –> Fondamenti delle tecnologie per il web
MODULO 25 –> Fondamenti delle tecnologie per il web
 
MODULO OD3: Gli Open Data nelle Marche
MODULO OD3: Gli Open Data nelle MarcheMODULO OD3: Gli Open Data nelle Marche
MODULO OD3: Gli Open Data nelle Marche
 
MODULO OD2: Breve storia degli Open Data da Tim Barners Lee a Monti passando ...
MODULO OD2: Breve storia degli Open Data da Tim Barners Lee a Monti passando ...MODULO OD2: Breve storia degli Open Data da Tim Barners Lee a Monti passando ...
MODULO OD2: Breve storia degli Open Data da Tim Barners Lee a Monti passando ...
 
MODULO 20 –> Introduzione al TCP/IP
MODULO 20 –> Introduzione al TCP/IPMODULO 20 –> Introduzione al TCP/IP
MODULO 20 –> Introduzione al TCP/IP
 
MODULO OD1: Gli Open data, cosa sono e a cosa servono
MODULO OD1: Gli Open data, cosa sono e a cosa servonoMODULO OD1: Gli Open data, cosa sono e a cosa servono
MODULO OD1: Gli Open data, cosa sono e a cosa servono
 
MODULO 10 –> La scheda madre e il BIOS
MODULO 10 –> La scheda madre e il BIOSMODULO 10 –> La scheda madre e il BIOS
MODULO 10 –> La scheda madre e il BIOS
 
MODULO 23 –> Le reti geografiche
MODULO 23 –> Le reti geograficheMODULO 23 –> Le reti geografiche
MODULO 23 –> Le reti geografiche
 
MODULO 26 –> Il controllo degli accessi
MODULO 26 –> Il controllo degli accessiMODULO 26 –> Il controllo degli accessi
MODULO 26 –> Il controllo degli accessi
 
MODULO OD4: Un esempio di utilizzo degli Open Data
MODULO OD4: Un esempio di utilizzo degli Open DataMODULO OD4: Un esempio di utilizzo degli Open Data
MODULO OD4: Un esempio di utilizzo degli Open Data
 
MODULO 18 –> Il sistema operativo
MODULO 18 –> Il sistema operativoMODULO 18 –> Il sistema operativo
MODULO 18 –> Il sistema operativo
 
MODULO 21 –> Le reti locali
MODULO 21 –> Le reti localiMODULO 21 –> Le reti locali
MODULO 21 –> Le reti locali
 
MODULO 22 –> Lo spazio degli indirizzi IP
MODULO 22 –> Lo spazio degli indirizzi IPMODULO 22 –> Lo spazio degli indirizzi IP
MODULO 22 –> Lo spazio degli indirizzi IP
 
MODULO OD5: Cenni di Open Government e del sistema SATA
MODULO OD5: Cenni di Open Government e del sistema SATAMODULO OD5: Cenni di Open Government e del sistema SATA
MODULO OD5: Cenni di Open Government e del sistema SATA
 
MODULO 13 --> Le memorie secondarie
MODULO 13 --> Le memorie secondarieMODULO 13 --> Le memorie secondarie
MODULO 13 --> Le memorie secondarie
 
MODULO 15 --> Il backup dei dati
MODULO 15 --> Il backup dei datiMODULO 15 --> Il backup dei dati
MODULO 15 --> Il backup dei dati
 
MODULO 11 –> Le porte di comunicazione del computer
MODULO 11 –> Le porte di comunicazione del computerMODULO 11 –> Le porte di comunicazione del computer
MODULO 11 –> Le porte di comunicazione del computer
 

More from Francesco Ciclosi

La biometria come nuovo paradigma di autenticazione e identificazione
La biometria come nuovo paradigma di autenticazione e identificazioneLa biometria come nuovo paradigma di autenticazione e identificazione
La biometria come nuovo paradigma di autenticazione e identificazione
Francesco Ciclosi
 
The network attached devices inventory as required by the Italian requirement...
The network attached devices inventory as required by the Italian requirement...The network attached devices inventory as required by the Italian requirement...
The network attached devices inventory as required by the Italian requirement...
Francesco Ciclosi
 
The risk analysis as a unified approach to satisfy GDPR, NIS Directive and IS...
The risk analysis as a unified approach to satisfy GDPR, NIS Directive and IS...The risk analysis as a unified approach to satisfy GDPR, NIS Directive and IS...
The risk analysis as a unified approach to satisfy GDPR, NIS Directive and IS...
Francesco Ciclosi
 
MODULO 27 –> Dai virus al malware
MODULO 27 –> Dai virus al malwareMODULO 27 –> Dai virus al malware
MODULO 27 –> Dai virus al malware
Francesco Ciclosi
 
MODULO 24 –> I servizi di rete
MODULO 24 –> I servizi di reteMODULO 24 –> I servizi di rete
MODULO 24 –> I servizi di rete
Francesco Ciclosi
 
MODULO 17 –> Il modello di licenza del software
MODULO 17 –> Il modello di licenza del softwareMODULO 17 –> Il modello di licenza del software
MODULO 17 –> Il modello di licenza del software
Francesco Ciclosi
 
MODULO 14 --> La crittografia delle informazioni
MODULO 14 --> La crittografia delle informazioniMODULO 14 --> La crittografia delle informazioni
MODULO 14 --> La crittografia delle informazioni
Francesco Ciclosi
 

More from Francesco Ciclosi (7)

La biometria come nuovo paradigma di autenticazione e identificazione
La biometria come nuovo paradigma di autenticazione e identificazioneLa biometria come nuovo paradigma di autenticazione e identificazione
La biometria come nuovo paradigma di autenticazione e identificazione
 
The network attached devices inventory as required by the Italian requirement...
The network attached devices inventory as required by the Italian requirement...The network attached devices inventory as required by the Italian requirement...
The network attached devices inventory as required by the Italian requirement...
 
The risk analysis as a unified approach to satisfy GDPR, NIS Directive and IS...
The risk analysis as a unified approach to satisfy GDPR, NIS Directive and IS...The risk analysis as a unified approach to satisfy GDPR, NIS Directive and IS...
The risk analysis as a unified approach to satisfy GDPR, NIS Directive and IS...
 
MODULO 27 –> Dai virus al malware
MODULO 27 –> Dai virus al malwareMODULO 27 –> Dai virus al malware
MODULO 27 –> Dai virus al malware
 
MODULO 24 –> I servizi di rete
MODULO 24 –> I servizi di reteMODULO 24 –> I servizi di rete
MODULO 24 –> I servizi di rete
 
MODULO 17 –> Il modello di licenza del software
MODULO 17 –> Il modello di licenza del softwareMODULO 17 –> Il modello di licenza del software
MODULO 17 –> Il modello di licenza del software
 
MODULO 14 --> La crittografia delle informazioni
MODULO 14 --> La crittografia delle informazioniMODULO 14 --> La crittografia delle informazioni
MODULO 14 --> La crittografia delle informazioni
 

MODULO LAB1 --> Introduzione alle basi di dati

  • 1. Insegnamento di Informatica – a.a. 2015-16 Introduzione alle basi di dati INSEGNAMENTO DI INFORMATICA – A.A. 2015-16 Francesco Ciclosi Macerata, 27 ottobre 2015
  • 2. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Modelli di databse  Esistono vari tipi di modelli per le basi di dati, tra i quali i più noti sono: • Gerarchico • Reticolare • Relazionale
  • 3. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Modello gerarchico: schema
  • 4. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Modello gerarchico: considerazioni (1/2)  È adatto a rappresentare situazioni dove è possibile fornire all’insieme dei dati una struttura con entità che stanno in alto ed entità che stanno in basso, secondo uno schema ad albero
  • 5. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Modello gerarchico: considerazioni (2/2)  In esso i nodi rappresentano le entità e gli archi rappresentano le associazioni  Presenta dei limiti: • La rigidità della struttura di dati creata • La possibile ridondanza dei dati
  • 6. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Modello reticolare: schema
  • 7. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Modello reticolare: considerazioni (1/2)  Le entità rappresentano i nodi e le associazioni rappresentano gli archi di uno schema a grafo orientato  È un’estensione del modello gerarchico • Consente anche associazioni tra entità che stanno in basso, e non solo dall’alto verso il basso
  • 8. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Modello reticolare: considerazioni (2/2)  Si differenzia dal modello gerarchico perché un record figlio può avere un numero qualsiasi di padri • Ciò consente di evitate situazioni di ripetizione di dati uguali
  • 9. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Modello relazionale: schema
  • 10. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Il requisito di indipendenza dei dati (1/2)  Il modello relazionale si basa sui concetti di relazione e di tabella  Risponde al requisito di indipendenza dei dati distinguendo tra: • Livello fisico (come i dati sono fisicamente memorizzati nel calcolatore) • Livello logico (relativo all’organizzazione dei dati e al modo in cui vi si accede)
  • 11. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Il requisito di indipendenza dei dati (2/2)  Gli utenti e i programmatori fanno riferimento al solo livello logico  Le strutture fisiche di memorizzazione dei dati sono di esclusiva pertinenza del DBMS, che si occupa anche dell’esposizione del livello logico
  • 12. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Modello relazionale: considerazioni (1/2)  Nasce nel 1970 e si basa su alcuni concetti fondamentali tipicamente matematici  Rappresenta il database come un insieme di tabelle  Si adatta in modo naturale alla classificazione e alla strutturazione dei dati
  • 13. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Modello relazionale: considerazioni (2/2)  Assegna grande importanza all’uso rigoroso del linguaggio matematico, con due obiettivi importanti: • Utilizzare un linguaggio conosciuto a livello universale (quello matematico) • Eliminare i problemi di ambiguità nella terminologia e nella simbologia
  • 14. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Modello relazionale: definizione (1) Si basa sul concetto matematico di relazione tra insiemi di oggetti
  • 15. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Modello relazionale: definizione (2)  Dati n insiemi A1, A2, A3, …, An, si dice relazione un sottoinsieme dell’insieme di tutte le n-uple a1, a2, a3, …, an che si possono costruire prendendo nell’ordine un elemento a1 dal primo insieme A1, a2 dal secondo insieme A2, e così via • Il numero n si chiama grado della relazione • Gli insiemi Ai si chiamano domini della relazione • Il numero delle n-uple (indicate anche con il termine tuple) si chiama cardinalità della relazione
  • 16. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Modello relazionale: definizione (3)  La relazione viene rappresentata mediante una tabella, con • tante colonne quante sono i domini (grado della relazione) • tante righe quante sono le n-uple (cardinalità della relazione)
  • 17. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Modello relazionale: definizione (4)  La relazione rappresenta un’entità • ogni n-upla rappresenta un’istanza dell’entità • le colonne rappresentano gli attributi dell’entità • il dominio è l’insieme degli valori che possono essere assunti da un attributo  La chiave della relazione è un attributo o una combinazione di attributi che identificano univocamente le n-uple all’interno della relazione • ovvero ogni riga della tabella possiede valori diversi per l’attributo (o gli attributi) chiave
  • 18. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Modello relazionale: regole di derivazione  Le tabelle vengono ricavate dal modello E/R applicando le regole di derivazione del modello logico: 1. Ogni entità diventa una relazione 2. Ogni attributo di un’entità diventa un attributo della relazione, cioè il nome di una colonna della tabella 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
  • 19. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Le operazioni relazionali: selezione (select)  Genera una nuova relazione costituita solo dalle n-uple della relazione di partenza che soddisfano una determinata condizione • Le righe con i valori degli attributi corrispondenti alla condizione prefissata  La relazione ottenuta possiede tutte le colonne della relazione di partenza, (stesso grado) ma ne ha cardinalità minore o uguale
  • 20. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Le operazioni relazionali: proiezione (project)  Genera una nuova relazione estraendo dalla tabella iniziale due o più colonne corrispondenti agli attributi prefissati  La relazione risultante ha: • grado minore o uguale al grado della relazione di partenza • cardinalità di norma uguale a quella di partenza
  • 21. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Le operazioni relazionali: congiunzione (join)  Combina due relazioni aventi uno o più attributi in comune, generando una nuova relazione che contiene le righe della prima e della seconda tabella  Questo tipo di congiunzione viene detta join naturale (natural join)
  • 22. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Tipi di Join (1/3)  Equi-join • la relazione viene realizzata facendo corrispondere valori uguali per attributi comuni nelle due tabelle  Join-esterno • restituisce le righe dell’una e dell’altra tabella anche se non sono presenti valori uguali per l’attributo comune • di tutte queste vengono combinate solo le righe per le quali il valore dell’attributo comune nella prima tabella trova un valore uguale nella colonna dell’attributo comune nella seconda tabella
  • 23. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Tipi di Join (2/3)  Left join • elenca comunque tutte le righe della prima tabella congiungendo tra le righe della seconda solo quelle per le quali si trovano valori corrispondenti per l’attributo comune  Right join • elenca comunque tutte le righe della seconda tabella congiungendo tra le righe della prima solo quelle per le quali si trovano valori corrispondenti per l’attributo comune
  • 24. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Tipi di Join (3/3)  Self-join • combina le righe di una tabella con le righe della stessa tabella quando sono presenti valori corrispondenti per attributi, cioè due attributi con lo stesso dominio
  • 25. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 B C D 2 3 4 2 3 5 2 4 12 7 8 10 A B C 1 2 3 6 7 8 9 7 8 5 7 9 R S A B C D 1 2 3 4 1 2 3 5 6 7 8 10 9 7 8 10 R JOIN S
  • 26. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 A B C 1 2 3 6 7 8 9 7 8 5 7 9 B C D 2 3 4 2 3 5 2 4 12 7 8 10 A B C D 1 2 3 4 1 2 3 5 6 7 8 10 9 7 8 10 5 7 9 A B C D 1 2 3 4 1 2 3 5 2 4 12 6 7 8 10 9 7 8 10 R S R Left Join S R Right Join S
  • 27. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Le operazioni relazionali: l’unione  In casi particolari consente di ottenere una nuova tabella, che contiene le righe della prima e della seconda tabella con riduzione a una di quelle ripetute
  • 28. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Le operazioni relazionali: l’intersezione  In casi particolari genera, a partire da due tabelle omogenee, una nuova tabella che contiene soltanto le righe comuni
  • 29. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Le operazioni relazionali: la differenza  In casi particolari genera una nuova tabella che contiene soltanto le righe della prima tabella che non sono contenute nella seconda tabella
  • 30. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Database life cycle (1/2)  È composto dalle seguenti fasi sequenziali: • Progettazione o Si definiscono l’organizzazione dei dati, le applicazioni che utilizzeranno il db e l’architettura del sistema • Creazione del database o Si creano le tabelle che costituiranno il db • Introduzione dei dati o Si popolano le tabelle
  • 31. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Database life cycle (2/2) • Manutenzione dei dati o Si ricercano nel db difetti tipici, quali record vuoti, duplicati, ecc… • Ricerca delle informazioni o Si ricercano informazioni mediante query SQL
  • 32. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 SQL – Structured Query Language  È un linguaggio di programmazione per database relazionali  Consente di operare sui dati mediante: • Interrogazione • Modifica • Cancellazione  Utilizza le query: strumenti di programmazione  Consente di amministrare il sistema di database
  • 33. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 SQL: uno e trino  Il linguaggio SQL è diviso in tre sezioni: • Data Definition Language o Raggruppa le operazioni attraverso le quali è possibile creare, modificare e cancellare i database • Data Manipulation Language o Raggruppa le operazioni attraverso le quali è possibile inserire, leggere e cancellare i dati • Data Control Language o Raggruppa le operazioni attraverso le quali è possibile amministrare gli utenti e i permessi
  • 34. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Gli operatori SQL  Il linguaggio SQL utilizza una serie di operatori: • Operatori di confronto o Come ad esempio l’operatore EXISTS • Operatori aritmetici • Operatori condizionali o Quale l’operatore WHERE • Operatori logici
  • 35. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Alcuni esempi di query (1/3) SELECT Cognome, Nome, Residenza FROM Impiegati WHERE Dipartimento='Prod'; _________________________________________________ SELECT Impiegati.Cognome, Impiegati.Nome, Dipartimenti.Descrizione FROM Impiegati, Dipartimenti WHERE Impiegati.Dipartimento = Dipartimenti.Codice AND Dipartimenti.Sede = 'Roma';
  • 36. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Alcuni esempi di query (2/3) SELECT I.Cognome, I.Nome, D.Descrizione FROM Impiegati AS I INNER JOIN Dipartimenti AS D ON I.Dipartimento = D.Codice WHERE D.Sede = 'Roma'; ____________________________________ SELECT I.Cognome, I.Nome, D.Descrizione FROM Impiegati AS I LEFT JOIN Dipartimenti AS D ON I.Dipartimento = D.Codice;
  • 37. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 Alcuni esempi di query (3/3) SELECT DISTINCT Impiegati.Residenza FROM Impiegati; ______________________________________ SELECT ID AS Matricola, Cognome, Nome FROM Impiegati; ______________________________________ SELECT Cognome, Nome, Stipendio AS [Stipendio Attuale], Stipendio*1.05 AS [Stipendio Nuovo Contratto] FROM Impiegati;
  • 38. Unimc - Dipartimento di Economia e Diritto - Corso di Laurea in Economia: banche, aziende e mercati © Francesco Ciclosi – Settembre 2015 CC-BY-SA 4.0 – Common Deed – Legal Code Insegnamento di Informatica – a.a. 2015-16 I miei contatti linkedin http://it.linkedin.com/pub/francesco-ciclosi/62/680/a06/ facebook https://www.facebook.com/francesco.ciclosi twitter @francyciclosi www http://www.francescociclosi.it