![Page 1: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/1.jpg)
1
DATABASE
Introduzione ai database relazionali
![Page 2: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/2.jpg)
2
COS’E’ UNSISTEMA INFORMATIVO?
Un sistema informativo organizza e gestisce tutte le informazioni necessarie per eseguire gli scopi di una organizzazione
![Page 3: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/3.jpg)
3
SISTEMA INFORMATICO
SISTEMA INFORMATIVO
SISTEMA INFORMATICO
Quando viene automatizzato
tramite strumenti elettronici diventa
un
![Page 4: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/4.jpg)
4
Dati e informazioni
Un sistema informativo/informatico presenta 2 nozioni fondamentali che è bene distinguere: il concetto di dato e di informazione
![Page 5: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/5.jpg)
5
Dato ed informazione
Dato: valore in sé (un numero, una data, una frase)
Informazione: conoscenza dei fatti, significato del dato, associazione tra uno o più dati.
![Page 6: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/6.jpg)
6
Dato ed informazione I dati da soli potrebbero non avere alcun
significato, e generalmente non forniscono informazione
I dati assumono un significato quando vengono interpretati in un contesto e/o correlati in maniera opportuna
![Page 7: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/7.jpg)
7
ESEMPIO: UN DATO
08/05/2013
Che informazione ci da?
Sicuramente rappresenta un giorno, ma di per sé non significa nulla.
Ma associando a tale dato un contesto che gli dà significato
questo diventa una informazione
![Page 8: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/8.jpg)
8
ESEMPIO: UNA INFORMAZIONE
Data inizio lezioni studenti
12/09/2013
Il dato diventa una informazione
![Page 9: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/9.jpg)
9
ESEMPIO: UN DATO
MANZONI ALESSANDRO
Che informazione ci da?
![Page 10: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/10.jpg)
10
CONTESTO:ASSOCIAZIONE DI 2 DATI
MANZONI ALESSANDRO
I PROMESSI SPOSI
Il dato messo in un certo contesto assume un certo significato
![Page 11: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/11.jpg)
11
CONTESTO:
Manzoni Alessandro
Residente in Piazza Europa 26, 10110
Torino
Lo stesso dato in un contesto diverso assume un significato diverso
![Page 12: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/12.jpg)
12
INFORMAZIONE
Associazione tra dato e suo significato
FORMALMENTE
Dato:un valore registrato
su un supporto
di memoria
SignificatoCosa
rappresenta il dato
memorizzato
![Page 13: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/13.jpg)
13
I DATI E LE LORO CORRELAZIONI FORNISCONO INFORMAZIONI
Informazione 2
Informazione 1
Dato1 Dato2 Dato
3
Dato7
Dato8
![Page 14: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/14.jpg)
14
Cos’è una BASE DI DATI (DATABASE)?
E’ una raccolta organizzata di informazioni. Una collezione di dati opportunemente raggruppati ed organizzati in modo da poter rappresentare le informazioni di interesse
![Page 15: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/15.jpg)
15
Cos’è una BASE DI DATI (DATABASE)?
E’ un modello del mondo reale (una rappresentazione informatica della realtà di interesse)
E’ un modello del mondo reale che permette l’utilizzo dei dati a utenti diversi con applicazioni diverse e di convertirli in informazioni utilizzabili
![Page 16: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/16.jpg)
16
DATABASE - DBMS
La sigla DBMS (Data Base Management System) indica il software utilizzato per la gestione di un database
I programmi per la realizzazione di database (come ACCESS) esistono per permettere la catalogazione, la modifica e la facile estrazione delle informazioni
![Page 17: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/17.jpg)
17
OBIETTIVI DI UN DATABASE Consistenza: i dati in essa contenuti devono
essere significativi ed essere effettivamente utilizzabili nelle applicazioni dell'azienda
Sicurezza: impedire che il data base venga danneggiato da interventi accidentali o non autorizzati
Integrità: garantire che le operazioni effettuate sul data base da utenti autorizzati non provochino una perdita di consistenza ai dati
![Page 18: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/18.jpg)
18
DATABASE DISTRIBUITI Gli archivi che compongono una base di
dati possono risiedere sulle memorie di massa di computer diversi, facenti parte di una rete aziendale, i cui nodi possono essere anche fisicamente lontani
Quando si verifica questo siamo di fronte ad un database distribuito
In tal caso gli archivi sono integrati da un punto di vista logico
![Page 19: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/19.jpg)
19
DATABASE DISTRIBUITI - VANTAGGI
è possibile gestire archivi di dimensioni limitate laddove vengono creati
facilitano il lavoro di manutenzione si può effettuare maggior controllo sulla
sicurezza si può garantire comunque la disponibilità dei
dati aggiornati a tutti gli utenti del sistema informativo aziendale, qualunque sia la loro posizione geografica o il computer da essi usato per l’attività di elaborazione
![Page 20: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/20.jpg)
20
ORGANIZZAZIONE DEI DATI
L’organizzazione dei dati è un aspetto di fondamentale importanza.
Aver organizzato i dati in maniera corretta evita di doverli riorganizzare successivamente con grave dispendio di risorse.
Un database ben strutturato consente di avere una organizzazione INTEGRATA dei dati.
![Page 21: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/21.jpg)
21
ESEMPIO DI APPROCCIO TRADIZIONALE NON
INTEGRATO
Un'azienda utilizza in uffici diversi due diversi archivi A e B
Matricola# Nome Età Reparto Badget ….
A) Informazioni sui dipendenti che lavorano nei reparti di un’azienda
Dipendente#
Nome Progetto#
Nome Progetto
Tempo % ….
B) Informazioni sui dipendenti per i diversi progetti
Ognuno dei due modelli soddisfa le esigenze specifiche.Ma cosa succede se vogliamo sapere quali sono i reparti che hanno dipendenti che lavorano al progetto X ?
![Page 22: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/22.jpg)
22
ESEMPIO DI APPROCCIO TRADIZIONALE NON
INTEGRATO
Matricola# Nome Età Reparto Badget ….
Dipendente#
Nome Progetto# Nome Progetto
Tempo % ….
Difetti nella gestione non integrata:• Sinonimi: gli stessi dati hanno codici differenti (Matricola# in A e
Dipendente# in B)• Lo stesso nome per dati differenti: Nome in A per dipendente e Nome
in B per Dipendente• Ridondanza dei dati: Reparto e Budget del reparto ripetuto per ogni
dipendente; Progetto# e Nome Progetto ripetuti per ogni dipendente• Rischio di anomalie negli aggiornamenti: una modifica effettuata sui
valori dei dati in un archivio, ma non nell’altro, provoca inconsistenza dei dati
A
B
![Page 23: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/23.jpg)
23
Difetti nella organizzazione non integrata dei dati
Ridondanza dei dati, cioè gli stessi dati compaiono in maniera duplicata (inefficienza)
Tutto ciò deriva dal fatto che i dati sono organizzati in archivi diversi, in modo non integrato tra loro
La ridondanza può portare all’incongruenza, nel caso in cui un dato venga aggiornato in un archivio e non in un altro, oppure
siano presenti valori diversi per lo stesso dato
L’incongruenza porta all’inconsistenza dei dati, cioè i dati aziendali non sono più affidabili, perché non si sa in modo certo
quale dei diversi valori sia quello corretto
![Page 24: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/24.jpg)
24
VANTAGGI DI UNA CORRETTA LOGICA NEI DATABASE
• Indipendenza delle applicazioni dalla struttura fisica dei dati
• Indipendenza delle applicazioni dalla struttura logica dei dati
• Utilizzo da parte di più utenti con applicazioni diverse• Facilità di accesso• Eliminazione della ridondanza• Eliminazione della inconsistenza• Integrità dei dati• Sicurezza dei dati
![Page 25: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/25.jpg)
25
VANTAGGI DEI DATABASE
• manipolazione o trattamento dei dati, cioè la possibilità di inserire, modificare e cancellare i dati
• interrogazione, cioè la possibilità di ritrovare i dati, richiesti da un’applicazione, in modo semplice e veloce
Il vero vantaggio di un database sono le operazioni sui dati organizzati
![Page 26: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/26.jpg)
26
Come costruire un database
REALIZZAZIONE FISICA DEL DATABASE
(Access: tabelle, relazioni, query, maschere, report,
ecc.)
REALTA’(Problema reale)
ANALISIDATABASE LOGICO
Entità (tabelle)Associazioni (interconnessioni tra le tabelle)
IMPLEMENTAZIONE
![Page 27: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/27.jpg)
27
Passi da seguire per la costruzione di DBMS
REALTA’DATABASE LOGICO
MODELLO LOGICO CONCETTUALE
Si rappresenta la realtà dei dati e le associazioni tra essi attraverso uno
schemaSi definisce
l’organizzazione, la composizione ed il
formato dei dati negli archivi elettronici
MODELLO FISICO
Realizzazione fisica del DBMS (ad
es. in Access)
Progettazione
Implementazione
![Page 28: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/28.jpg)
28
Il livello concettuale: il metodo relazionale modello entità/associazioni
Il modello entità/associazioni (in inglese E/R = Entity/Relationship), introdotto nel 1976 da Peter P. Chen, permette di costruire un modello concettuale dei dati indipendente dalle applicazioni
Gli elementi di un modello E/R sono: Entità e attributi Associazioni
![Page 29: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/29.jpg)
29
MODELLO RELAZIONALE
I dati vengono catalogati in tabelle dette Entità
Le Entità vengono correlate tramite Associazioni (Relazioni)
Le proprietà di entità e associazioni vengono descritte tramite gli Attributi
![Page 30: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/30.jpg)
30
ENTITA’
Cos’è? E’ una qualsiasi cosa che può essere
distintamente identificata Cioè un oggetto che
Ha una propria individualità (sia distinguibile concettualmente da altri oggetti)
Abbia per noi rilevanza
![Page 31: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/31.jpg)
31
ENTITA’ – istanze (individui)
L’entità è un oggetto (concreto o astratto) utile per descrivere la realtà che si vuole rappresentare
Ad esempio una persona, un modello di automobile, un movimento contabile, una prova sostenuta da uno studente, possono essere considerate entità
Infatti gli studenti sono classificabili nel tipo entità Studente, i diversi modelli di automobile sono classificabili nel tipo entità Automobile
Ciascuno studente rappresenta un’istanza (un individuo) del tipo entità Studente, ciascuna automobile rappresenta un’istanza (un individuo) del tipo entità Automobile
![Page 32: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/32.jpg)
32
ASSOCIAZIONE (Relazione) Cos’è?
L’associazione (in inglese relationship) è un legame che stabilisce un’interazione tra le entità
Per esempio tra l’entità Persona e l’entità Automobile esiste un’associazione che può essere descritta nel linguaggio naturale secondo due versi: una persona possiede una o più automobili e un’automobile è posseduta da una persona
Quindi si può dire che tra l’entità Persona e l’entità Automobile esiste l’associazione Possiede; tra l’entità Automobile e l’entità Persona esiste l’associazione Posseduta da.
![Page 33: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/33.jpg)
33
ATTRIBUTI Cos’è?
Un attributo è una proprietà di una entità o di una associazione
Rimanendo all’esempio precedente delle autovetture, per l’entità automobile possiamo avere i seguenti attributi: Modello, Produttore, Cilindrata, PrezzoListino.
Notare che Modello e Produttore potrebbero essere individuate come Entità e non come attributi e ciò dipenderà esclusivamente da ciò che si deve fare, cioè dalla nostra analisi della realtà.
![Page 34: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/34.jpg)
34
ATTRIBUTI Le caratteristiche di ogni attributo sono:
Il formato cioè il tipo di valori che può assumere; per esempio: il tipo carattere, numerico o data/ora
La dimensione cioè la quantità massima di caratteri o cifre che possono essere inseriti
L'opzionalità cioè la possibilità di non essere sempre valorizzato: l’attributo è obbligatorio se deve avere valore non nullo, facoltativo se sono accettabili valori nulli
![Page 35: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/35.jpg)
35
ATTRIBUTI
Chiave: Si indica con il termine chiave o chiave primaria (primary key) l'insieme di uno o più attributi che consentono di distinguere un’istanza dall'altra: esempi di chiavi sono il codice di un prodotto o la matricola di un dipendente
Valore Nullo: Il valore nullo, in inglese Null, (da non confondere con la stringa di caratteri blank o con un numero di valore zero) rappresenta un’informazione mancante, inapplicabile o sconosciuta
Dominio: I diversi valori assunti dagli attributi determinano le diverse istanze dell’entità. L'insieme dei possibili valori assunti da un attributo si chiama dominio dell'attributo
![Page 36: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/36.jpg)
36
MODELLO LOGICO Entità
Attributi (campi) Tipi di dato Chiave primaria
Associazione / Relazione 1 a 1 1 a N N a M
![Page 37: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/37.jpg)
37
Rappresentazione grafica. Schema E/RLa rappresentazione classica ERD = Entity-Relationship
DiagramEntità: si rappresenta con un rettangolo contenente
all'interno il nome dell'entitàAssociazione: è rappresentata da una linea, che unisce
le due entità interessateVersi dell’associazione: la descrizione compare a fianco
della linea e dell’entità di partenza del verso
STUDENTE CLASSEFa parte della
si compone degli
![Page 38: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/38.jpg)
38
Rappresentazione grafica. Schema E/R
La rappresentazione classica ERD = Entity-Relationship Diagram
Attributi
Individuazione della chiave
STUDENTE
Codice studente
Cognome
Nome. . . .
![Page 39: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/39.jpg)
39
ESEMPIO: REALTA’: SCUOLA Istruzione superiore
Vogliamo catalogare le anagrafiche di una scuola
QUALI POTREBBERO ESSERE LE NOSTRE ENTITA’?
![Page 40: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/40.jpg)
40
ENTITA’
STUDENTI
INSEGNANTI
CLASSI
![Page 41: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/41.jpg)
41
ATTRIBUTI
Sono le caratteristiche di una entità che desideriamo conservare, catalogare.
Sono le proprietà che caratterizzano una entità o anche una associazione
![Page 42: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/42.jpg)
42
ESEMPIO SCUOLA
STUDENTI
CognomeNomeIndirizzoCapCittàProvinciaTelefonoData nascitaLuogo nascita….
INSEGNANTI
CognomeNomeIndirizzoCapCittàProvinciaTelefonoMateria
CLASSI
Nome classeAula
![Page 43: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/43.jpg)
43
TABELLE ENTITA’ Una entità è per noi una tabella dove le righe
sono le istanze, gli individui (i record) dell’entità e le colonne sono gli Attributi
Nome Cognome Data nascita Luogo Nascita
Mario Rossi 02/04/1975 Milano
Francesca Verdi 24/11/1974 Prato
Alberto Bianchi 14/12/1974 Roma
… … … …
ENTITA’
Record
Attributo (campo)
![Page 44: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/44.jpg)
44
TIPO DI DATO Ogni attributo deve avere un tipo di dato definito. Ovvero
ogni colonna della tabella deve avere valori dello stesso tipo
NOME DESCRIZIONE ACCESS
Byte Intero da 0 a 255 Numerico Byte
Smallint Intero da -32.768 a 32.768 Numerico Intero
Integer Intero da -2.147.483.648 a 2.147.483.647 Numerico Intero lungoNumerico Contatore
Float Numero reale Numerico Precisione singolaNumerico Precisione doppiaNumerico Valuta
Datetime Data/ora Data/Ora
Char Testo fino a 255 caratteri Testo
Memo Testo esteso fino a più di 64.000 caratteri Memo
Boolean True e false Si/No
![Page 45: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/45.jpg)
45
CHIAVE PRIMARIA
Una chiave primaria è la colonna (o l’insieme di più colonne) che definisce un individuo (una riga) di una entità (tabella) in modo univoco.
![Page 46: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/46.jpg)
46
CHIAVE PRIMARIA Alcune entità (poche) hanno una chiave
primaria naturale altre hanno bisogno di una chiave artificiale (il “codice”)
Addirittura per catalogare una persona si ha bisogno del “Codice Fiscale” che non è nient’altro che un attributo artificiale UNIVOCO che garantisce che la persona sia individuata in maniera univoca
![Page 47: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/47.jpg)
47
Procedendo con l’analisi
Una volta individuate entità, attributi, chiavi primarie si deve procedere con l’individuare le ASSOCIAZIONI (RELAZIONI) che intercorrono tra le varie entità.
![Page 48: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/48.jpg)
48
ASSOCIAZIONI
Un’associazione tra le entità può essere:
obbligatoria quando il legame tra le entità deve essere sempre presente
opzionale quando può essere presente
![Page 49: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/49.jpg)
49
ASSOCIAZIONI
Il grado del verso dell'associazione indica quante istanze dell'entità di arrivo si associano all'istanza dell'entità di partenza. Il grado può essere:
1 a 1Biunivoca 1 a N Uno a molti N a M Molti a molti
![Page 50: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/50.jpg)
50
ASSOCIAZIONE 1 a 1
Associazione 1:1 (uno a uno) o biunivoca
Ogni istanza (ogni individuo) della prima entità si deve associare ad una sola istanza (ad un solo individuo) della seconda entità e viceversa.
![Page 51: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/51.jpg)
51
ASSOCIAZIONE 1 a 1
Ad un elemento di una entità corrisponde uno ed un solo elemento della seconda entità
Anagrafica
Codice personaNomeCognomeIndirizzoCapCittàProvinciaTelefonoCellulareEmail
Nascita
Codice personaData nascitaLuogo nascitaProvinciaNome padreCognome padreNome madreCognome madre
1 1
![Page 52: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/52.jpg)
52
ASSOCIAZIONE 1 a N
Associazione 1:N (uno a molti) o semplice
Ogni istanza (individuo) della prima entità si può associare a una o più istanze (individui) della seconda entità, mentre ogni istanza della seconda entità si deve associare ad una sola istanza della prima.
![Page 53: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/53.jpg)
53
ASSOCIAZIONE 1 a N
Supponiamo di voler catalogare gli impiegati della nostra azienda con eventuali figli a carico. Nella nostra analisi dobbiamo individuare le entità per questa realtà.L’entità che individuiamo immediatamente è la tabella “Impiegati”.
Impiegati
Codice impiegatoNomeCognome…….
![Page 54: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/54.jpg)
54
Impiegati + figli a carico
Codice impiegato Nome Cognome
L’entità impiegato in formato tabellare
Come fare a catalogare i figli a carico?
![Page 55: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/55.jpg)
55
Soluzione ERRATA
Codice impiegato Nome Cognome … Figlio 1 Figlio 2 Figlio 3 …
• Cosa succede se un impiegato ha più figli di quanto previsto? Quanto è abbastanza? 3? 5? 20?
• Anche se prevediamo 20 figli, nel caso della media 1/2/3 figli tutti gli altri campi rimarranno vuoti: abbiamo spreco di spazio
• Come fare per esempio a trovare tutti i figli di nome Michele? Su quale campo cercare? Figlio 1? Figlio 2? …. Figlio 20?
• Come fare se in un futuro vogliamo aggiungere ulteriori informazioni riguardanti i figli?
![Page 56: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/56.jpg)
56
Soluzione
C’è un errore di analisi: i figli a carico vanno visti come Entità separata e non come attributi dell’entità impiegati.
IMPIEGATI FIGLI A CARICO
1 N
La relazione che esiste tra gli impiegati ed i figli a carico è di tipo 1 a N1 impiegato può avere N Figli a carico1 IMPIEGATO N FIGLI1 figlio a carico può avere un solo padre che è impiegato e che lo tiene a carico1 FIGLIO A CARICO 1 IMPIEGATO
![Page 57: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/57.jpg)
57
ASSOCIAZIONE N a M
Associazione N:M (molti a molti) o complessa
Ogni istanza (individuo) della prima entità si può associare a una o più istanze (individui) della seconda entità e viceversa
![Page 58: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/58.jpg)
58
ASSOCIAZIONE N a M
LIBRICodice libroTitoloSottotitoloDescrizioneAnno pubblicazioneCodice casa editrice
AUTORICodice autoreNomeCognomeEmail
N M
Entità: Libri e Autori
1 Autore N Libri (Un Autore può scrivere più libri)1 Libro N Autori (Un libro può anche essere scritto da più autori)
![Page 59: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/59.jpg)
59
ASSOCIAZIONE N a M
Entità: Studenti universitari ed esami sostenuti
ESAMICodice esameNome…..
STUDENTIMatricolaNomeCognome……
N M
1 Studente N Esami (Uno Studente può avere sostenuto più esami)1 Esame N Studenti (Un esame può essere stato effettuato da più studenti)
![Page 60: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/60.jpg)
60
CHIAVI, ATTRIBUTI E RELAZIONI
Come si realizza una associazione 1 a 1 ?
Tabella 1 Tabella 21 1
La chiave primaria della Tabella 1 è uguale alla chiave primaria della tabella 2
![Page 61: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/61.jpg)
61
Esempio Relazione 1 a 1
Anagrafica
Codice persona *CognomeNomeIndirizzoCapCittàProvinciaTelefonoCellulareEmail
Nascita
Codice persona *Data nascitaLuogo nascitaProvinciaNome padreCognome padreNome madreCognome madre
1 1
(con l’asterisco indichiamo i campi che sono in chiave primaria)
![Page 62: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/62.jpg)
62
Esempio Relazione 1 a 1
Le chiavi primarie delle due tabelle sono uguali
Cod. persona Cognome Nome Indirizzo
1242 Rossi Franco Via Leopardi …
1318 Verdi Alberto Largo Umberto …
Cod. persona Data Nascita Luogo Nascita
1242 23/07/1961 Milano
1318 12/10/1980 Roma
1
1
![Page 63: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/63.jpg)
63
Relazione 1 a N Come si realizza una associazione 1 a N?
Tabella 1 Tabella 21 N
ESISTONO 2 MODI• La chiave primaria della tabella 1 (padre) è
contenuta nella chiave primaria della tabella 2 (figlia)
• La chiave primaria della tabella 1 (padre) è un attributo della tabella 2 (figlia)
![Page 64: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/64.jpg)
64
1 a N (Padre – Figlio) La chiave primaria della tabella 2 (figlia) contiene la
chiave primaria della tabella 1 (padre)
IMPIEGATICodice impiegato *CognomeNome…..
FIGLI A CARICOCodice impiegato *Codice figlio *Nome Cognome….
1 N
![Page 65: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/65.jpg)
65
1 a N (Lookup) La chiave primaria della tabella 1 (padre) è un attributo
della tabella 2 (figlia)
LIBRICodice libro *TitoloSottotitoloDescrizioneAnno pubblicazioneCodice casa editrice
1
N
CASE EDITRICICodice casa editrice *Ragione socialeIndirizzoCapCittàTelefonoFaxProvinciaURLEmail
![Page 66: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/66.jpg)
66
Relazione N a M Come si realizza una associazione N a M?
Tabella 1 Tabella 2N M
Tramite una tabella aggiuntiva e 2 relazioni 1 a N
![Page 67: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/67.jpg)
67
Relazione N a M
LIBRICodice libro *TitoloSottotitoloDescrizioneAnno pubblicazioneCodice casa editrice
AUTORICodice autore *NomeCognomeEmail…..
N M
![Page 68: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/68.jpg)
68
Relazione N a M
LIBRICodice libro *TitoloSottotitoloDescrizioneAnno pubblicazioneCodice casa editrice
AUTORICodice autore *NomeCognomeEmail….. LIBRI AUTORI
Codice libro *Codice autore *
La relazione N ad M viene spezzata tramite 2 relazioni 1 a N
1
N N
1
![Page 69: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/69.jpg)
69
NORMALIZZAZIONE
Una volta creata una prima bozza di uno schema logico relazionale, è necessario effettuare una serie di verifiche sulla correttezza del procedimento svolto.Queste potranno portare a modificare la struttura dello schema al fine di renderlo corretto ed evitare il verificarsi, nella gestione dei dati, di errori difficilmente ovviabili a posteriori. Tale processo è detto normalizzazione ed è effettuabile mediante procedimenti di tipo algebrico matematico, basati sul concetto di dipendenza funzionale. Vediamone in maniera informale le regole principali.
![Page 70: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/70.jpg)
70
NORMALIZZAZIONE
È un processo con il quale le tabelle vengono trasformate in altre tabelle in modo che ognuna di esse corrisponda a un singolo oggetto della realtà rappresentata
Le regole della normalizzazione sono definite per evitare inconsistenza dei dati e anomalie nelle operazioni di aggiornamento
![Page 71: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/71.jpg)
71
NORMALIZZAZIONE
Uno schema logico concettuale può definirsi “corretto” se rispetta:
• Prima forma normale• Seconda forma normale• Terza forma normale
![Page 72: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/72.jpg)
72
DEFINIZIONI
Chiave (chiave primaria): l'insieme di uno o più attributi che identificano in modo univoco una n-upla (riga della tabella)
Attributo non-chiave: un campo che non fa parte della chiave primaria
Dipendenza funzionale tra attributi: il valore di un attributo A1 determina un singolo valore dell'attributo A2 (in simboli A1 è A2)
Dipendenza transitiva: un attributo A2 dipende da A1 e l'attributo A3 dipende da A2; allora A3 dipende transitivamente da A1
se A1 A2 e A2 A3 allora A1 A3 in modo transitivo
![Page 73: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/73.jpg)
73
Prima forma normale 1FN
Requisiti della Prima forma normale tutte le righe della tabella contengono lo stesso numero
di colonne gli attributi rappresentano informazioni elementari i valori che compaiono in una colonna appartengono allo
stesso dominio ogni riga è diversa da tutte le altre l’ordine con il quale le righe compaiono nella tabella è
irrilevante
In particolare gli attributi devono essere informazioni non ulteriormente scomponibili, cioè non devono avere sottoattributi, né essere gruppi di attributi ripetuti.
![Page 74: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/74.jpg)
74
Prima forma normale 1FN
La prima forma normale stabilisce che in una tabella non possono esistere colonne definite per contenere una molteplicità di valori. Una tabella quindi non può contenere una struttura vettoriale (array), al contrario di quanto consentito in linguaggi di programmazione come il Pascal, il C.
Le tabelle che contengano una colonna non rispondente a questa condizione vanno trasformate, creando per ciascuna riga della tabella di partenza tante righe quanti sono i valori multipli presenti nella colonna considerata
![Page 75: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/75.jpg)
75
Esempio 1FN
IMPIEGATI
Una tabella di questo genere NON è in Prima forma normale in quanto l’attributo figli a carico contiene più valori.
Cod. impiegato
Cognome
Nome Data nascita
Figli a carico
001242 Rossi Franco 09/11/1961 MarcoGiuseppeSandra
001318 Verdi Alberto 24/04/1963 SoniaClaudio
![Page 76: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/76.jpg)
76
Esempio 1FN
Con un processo di normalizzazione la tabella deve essere trasformata in 2 tabelle
Cod. impiegato Cognome Nome Data nascita
001242 Rossi Franco 09/11/1961
001318 Verdi Alberto 24/04/1963
Cod. impiegato
Cod. Figlio
Nome
001242 01 Marco
001242 02 Giuseppe
001242 03 Sandra
001318 01 Sonia
001318 02 Claudio
1
N
![Page 77: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/77.jpg)
77
Seconda forma normale 2FN
Requisiti della Seconda forma normale E’ in prima forma normale tutti i suoi attributi non-chiave dipendono dall’intera
chiave, cioè non possiede attributi che dipendono soltanto da una parte della chiave
T2(A1,A2,A3) T3(A1,A4)T4(A2,A5)
La seconda forma normale elimina la dipendenza parziale degli attributi dalla chiave. Esempio:
La Tabella T1(A1,A2,A3,A4,A5) con
(A1, A2) A3 A1 A4 A2 A5
non è in 2FN, e può essere normalizzata in 2FN con le tabelle:
![Page 78: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/78.jpg)
78
Seconda forma normale 2FN
La seconda forma normale riguarda quindi le tabelle in cui la chiave primaria sia composta da più attributi e stabilisce che, in questo caso, tutte le colonne corrispondenti agli altri attributi dipendano dall’intera chiave primaria.
ESEMPIO: Inventario
CodArticolo CodMagazzino DescArticolo Quantità IndirizzoMagazzino
Chiave primaria: Codarticolo + CodMagazzino
![Page 79: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/79.jpg)
79
Esempio 2FN
Inventario
CodArticolo CodMagazzino DescArticolo Quantità IndirizzoMagazzino
Chiave primaria CodArticolo + CodMagazzino
Dipendenze funzionali (CodArticolo, CodMagazzino) Quantità
CodMagazzino IndirizzoMagazzino
CodArticolo DescArticolo
Si ha dipendenza parziale dalla chiave: NON E’ in 2FN
![Page 80: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/80.jpg)
80
Esempio 2FN
InventarioCodArticolo CodMagazzino DescArticolo Quantità IndirizzoMagazzino
Problemi• indirizzo del magazzino ripetuto per ogni prodotto (ridondanza)• Descrizione dell’articolo ripetuto per ogni magazzino (ridondanza)• se cambia l’indirizzo magazzino, occorre modificare molte righe• con errori nell’aggiornamento si avrebbero indirizzi diversi per lo
stesso magazzino o descrizioni diverse per lo stesso articolo(inconsistenza)
• se non ci sono prodotti in un magazzino, non si può conoscere il suo indirizzo o la descrizione dell’articolo
• se l’articolo non è presente in nessun magazzino, non si può conoscere la sua descrizione esatta
![Page 81: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/81.jpg)
81
Esempio 2FN
InventarioCodArticolo CodMagazzino DescArticolo Quantità IndirizzoMagazzino
Soluzione: mettere in 2FN
InventarioCodArticolo CodMagazzino Quantità
ArticoloCodArticolo DescArticolo
MagazzinoCodMagazzino IndirizzoMagazzino
1
N
1
N
![Page 82: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/82.jpg)
82
Terza forma normale 3FN
Requisiti della Terza forma normale E’ in Seconda forma normale tutti gli attributi non-chiave dipendono direttamente dalla
chiave, cioè non possiede attributi che dipendono da altri attributi che non sono in chiave
T2(A1,A2,A3) T3(A2,A4)
La terza forma normale elimina la dipendenza transitiva degli attributi dalla chiave. Esempio:
La Tabella T1(A1,A2,A3,A4) con A2 A4non è in 3FN, e può essere normalizzata in 3FN con le tabelle:
![Page 83: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/83.jpg)
83
Terza forma normale 3FN
La terza forma normale stabilisce che non esistano dipendenze tra le colonne di una tabella se non basate sulla chiave primaria.
ESEMPIO: Impiegati
CodImpiegato Nome Reparto TelefonoReparto
Chiave primaria CodImpiagato
Dipendenze funzionali CodImpiegato Reparto
Reparto TelefonoReparto
![Page 84: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/84.jpg)
84
Esempio 3FN
Impiegato
Problemi• telefono del Reparto ripetuto per ogni Impiegato di quel Reparto
(ridondanza)• se il telefono cambia, occorre modificare molte righe• con errori di aggiornamento, si avrebbero telefoni differenti• se un Reparto non ha impiegati, non si può conoscere il suo telefono
CodImpiegato Nome Reparto TelefonoReparto
Soluzione: mettere in 3FN
ImpiegatoCodImpiegato Nome Reparto
RepartoReparto TelefonoReparto
![Page 85: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/85.jpg)
85
RIASSUMENDO
Con la normalizzazione:
la tabella iniziale viene scomposta in più tabelle complessivamente forniscono le stesse informazioni
di partenza mantengono le dipendenze tra gli attributi in ciascuna di esse ogni attributo dipende
direttamente dalla chiave vengono evitati problemi di ridondanza e di
inconsistenza dei dati non ci deve essere perdita complessiva delle
informazioni
![Page 86: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/86.jpg)
86
RIASSUMENDO
Prima forma normale
Seconda forma normale
Terza forma normale
possiede i requisiti fondamentali del modello relazionale, in particolare ogni attributo è elementare, non ci sono righe uguali, non ci sono attributi di gruppo o ripetuti
è in prima forma normale e non ci sono attributi non-chiave che dipendono parzialmente dalla chiave
è in seconda forma normale e non ci sono attributi non-chiave che dipendono transitivamente dalla chiave
![Page 87: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/87.jpg)
87
Integrità referenziale
Per integrità referenziale si intende l’insieme di regole che garantiscono l’integrità dei dati di un modello relazionale rendendo valide le associazioni tra le tabelle ed eliminando gli eventuali errori di inserimento, cancellazione o modifica di dati collegati tra loro.
![Page 88: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/88.jpg)
88
Integrità referenziale
Chiave1 ChiaveE2
Per ogni valore non nullo della chiave esterna, deve esistere un valore corrispondente della chiave primaria nella tabella associata
Chiave2
Ogni valore di ChiaveE2 della Tabella 1 deve avere un valore presente nella Chiave2 della tabella 2 oppure il valore di ChiaveE2 deve essere nullo
Tabella 1
Tabella 2
![Page 89: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/89.jpg)
89
Effetti integrità referenziale
Non è possibile immettere un valore nella chiave esterna di una tabella associata, se tale valore non esiste tra le chiavi della tabella primaria
Esempio: Se esiste una integrità referenziale (Foreign key) tra l’ordine ed il cliente: un ordine non può essere assegnato ad un cliente che non esiste nella tabella dei clienti.
Non è possibile eliminare una riga dalla tabella primaria, se esistono righe legate ad essa attraverso la chiave esterna nella tabella correlata
Esempio: Non è possibile eliminare un cliente dalla tabella dei clienti se ci sono ordini assegnati a quel cliente nella tabella degli ordini.
![Page 90: DATABASE Introduzione ai database relazionali 1. 2 COSE UN SISTEMA INFORMATIVO? Un sistema informativo organizza e gestisce tutte le informazioni necessarie](https://reader036.vdocuments.site/reader036/viewer/2022062418/5542eb63497959361e8cce4e/html5/thumbnails/90.jpg)
90
Effetti integrità referenziale
Non si può modificare il valore assegnato ad una chiave nella tabella primaria, se essa compare in qualche riga della tabella correlata
Esempio: Non è possibile modificare il valore alla chiave di un cliente se si sono ordini per quel cliente già registrati nella tabella degli ordini.