Basi di Dati
1 giugno 2017
This book is the result of a collaborative effort of a community of people
like you, who believe that knowledge only grows if shared.
We are waiting for you!
Get in touch with the rest of the team by visiting http://join.wikitolearn.org
You are free to copy, share, remix and reproduce this book, provided that you properly give
credit to original authors and you give readers the same freedom you enjoy.
Read the full terms at https://creativecommons.org/licenses/by-sa/3.0/
Capitolo 1. Introduzione
Capitolo 1
Introduzione
1.1 Le rappresentazioni del mondo Reale
Spesso abbiamo bisogno di rappresentare la realtà tramite delle strutture astratte. In questo corso vedremo l’utilità delle tabelle per raccogliere e strutturare
informazioni di uso quotidiano.
Un insieme di strutture organizzative può ricevere in input dati o richieste di
servizi, che verranno elaborate per mezzo di processi. I processi sfruttano sia
risorse umane che informazioni. il tutto viene gestito tramite hardware software
e telecomunicazioni, che in ultima analisi sfruttano le strutture dei basi di dati
INSERIRE DISEGNO 3
1.1.1 Definizioni principali
Dato / Dati
Immaginiamo di misurare la temperatura corporea tramite un termometro. Se il
termometro segna sul display 38.4 ◦ C e questo viene letto da un bambino, egli
non capirà cosa vuol dire davvero. Mentre una persona che abbia il concetto di
Temperatura e che conosca l’unità di misura dei gradi Celsius allora associerà a
quel valore un’informazione.
Quando un valore non rappresenta un concetto, non si conosce il significato di
tale valore , viene chiamato “dato”.
Quando un valore porta con sè qualcosa in più, come ad esempio un’unità di
misura, e viene capito da qualcuno, allora diventa un’informazione.
Quando abbiamo una temperatura di riferimento corporea in stato di salute e
capiamo che 38.4 è più alto di tale temperatura, allora diremo che questa persona
ha la febbre. Quindi il dato si è trasformato in conoscenza.
Dunque un dato è una rappresentazione digitale, un’informazione è un dato a cui
attribuiamo un significato, una conoscenza è un’informazione che è confrontabile
con dei parametri pregressi che abbiamo già in mente.
2/9
Capitolo 1. Introduzione
Rappresentazione
Il modo in cui rappresentiamo una certa situazione, in cui raggruppiamo i dati.
Di solito questa è una tabella.
Si divide a sua volta in due parti:
1. Schema: la parte della tabella in cui è espresso il significato dei dati, comprende di solito un titolo per la tabella e una riga che spieghi i significati
delle varie classi di dati inserite nella tabella
2. Istanza o Dati: la parte della tabella in cui inseriamo tutti i dati.
INSERIRE DISEGNO 4
Base di Dati
Una base di dati è una collezione di dati
1. Utilizzata per rappresentare informazioni di interesse di diversi settori dell’organizzazione
2. Condivisa tra diversi processi e applicazioni software
3. In cui ogni informazione di interesse è rappresentata una volta sola
1.2 Introduzione e DBMS
Possiamo definire una base di dati come una collezione di dati utilizzati per
rappresentare le informazioni di interesse per una o più applicazioni di un organizzazione.
1.2.1 DBMS (DataBase Management System)
È il software che si occupa di gestire in maniera intelligente il nostro DB.
1.2.2 Vantaggi di un DB rispetto ad un File System
Con un DataBase non dobbiamo accuparci noi di interagire direttamente con la
memoria trovandoci nella seguente situazione:
3/9
Capitolo 1. Introduzione
Avere tutti i dati salvati in un unico Database comporta:
• Non presenza di inutili ridondanze
• Efficente controllo delle concorrenze
• Efficente controllo dei permessi (ciascun utente può interagire con certi dati
in base ai permessi che possiede)
1.2.3 Architettura Standard di un DBMS (ANSI/SPARC)
Possiamo suddividere la struttura di un DataBase in tre schemi:
• SCHEMA ESTERNO=(vista utente) rappresenta quella parte di database
rilevante per un certo utente in base alle autorizzazioni che possiede.
• SCHEMA LOGICO= Struttura dell’intera base di dati, cioè l’insieme di
tutte le tabelle di cui e composto e le varie connessioni tra di esse (questo
è il livello al quale siamo interessati noi).
• SCHEMA FISICO= La struttura di com’è salvato il database fisicamente
all’interno della memoria del PC.
1.2.4 Proprietà di Indipendenza
Un buon DBMS deve rispettare due proprietà di indipendenza: INDIPENDENZA
FISICA:
• modifiche allo schema logico si devono riflettere sullo schema fisico in maniera trasparente per l’utente.
• modifiche allo schema fisico (ad esempio ottimizzazioni) devono lasciare
inalterato lo schema logico
4/9
Capitolo 1. Introduzione
INDIPENDENZA LOGICA:
• modifiche alle viste non devono richiedere modifiche a livello logico
• modifiche a livello logico devono lasciare inalterato lo schema esterno
1.2.5 DBMS Pro-Contro
PRO:
• dati come risorsa comune, base di dati come modello della realtà
• gestione centralizzata con possibilità di standardizzazione ed “economie di
scala”
• servizi integrati disponibili
• riduzione ridondanze e campi vuoti
• indipendenza dei dati (facilità di sviluppo e manutenzione applicazioni)
CONTRO:
• costo dei prodotti e delle transizioni verso di essi
• non si possono suddividere (spesso) le funzionalità (riduzione di efficenza
1.3 Modelli Concettuali e Modelli Logici
Per creare un modello di dati che rappresenti il mondo reale bisogna innanzitutto
creare uno schema concettuale per realizzare poi un modello logico con il quale
andremo a costruire la nostra base di dati.
1.3.1 Modello Concettuale
Serve a rappresentare, come dice il nome stesso, dei concetti. Cioè le varie entità
di cui vogliamo salvare i dati e che relazioni sussistono tra di esse.
1.3.2 Modello Logico
È il passo successivo al modello concettuale. Realizziamo un modello statico che
sia possibile rappresentare dopo attraverso un software (il DBMS ad esempio).
Esistono tre principali modelli logici:
• Gerarchico→prevede un’organizzazione dei dati ad albero supponendo che
esiste una relazione padre figlio tra le diverse entità
• Reticolare→la logica di questo modello è basata su record e puntatori
5/9
Capitolo 1. Introduzione
• Relazionale→è il modello più recente e principalmente usato nel mondo del
lavoro al giorno d’oggi spiegato meglio nel prossimo capitolo
I primi due modelli, ormai obsoleti, furono inventati nei primi anni ’60.
1.4 Il modello relazionale
Definizione (modello relazionale):
Proposto da Codd nel 1970 per favorire l’indipendenza dei dati. Si basa sul concetto matematico di relazione e quest’ultime hanno una rappresentazione naturale
per mezzo delle tabelle.
1.5 Algebra Relazionale
Definizione (algebra relazionale):
Tipo di linguaggio formale per la rappresentazione delle query.
1.6 Calcolo Relazionale
Definizione (calcolo relazionale):
Tipo di linguaggio formale per la rappresentazione delle query.
1.7 Datalog
Definizione (datalog):
Tipo di linguaggio formale per la rappresentazione delle query.
1.8 Progettazione di Basi di Dati
Definizione (progettazione di basi di dati):
Per progettazione si intende:
• progettazione dei dati che individua l’organizzazione e la struttura della
base di dati
• progettazione delle applicazioni che schematizza le operazioni sui dati
e progetta il software applicativo
6/9
Capitolo 1. Introduzione
1.8.1 Livelli di Progettazione
• Concettuale
• Logico
• Fisico
1.9 SQL
Definizione (SQL):
È un linguaggio commerciale utilizzato per la gestione dei DBMS.
7/9
Capitolo 2. Fonti per testo e immagini; autori; licenze
8/9
Capitolo 2
Fonti per testo e immagini;
autori; licenze
2.1 Testo
• Corso:Basi di Dati/Introduzione/Le rappresentazioni del mondo Reale Fonte:
https://it.wikitolearn.org/Corso%3ABasi_di_Dati/Introduzione/Le_rappresentazioni_del_
mondo_Reale?oldid=39828 Contributori: V.e.padulano
• Corso:Basi di Dati/Introduzione/Introduzione e DBMS Fonte: https://it.wikitolearn.
org/Corso%3ABasi_di_Dati/Introduzione/Introduzione_e_DBMS?oldid=39822 Contributori: Sofia, V.e.padulano, Irene, FAngelo e Move page script
• Corso:Basi di Dati/Introduzione/Modelli Concettuali e Modelli Logici Fonte:
https://it.wikitolearn.org/Corso%3ABasi_di_Dati/Introduzione/Modelli_Concettuali_e_
Modelli_Logici?oldid=28083 Contributori: Sofia, Irene, FAngelo e Move page script
• Corso:Basi di Dati/Introduzione/Il modello relazionale Fonte: https://it.wikitolearn.
org/Corso%3ABasi_di_Dati/Introduzione/Il_modello_relazionale?oldid=28079 Contributori: Sofia, Irene, FAngelo e Move page script
• Corso:Basi di Dati/Introduzione/Algebra Relazionale Fonte: https://it.wikitolearn.
org/Corso%3ABasi_di_Dati/Introduzione/Algebra_Relazionale?oldid=28073 Contributori: Sofia, Irene, FAngelo e Move page script
• Corso:Basi di Dati/Introduzione/Calcolo Relazionale Fonte: https://it.wikitolearn.
org/Corso%3ABasi_di_Dati/Introduzione/Calcolo_Relazionale?oldid=28075 Contributori: Sofia, Irene, FAngelo e Move page script
• Corso:Basi di Dati/Introduzione/Datalog Fonte: https://it.wikitolearn.org/Corso%
3ABasi_di_Dati/Introduzione/Datalog?oldid=28077 Contributori: Sofia, Irene, FAngelo e
Move page script
• Corso:Basi di Dati/Introduzione/Progettazione di Basi di Dati Fonte: https://it.
wikitolearn.org/Corso%3ABasi_di_Dati/Introduzione/Progettazione_di_Basi_di_Dati?oldid=
28085 Contributori: Sofia, Irene, FAngelo e Move page script
• Corso:Basi di Dati/Introduzione/SQL Fonte: https://it.wikitolearn.org/Corso%3ABasi_
di_Dati/Introduzione/SQL?oldid=28087 Contributori: Sofia, Irene, FAngelo e Move page
script
2.2 Immagini
• File:Database1.png Fonte: http://pool.wikitolearn.org/images/pool/a/a3/Database1.png
Licenza: ? Contributori: ? Artista originale: ?
Capitolo 2. Fonti per testo e immagini; autori; licenze
2.3 Licenza dell’opera
• [Project:Copyright Creative Commons Attribution Share Alike 3.0 & GNU FDL]
• Creative Commons Attribution-Share Alike 3.0
9/9