I DATA BASE:Generalità e schema E/R (appunti NON esaustivi )
Introduzione
Con il termine basi di dati s’indicano un insieme di archivi di dati organizzati con l’obiettivo di
raggiungere una grande efficienza nel trattamento e nel ritrovamento dei dati ovvero la possibilità di
ritrovare facilmente le informazioni desiderate, attraverso criteri di ricerca diversi.
Deve essere anche garantita la consistenza degli archivi, cioè, i dati devono essere significativi (…)
ed utilizzabili (Es: i dati relativi agli importi una fattura (conto corrente, proprietà ....)devono poter
essere collegati al relativo cliente (correntista, padrone ...) ).
I dati contenuti nei database devono quindi, essere protetti da manomissioni, danni e perdite.
La sicurezza significa impedire che il database sia danneggiato da interventi accidentali o non
autorizzati;
L’integrità significa garantire che le operazioni effettuate da altri utenti autorizzati non provochino
una perdita di consistenza ai dati.
Per la creazione e gestione dei database esistono degli applicativi appositi detti DBMS (Data Base
Management System).
Bisogna, però, fare una precisazione tra diverse figure che utilizzano i database:
 Gli utenti finali del database, che utilizzano le informazioni contenute negli archivi;
 Gli amministratori del database (DBA) si occupano della progettazione e della
manutenzione degli archivi.
Inoltre precisiamo che:
 Il database è formato dall’insieme degli archivi;
 Il DBMS è il sistema informatico con cui si può gestire un database.
Limiti nell’organizzazione tradizionale degli archivi (cartacei realizzati
tramite File ) e loro superamento
Le tecniche di gestione delle basi di dati nascono per superare i problemi e i limiti che nascono nelle
tradizionali organizzazioni degli archivi in modo non integrato.
Il problema principale di un archivio è la ridondanza.
La ridondanza dei dati si ha quando questi sono “copiati” più volte all’interno dell’archivio (o di
più archivi).
Questa può provocare diversi problemi:
- L’incongruenza, cioè il mancato aggiornamento di tutti i dati (copie di dati), contenuti negli
archivi;
- L’inefficienza dei dati, cioè i dati aziendali non sono più affidabili.
Fra i limiti individuati nell’organizzazione tradizionale ricordiamo:
- I programmi sono legati agli archivi che essi gestiscono, al variare della struttura di un
archivio devono variare i programmi che lo utilizzano;
- Alcuni dati presenti più volte in archivi diversi come campi di record diversi: si ha
ridondanza;
- L’accesso ai dati è determinato dal tipo di organizzazione assegnata agli archivi, dalle chiavi
e dall’ordine con cui i campi compaiono all’interno del record.
- Ogni programma che modifica i dati di un file si deve occupare di controllare la validità dei
dati immessi
Per eliminare questo problema si utilizzano delle tecniche, che servono appunto a creare delle
relazioni tra i vari record in modo da non dover “duplicare” l’informazione (utilizzo di chiavi
primarie …).
1
La nuova tipologia di gestione dei database presenta le seguenti caratteristiche fondamentali:
 Indipendenza dalla struttura fisica dei dati, i programmi applicativi sono indipendenti dei
dati fisici;
 Indipendenza dalla struttura logica dei dati, i programmi applicativi sono indipendenti dalla
struttura logica;
 Utilizzo da parte di più utenti, i dati organizzati in un unico database possono essere
utilizzati più utenti e la multiutenza (accesso contemporaneo) è gestita dal DBMC
 Eliminazione della ridondanza, gli stessi dati non compaiono più volte in archivi diversi;
 Eliminazione della inconsistenza, i database non può presentare campi uguali con valori
diversi in archivi diversi;
 Facilità di accesso;
 Integrità dei dati, controlli per evitare anomalie dei dati;
 Sicurezza dei dati, procedure per impedire l’accesso non autorizzato;
 Uso di linguaggi per la gestione del database, attraverso comandi per la manipolazione e
l’interrogazione alla base dati.
La progettazione del database
I contenuti dei database rappresentano i dati della realtà da modellare. Modellare i dati significa
costruire una rappresentazione semplificata della realtà osservata, individuandone gli elementi
caratterizzati e i legami intercorrenti tra loro.
La progettazione di un database avviene su 3 livelli:
1) Livello concettuale, rappresenta la realtà dei dati attraverso un modello chiamato
Il modello concettuale:
E’ definito attraverso uno schema dei dati; questa rappresentazione grafica è indipendente da:
o I valori che saranno assegnati ai dati;
o Le applicazioni degli utenti del database;
o (Le visioni parziali dei dati da parte di particolari utenti.)
Questo metodo consente al database di evolvere nel tempo insieme alla realtà per la quale è stato
progettato e creato.
Il modello concettuale rappresenta un patrimonio importante per le aziende, poiché descrive i tutti
dati esistenti in azienda.
2) Livello logico, descrive la composizione ed il formato dei dati nel loro aspetto di struttura
logica di dati attraverso il
Il modello logico:
Nel passaggio dal modello concettuale al modello logico l’insieme dei dati è dotato di una
struttura che deve facilitarne:
o La manipolazione dei dati;
o L’interrogazione, la possibilità di ritrovare i dati.
in pratica programmatori e/o utenti finali utilizzano (creano, vedono, modificano) i dati
secondo il modello logico.
Esistono 3 tipi di modelli logici:
 Gerarchico
 Reticolare
 Relazionale
