Modulo 5 - Database
Contenuti della lezione•5.1.1 Concetti Fondamentali•5.1.2 Organizzazione di un Database•5.1.3 Relazioni•5.2.1 Lavorare con i database•5.2.2 Operazioni comuni
2
11/04/23Dott. Daniele Franco
Concetti Fondamentali – Cos’è un database?
Un database è un insieme di dati, organizzati in tabelle, logicamente correlati fra loro
3
11/04/23Dott. Daniele Franco
Concetti Fondamentali - TabelleUna tabella è un “contenitore” che ci permette di
gestire grossi quantitativi di informazioni simili in maniera ordinata
4
Concetti Fondamentali – Esempi di database
Un insieme di tabelle riguardanti uno stesso argomento o più argomenti correlati tra loro costituisce una base di dati o database
L’insieme delle tabelle di clienti, aerei, prenotazioni, voli e aeroporti costituisce un database
L’insieme delle tabelle di pazienti, medici e medicine costituisce un database.
11/04/23Dott. Daniele Franco
5
Organizzazione di un Database - Tabelle
Una tabella è formata da:•Un insieme di righe (o record)•Un insieme di colonne (o campi)
11/04/23Dott. Daniele Franco
6
Campi
Record
Organizzazione di un Database - Record
•Una record è un insieme di campi relativi alla stessa entità
•Un record è una riga di una tabella del database
11/04/23Dott. Daniele Franco
7
Organizzazione di un Database - Campo
•Una campo è una tipologia di dato/informazione•Una campo è una colonna di una tabella del
database•All’interno di un campo posso memorizzare un solo
valore
11/04/23Dott. Daniele Franco
8
Organizzazione di un Database – Tipi di DatoIn base alle informazioni che devono contenere
e/o ai comportamenti cui saranno soggetti, i campi saranno definiti attraverso tipi di dato e possiederanno determinate proprietà
11/04/23Dott. Daniele Franco
9
Organizzazione di un Database – Tipi di DatoTipo di Dato Descrizione Esempio
Testo Testo contenente lettere e numeri, che non devono essere utilizzate in calcoli e fino a massimo di 255 caratteri
Nomi di persone, città,numeri di telefono, codici postali, sigle
Memo Testo di dimensioni molto grandi, più di 255 caratteri. In questa versione è inoltre possibile applicare la formattazione RTF ai dati di un campo Memo. Ad esempio, è possibile impostare i colori, modificare il tipo di carattere e applicare il formato grassetto o corsivo al testo.
Note, descrizioni
11/04/23Dott. Daniele Franco
10
11/04/23Dott. Daniele Franco
11
Tipo di Dato Descrizione Esempio
Numerico Dati numerici da utilizzare in calcoli. Si può anche definire la dimensione del numero e il formato, indicando se il numero è intero o decimale.
Prezzi, numero di pezzi,percentuale di sconto
Valuta Utilizzato per i valori di tipo valuta; a volte è utile impostarlo anche per valori numerici in calcoli matematici, per evitare l’arrotondamento, con una precisione di 15 cifre a sinistra del separatore decimale e 4 a destra.
Prezzo unitario, prezzototale di un articolo
Organizzazione di un Database – Tipi di Dato
Organizzazione di un Database – Tipi di Dato
11/04/23Dott. Daniele Franco
12
Tipo di Dato Descrizione Esempio
Contatore Numero sequenziale univoco, cioè incrementato di un'unità ogni volta che viene aggiunto un nuovo record a una tabella. Non si può aggiornare. Non se ne può inserire più di uno per tabella.
Chiave primaria di ognitabella
Si/No Campo che può contenere solo uno di due valori alternativi.
Attivo, Presente, InSede
Organizzazione di un Database – Chiave Primaria
Uno o più campi i cui valori identificano in modo univoco i singoli record di una tabella costituiscono la chiave primaria della tabella
11/04/23Dott. Daniele Franco
13
Organizzazione di un Database – Chiave Primaria
11/04/23Dott. Daniele Franco
14
Record 1Record 2
Come faccio a distinguere il Record 1 dal Record 2 ?Devo associare ad ogni record un identificativo (uno o più campi) che lo rende univoco
Organizzazione di un Database – Chiave Primaria
11/04/23Dott. Daniele Franco
15
Posso introdurre il campo ‘IDSoggetto’ e fare in modo che questo valore non supporti duplicati.Il campo chiave di una tabella è, in genere, di tipo contatore. Il tipo contatore consente di memorizzare numeri sequenziali univoci, e viene incrementato di un'unità ogni volta che viene aggiunto un nuovo record a una tabella
Organizzazione di un Database – IndiceL’indice è una funzione che accelera la ricerca e
l'ordinamento in una tabella sulla base di uno o più campi, detti campi indicizzati.
Un indice può essere univoco e non ammettere duplicazioni di valore
11/04/23Dott. Daniele Franco
16
Relazioni tra tabelle
11/04/23Dott. Daniele Franco
17
Perché organizzare e relazionare i dati in tabelle ?•Gestione di una grossa mole di dati•Evitare duplicazioni•Controllare aggiunte e cancellazioni•Ottimizzare l’accesso alle informazioni
Relazioni tra tabelle
11/04/23Dott. Daniele Franco
18
Relazioni tra tabelleVogliamo indicare che gli tutti gli alunni appartengono
alla stessa classe, la III A Informatica.
Soluzione ERRATA: Aggiungiamo i campi della tabella Classi alla tabella Alunni e ricopiamo i dati del record III A Informatica:
11/04/23Dott. Daniele Franco
19
Relazioni tra tabelle
11/04/23Dott. Daniele Franco
20
Problema 1: otteniamo una gran quantità di dati ripetuti che aumentano notevolmente la dimensione del database
Relazioni tra tabelle
11/04/23Dott. Daniele Franco
21
Problema 2: se la classe III A subisce uno spostamento di piano devo riorganizzare tutti i record correlati (sia nella tabella Alunni che nella tabella Classi!)
Relazioni tra tabelle
11/04/23Dott. Daniele Franco
22
Problema 3: se Rossi cambia classe devo aggiornare tutti e tre i campi collegati alla classe
Relazioni tra tabelleI tre problemi elencati in precedenza possono essere risolti definendo una relazione tra le tabelle.
Nella tabella Alunni basta aggiungere il solo campo ‘Classe’ che rappresenta il legame con la tabella Classi
11/04/23Dott. Daniele Franco
23
11/04/23Dott. Daniele Franco
24
Il campo ‘Classe’ della tabella Alunni è in relazione con il campo ‘IDClasse’ della tabella Classi
I dati della classe saranno gestiti solo nella tabella Classi
Relazioni tra tabelleProblema 1 – Risolto:nella tabella alunni memorizzo solo un codice numerico che fa riferimento alla tabella Classi
Problema 2 – Risolto:devo modificare solo il campo ubicazione nella tabella Classi
Problema 3 – Risolto:devo modificare per Rossi solo il campo codice nella tabella Classi
11/04/23Dott. Daniele Franco
25
Problema 1:ho una gran quantità di dati ripetuti che aumentano notevolmente la dimensione del database
Problema 2:se la classe III A subisce unospostamento di piano devoriorganizzare i record correlati
Problema 3:se Rossi cambia classe devoaggiornare tutti e tre i campicollegati alla classe
Relazioni tra tabelle
11/04/23Dott. Daniele Franco
26
Relazione: il campo ‘Classe’ della tabella Alunni è in relazione con il campo ‘IDClasse’ della tabella Classi
Relazioni tra tabelle - Tipi
11/04/23Dott. Daniele Franco
27
• Relazione Uno a Molti: un record della primatabella è associato a più record dell’altra
• Relazione Uno a Uno: ogni record della primatabella può avere solo un record corrispondente nella
seconda tabella e viceversa
• Relazione Molti a Molti: A ogni record della prima tabella possono corrispondere più record della seconda tabella e viceversa
Top Related