db 06 database
db 06 database
UN DATABASE E’ UN MODELLO (SU Un Data Base Management System è una raccolta di strumenti
che permettono di strutturare, manipolare e gestire i dati di un
COMPUTER) DELLA REALTA’. database che deve possedere almeno le seguenti caratteristiche:
Gli archivi costituiscono una memoria di lavoro indispensabile per
gestire quantità ingenti di informazioni, per ordinare gli elementi utili,
Strumenti per la definizione dei dati
metterli in collegamento e selezionare i dati che devono essere Strumenti per l’immissione e la modifica dei dati
utilizzati nelle varie circostanze. Strumenti per l’interrogazione l’estrazione dei dati
La creazione di software specifici per la gestione di banche dati,
Strumenti per la generazione di report
chiamati DBMS (Data Base Management System), ha permesso di
Strumenti di programmazione
unificare in un unico programma applicativo le funzionalità di
Strumenti di amministrazione
archiviazione e gestione dei dati.
Università degli studi di Trieste Informatica A.A. 2016/17 Docente: Ing. Daniele Bassi Università degli studi di Trieste Informatica A.A. 2016/17 Docente: Ing. Daniele Bassi
Università degli studi di Trieste Informatica A.A. 2016/17 Docente: Ing. Daniele Bassi Università degli studi di Trieste Informatica A.A. 2016/17 Docente: Ing. Daniele Bassi
MODELLO RELAZIONALE MODELLO RELAZIONALE
Origini del modello relazionale Progettazione (disegno o design)
Il modello relazionale è stato proposto dal matematico Edgar Codd, un ricercatore dell’IBM, alla fine
degli anni 60. La vera forza del modello relazionale è che (almeno finora) esso è l’unico modello di un database relazionale.
definito per mezzo di rigorosi principi matematici astratti. La grande innovazione di Edgar Codd, infatti, La teoria relazionale di Codd ha il grande pregio della
era l'aver intuito che il modello organizzativo dei dati poteva essere basata sulla teoria matematica
degli insiemi e che si potevano avere risultati rigorosamente prevedibili tramite le normali operazioni formalizzazione, e quindi rigorosità, matematica. Però metterla in
insiemistiche applicate ai dati di un database. pratica nella sua interezza si è dimostrato in concreto impossibile.
In altri termini, il modello relazionale può essere dedotto a partire da principi primi o assiomi
matematici. Ecco quindi che nel 1976 è stata elaborata da Peter Pin-Shan
Chen una diversa proposta, che sarà quella da noi adottata:
Il modello Entità – Relazioni (E/R)
“The Entity – Relationsip Model – Toward A Unified View Of
Data” (Marzo 1976).
Università degli studi di Trieste Informatica A.A. 2016/17 Docente: Ing. Daniele Bassi Università degli studi di Trieste Informatica A.A. 2016/17 Docente: Ing. Daniele Bassi
Università degli studi di Trieste Informatica A.A. 2016/17 Docente: Ing. Daniele Bassi Università degli studi di Trieste Informatica A.A. 2016/17 Docente: Ing. Daniele Bassi
E/R – RELAZIONI
Un esempio di legami uno a molti è quello che intercorre tra un
cliente e un ordine che ha fatto (es. il sig Pinco e il suo ordine di
bibite). Infatti un ordine fa capo ad un unico cliente, ma quel
cliente può fare molti ordini.
Invece il legame tra potrebbe intercorrere fra due ipotetiche
entità, le Persone e i Telefoni, sarebbe un legame molti a molti
in quanto una persona può avere più telefoni e ad uno stesso
telefono, possono corrispondere più persone.
Un tipico legame uno a uno è quello tra una persona e una carta
di identità: una persona può avere una carta di identità, una carta
di identità deve appartenere ad una sola persona.
Università degli studi di Trieste Informatica A.A. 2016/17 Docente: Ing. Daniele Bassi
E/R – RELAZIONI
Nell'esempio “un Cliente fa MOLTI Ordini, mentre un Ordine
proviene da UN SOLO Cliente” abbiamo detto che c'è una
relazione 1 a M.
Però ATTENZIONE ! Nel giudicare il tipo delle relazioni si deve
pensare alla POSSIBILITA' che l'evento reale accada. Per es un
Cliente PUO' fare Ordini, non è detto che tutti i clienti li facciano.
Cioè la condizione è sufficiente, ma non necessaria. In compenso
un Ordine NON PUO' appartenere a più Clienti, quindi NON c'è
un legame 1 a M fra Ordine e Cliente.
Altro esempio : 1 Ordine (contiene) M prodotti, ma anche 1
Prodotto (sta in) M Ordini. Si tratta di un legame Molti a Molti.
Università degli studi di Trieste Informatica A.A. 2016/17 Docente: Ing. Daniele Bassi
Università degli studi di Trieste Informatica A.A. 2016/17 Docente: Ing. Daniele Bassi Università degli studi di Trieste Informatica A.A. 2016/17 Docente: Ing. Daniele Bassi
RELAZIONI M - M
Per realizzare una M←→M si deve
AGGIUNGERE UNA NUOVA tabella (“di
intersezione”) contenente, come FK, le 2 PK
delle tabelle di partenza. Tabella che si
troverà dal lato Molti di 2 relazioni 1 → M .
La PK della tabella di intersezione sarà
costituita dalla combinazione delle 2 FK.
Università degli studi di Trieste Informatica A.A. 2016/17 Docente: Ing. Daniele Bassi
RELAZIONI M - M RELAZIONI 1 - 1
Non è obbligatorio inserire nella tabella di intersezione altri campi Le relazioni 1 - 1 non sono altro che relazioni 1 – M in cui il lato M
oltre alle due FK, però facendolo si chiarisce meglio la natura viene limitato a 1.
della relazione M-M, e in numerosi casi è NECESSARIO inserire P.es. si potrebbe imporre la regola che ogni Cliente può fare al
in questa tabella campi che altrimenti non troverebbero massimo UN Ordine. Quindi il caso del legame 1-1 si risolve
collocazione nelle altre 2 tabelle. Si capirà meglio quando come quello 1 – M, ma è possibile scegliere da quale parte
vedremo gli esempi pratici. mettere la FK.
Si obietta spesso che in realtà le relazioni 1 – 1 non dovrebbero
esistere, in quanto si potrebbe inserire tutti gli attributi (delle 2
tabelle) in un'unica tabella. I motivi che giustificano la loro
esistenza stanno nella situazione REALE che il database deve
rappresentare.
Università degli studi di Trieste Informatica A.A. 2016/17 Docente: Ing. Daniele Bassi Università degli studi di Trieste Informatica A.A. 2016/17 Docente: Ing. Daniele Bassi
I DATABASE
Università degli studi di Trieste Informatica A.A. 2016/17 Docente: Ing. Daniele Bassi