3) Livello fisico, è l’effettiva installazione degli archivi elettronici, cioè è l’implementazione
del livello logico.
2
Le strutture del modello logico sono implementate selle memorie di massa realizzando in
pratica il modello fisico della base di dati (di cui il programmatore e l’utente finale possono
totalmente disinteressarsi).
L’attività di progettazione consente prima di tutto di costruire una rappresentazione della realtà in
modo indipendente dalla struttura dei dati.
Riassumendo:
1) Prima di tutto sono individuati i dati che sono significativi, ed è definito lo schema
concettuale rappresentativo della realtà (Modello E/R).
2) Vengono poi definite le strutture logiche di dati che saranno utilizzare da utenti e
programmi (tabelle e associazioni)
3) infine tali strutture sono implementate (automaticamente dal DBMS) memorizzandole su
un supporto fisico di registrazione e si ottiene, quindi, il database.
LIVELLO CONCETTUALE: Il modello entità/associazioni
Il modello entità/associazioni (entity/relationship) è uno strumento per analizzare le caratteristiche
di una realtà in modo indipendente dagli eventi che in essa accadono, per costruire un modello
concettuale dei dati.
Risultato di questo lavoro di analisi è la rappresentazione grafica detta schema E/R, che mette in
evidenza gli aspetti fondamentali del modello concettuale con i dati caratterizzanti e le associazioni
tra essi.
Gli elementi di un modello E/R sono:
- Entità
- Attributi
- Associazioni
L’entità è un oggetto che ha un significato anche quando è considerato in modo isolato ed è di
interesse per la realtà che si vuole modellare;
Le entità si classificano definendone il tipo di entità attraverso un nome.
Le istanze sono i singoli elementi che appartengono ad un'unica entità.
Per esempio: gli studenti di una scuola sono racchiusi tutti nell’entità Studenti.
La rappresentazione grafica dell’entità è identificata da un rettangolo.
L’associazione è un legame che stabilisce un’interazione tra le entità.
Ogni associazione ha 2 versi con specifici significati diversi.
La rappresentazione grafica dell’associazione è identificata da una linea.
Gli attributi rappresentano le proprietà delle entità e talvolta delle associazioni.
Le caratteristiche di ogni attributi sono:
- Il formato, il tipo di valore che assume;
- l’opzionalità, la possibilità di non essere inserito.
Il valore nullo rappresenta un’informazione mancante.
L’insieme dei possibili valori assunti da un attributo si chiama dominio dell’attributo.
Prende il nome di chiave primaria l’insieme di uno o più attributi, che consentono di distinguere
un’istanza dall’altra per la stessa entità (identificano in maniera univoca l’istanza) .
La rappresentazione grafica delle chiavi primarie è costituita dal post-fisso “PK” per tutti gli
attributi o dalla sottolineatura dell’ (degli) attributo (i).
3
Le associazioni tra entità
Un’associazione può essere obbligatoria (deve essere sempre presente), oppure opzionale (può non
essere presente).
La rappresentazione grafica dell’associazione obbligatoria è una linea continua, invece, per quella
opzionale la linea è tratteggiata.
Il grado di un verso dell’associazione è la caratteristica che indica quante istanze dell’entità di
arrivo si associano all’istanza dell’entità di partenza.
Il grado può essere possono essere di 3 tipi:
1) Associazione 1:N (uno a molti) o semplice
ad un elemento di E1 corrispondono più elementi di E2, mentre, ad ogni elemento di
E2 corrisponde un e un solo elemento dell’insieme E1.
2) Associazione 1:1 (uno a uno) o biunivoca;
ad ogni elemento dell’insieme E1 corrisponde uno e un solo elemento dell’insieme
E2
3) Associazione N:N (molti a molti) o complessa;
ad ogni elemento dell’insieme E1 possono corrispondere più elementi dell’insieme
E2 e viceversa.
Le associazioni molti a molti sono poco pratiche, perciò sono scomposte in più
associazioni uno a molti.
Rappresentazione grafica Schema Concettuale
Tipo (cardinalità)
associazione
Nome Entità 1
Attributo 1: tipo1
Attributo 2 :tipo2
Attributo 3 .tipo3
1
Nome Associazione
N
Nome Entità 2
Attributo 1: tipo1
Attributo 2 :tipo2
Attributo 1: tipo1
Attributo 2 :tipo2
Eventuali attributi associazione
4