Database - Università degli Studi di Ferrara
Database - Università degli Studi di Ferrara
Database - Università degli Studi di Ferrara
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Informatica 2012-2013 - Dott. Muzzioli Valerio<br />
<strong>Database</strong><br />
Argomenti trattati:<br />
Nozioni <strong>di</strong> base: i database, i modelli <strong>di</strong> dati, DBMS<br />
<strong>Database</strong> relazionali: tabelle, campi, record; in<strong>di</strong>ci <strong>di</strong> taballa<br />
Chiavi primarie ed esterne<br />
Relazioni tra tabelle: definizione e tipologie, integrità referenziale<br />
file:///E|/DIDATTICA/CORSI_2012-2013/appunti_informatica_2012-13/06_database/index_database.html[30/08/2012 18:00:51]<br />
Home
Informatica 2012-2013 - Dott. Muzzioli Valerio<br />
DATI ED INFORMAZIONI<br />
La raccolta, l’archiviazione e la manipolazione <strong>di</strong> dati sono operazioni ricorrenti in molte attività (conti bancari, elenchi<br />
telefonici, elenchi <strong>degli</strong> iscritti ad un corso <strong>di</strong> laurea ecc.).<br />
DATI: raccolta <strong>di</strong> fatti che porta ad una una descrizione elementare, spesso co<strong>di</strong>ficata, <strong>di</strong> una cosa, <strong>di</strong> una<br />
transazione, <strong>di</strong> un avvenimento o <strong>di</strong> altro.<br />
INFORMAZIONI: dati organizzati o presentati in mo<strong>di</strong> utili per prendere delle decisioni, in base al il<br />
contesto in cui i dati sono raccolti, la loro co<strong>di</strong>fica in forma intelligibile ed in definitiva il significato<br />
attribuito a tali dati.<br />
Un dato in sé NON costituisce una informazione in quanto consiste semplicemente <strong>di</strong> un insieme <strong>di</strong> caratteri e<br />
simboli; ad esempio la sequenza <strong>di</strong> caratteri "Mario Rossi" e le cifre "06658976" non hanno un significato specifico.<br />
Quando un dato viene interpretato come risultato <strong>di</strong> una interrogazione (“chi è il <strong>di</strong>rettore della banca e qual è il suo<br />
numero telefonico?”) e pertanto ad esso viene attribuito un SIGNIFICATO, allora <strong>di</strong>venta una INFORMAZIONE.<br />
SISTEMA INFORMATIVO e SISTEMA INFORMATICO<br />
Il SISTEMA INFORMATIVOè costituito dall'insieme delle informazioni utilizzate, prodotte e trasformate da un'azienda<br />
durante l'esecuzione dei processi aziendali, dalle modalità in cui esse sono gestite e dalle risorse, sia umane, sia<br />
tecnologiche, coinvolte.<br />
I concetti fondamentali alla base <strong>di</strong> un sistema informativo sono dati, informazioni e processi.<br />
Nell'azienda il sistema informativo ha il compito <strong>di</strong>:<br />
raccogliere i dati;<br />
conservare i dati raccolti, archiviandoli;<br />
elaborare i dati (tramite opportuni processi), trasformandoli in informazioni;<br />
<strong>di</strong>stribuire l'informazione agli organi aziendali utilizzatori.<br />
La parte del sistema informativo composta dai calcolatori, dalle reti informatiche, dalle procedure per la<br />
memorizzazione e la trasmissione elettronica delle informazioni prende il nome <strong>di</strong> SISTEMA INFORMATICO.<br />
Anche se l'esistenza del sistema informativo è in<strong>di</strong>pendente dalla sua automazione, il relativo sistema informatico ricorre<br />
quasi sempre all'utilizzo <strong>di</strong> uno o più database per l'archiviazione e il reperimento delle informazioni, e ad appositi<br />
moduli software per l'inserimento e la gestione.<br />
file:///E|/DIDATTICA/CORSI_2012-2013/appunti_informatica_2012-13/06_database/06-01-01.htm[30/08/2012 17:57:27]
Informatica 2012-2013 - Dott. Muzzioli Valerio<br />
I DATABASE<br />
Un DATABASE (o banca dati) è la versione <strong>di</strong>gitale <strong>di</strong> un archivio dati e, pertanto, può essere considerato come un<br />
INSIEME INTEGRATO DI INFORMAZIONI OMOGENEE, che fornisce una rappresentazione semplificata <strong>di</strong> una<br />
realtà in evoluzione.<br />
Semplificando un po' potremmo pensare ad un database come ad una specie <strong>di</strong> "contenitore" che ci permette <strong>di</strong> gestire<br />
grossi quantitativi <strong>di</strong> informazioni simili in maniera or<strong>di</strong>nata, semplice, veloce e sicura, più <strong>di</strong> quanto non sia possibile farlo<br />
manipolando grossi archivi cartacei o fogli elettronici <strong>di</strong> Excel.<br />
Un semplice esempio: la rubrica telefonica<br />
le informazioni sono organizzate tramite un in<strong>di</strong>ce<br />
le informazioni sono organizzate in una apposita "struttura dati"<br />
le informazioni sono omogenee tra loro<br />
Perchè usare i database per gestire grossi quantitativi <strong>di</strong> informazioni?<br />
Perchè i database sono in grado gestire in maniera ottimale (cosa non possibile con un archivio cartaceo):<br />
- La RIDONDANZA DEI DATI: "ma non esiste proprio un modo per evitare <strong>di</strong> rimettere nel mio database delle lauree,<br />
duemila volte il nome del corso <strong>di</strong> laurea in Scienze e tecniche dell'attività motoria preventiva ed adattata??"<br />
- L' UNIFORMITA' DEI DATI: "od<strong>di</strong>o, come ho chiamato la Johns Coopers and Lybrand Incorporated l'ultima volta? JCL?<br />
J.C.L. ? J.C.L Inc.? J.C.& L. Inc?"<br />
- L'INDIPENDENZA DALLA PIATTAFORMA DI LAVORO: "scusa, ti ricor<strong>di</strong> sul tuo sistema come devo fare per vedere il<br />
contenuto <strong>di</strong> una tabella? perché su quello <strong>di</strong> Tizio devo fare così, su quello <strong>di</strong> Caio cosà e sul mio in un modo<br />
completamente <strong>di</strong>verso"<br />
- La SICUREZZA DELLE TRANSAZIONI: "ARGH! stavo mettendo dentro al database tutti i voti dell'ultimo semestre<br />
quando è andata via la corrente ed adesso non so se l'ultimo esame me l'ha preso o no! cosa faccio, devo ricostruire<br />
l'intera tabella <strong>degli</strong> esami per essere certo che non ci siano valori doppi o inseriti a metà??"<br />
- La POSSIBILITA' DI LAVORO IN AMBIENTE MULTIUTENTE: "Mi spieghi perché io sono certo <strong>di</strong> avere inserito un 28<br />
nell'esame <strong>di</strong> Informatica dello studente Gigi Rossi e non c'è più?! eppure sono sicuro... secondo me qualcun'altro ci ha<br />
messo la mani...."<br />
INTERAZIONI CON I DATABASE<br />
• Acquisti ai supermercati<br />
• Acquisti con carta <strong>di</strong> cre<strong>di</strong>to<br />
• Bancomat<br />
• Agenzie <strong>di</strong> viaggi<br />
• Biblioteche<br />
• Il sito dell'<strong>Università</strong> (iscrizione agli esami)<br />
• WEB<br />
• Aspetto comune: organizzazione <strong>di</strong> gran<strong>di</strong> quantità <strong>di</strong> dati permanenti da rendere accessibili in modo interattivo o da<br />
programmi.<br />
file:///E|/DIDATTICA/CORSI_2012-2013/appunti_informatica_2012-13/06_database/06-01-02.htm[30/08/2012 17:57:27]
Informatica 2012-2013 - Dott. Muzzioli Valerio<br />
I MODELLI DI DATI<br />
L’organizzazione delle informazioni all'interno <strong>di</strong> un database è definita tramite il “MODELLO DI DATI” utilizzato.<br />
Questo modello definisce l’insieme dei concetti e <strong>degli</strong> strumenti utilizzati, necessari per organizzare i dati <strong>di</strong><br />
interesse e descriverne la struttura; è composto da tre elementi essenziali:<br />
1. Insieme <strong>di</strong> strutture dati, con gli operatori opportuni<br />
2. Notazione per specificare i dati tramite le struttura dati del modello<br />
3. Insieme delle operazioni <strong>di</strong>sponibili per manipolare i dati<br />
Qualsiasi modello dei dati deve risolvere due principali quesiti:<br />
1. Come rappresentare le entità e i loro attributi.<br />
2. Come rappresentare le associazioni.<br />
Nel primo caso la maggioranza dei modelli usa strutture come i record, in cui ogni componente rappresenta un attributo.<br />
Nel secondo caso i modelli <strong>di</strong>fferiscono notevolmente nella ricerca <strong>di</strong> una rappresentazione, pertanto si possono proporre<br />
<strong>di</strong>versi esempi come le strutture, i valori, i puntatori ecc.<br />
I modelli <strong>di</strong> dati più utilizzati sono i seguenti:<br />
MODELLO GERARCHICO<br />
MODELLO RETICOLARE<br />
MODELLO RELAZIONALE<br />
…<br />
Sulla base del modello <strong>di</strong> dati utilizzato per la gestione ed organizzazione delle informazioni, occorre utilizzare il software <strong>di</strong><br />
gestione del database più opportuno. Ad esempio, con un modello <strong>di</strong> dati relazionale, occorre un software <strong>di</strong> gestione per<br />
<strong>Database</strong> relazionali (es, Microsoft Access)<br />
file:///E|/DIDATTICA/CORSI_2012-2013/appunti_informatica_2012-13/06_database/06-01-03.htm[30/08/2012 17:57:28]
Informatica 2012-2013 - Dott. Muzzioli Valerio<br />
I DATABASE RELAZIONALI<br />
Un DATABASE RELAZIONALE è un particolare tipo <strong>di</strong> database che, riferendosi al modello <strong>di</strong> dati relazionale,<br />
organizza le informazioni utilizzando particolari strutture dati, chiamate TABELLE.<br />
Creando tante tabelle quante sono le tipologie <strong>di</strong> informazioni da gestire, e METTENDO IN RELAZIONE TRA LORO LE<br />
TABELLE, si viene a costruire quella che è la base <strong>di</strong> dati, ovvero il database.<br />
Così facendo, invece <strong>di</strong> conservare in una unica tabelle tutte le informazioni che costituiscono il <strong>Database</strong> con una<br />
conseguente replicazioni delle stesse, le informazioni vengono sud<strong>di</strong>vise per tipologie e memorizzate in tabelle <strong>di</strong>verse, che<br />
sono però unite tra loro attraverso un "legale logico", ovvero una RELAZIONE.<br />
file:///E|/DIDATTICA/CORSI_2012-2013/appunti_informatica_2012-13/06_database/06-02-01.htm[30/08/2012 17:57:28]
Informatica 2012-2013 - Dott. Muzzioli Valerio<br />
LE TABELLE<br />
Una TABELLA <strong>di</strong> un database relazionale non è altro che una particolare STRUTTURA DATI le cui COLONNE prendono il<br />
nome <strong>di</strong> CAMPI, le cui RIGHE prendono il nome <strong>di</strong> RECORD.<br />
REGOLE FONDAMENTALI DA RISPETTARE:<br />
Nell'intersezione tra una riga e una colonna può esserci un solo valore, che può essere significativo o nullo<br />
Un campo deve contenere valori omogenei<br />
Non possono esistere due righe uguali<br />
Non ci possono essere nomi <strong>di</strong> colonna duplicati, ovvero campi duplicati<br />
L'or<strong>di</strong>ne nel quale le righe sono contenute nella tabella non ha importanza<br />
L'or<strong>di</strong>ne nel quale le colonne sono contenute nella tabella non ha importanza<br />
file:///E|/DIDATTICA/CORSI_2012-2013/appunti_informatica_2012-13/06_database/06-02-02.htm[30/08/2012 17:57:28]
Informatica 2012-2013 - Dott. Muzzioli Valerio<br />
INDICIZZARE UNA TABELLA<br />
INDICIZZARE una tabella significa in<strong>di</strong>viduare tra i campi appartenenti alla tabella stessa, un particolare campo ed<br />
or<strong>di</strong>nare secondo i valori <strong>di</strong> quel campo, i record presenti nella tabella.<br />
Ad esempio, in<strong>di</strong>cizzare per il campo COGNOME, significa or<strong>di</strong>nare i record per cognome<br />
L'in<strong>di</strong>cizzazione può essere fatta su più livelli; ad esempio 1) Laurea 2) Cognome<br />
file:///E|/DIDATTICA/CORSI_2012-2013/appunti_informatica_2012-13/06_database/06-02-03.htm[30/08/2012 17:57:29]<br />
.<br />
CHIAVE PRIMARIA DI UNA TABELLA<br />
Poichè non possono esistere due record uguali, bisogna prestare attenzione nella memorizzazione dei dati. Consideriamo la<br />
tabella sottostante:<br />
il solo campo "COGNOME" non permette <strong>di</strong> <strong>di</strong>stinguere in maniera univoca un record da un altro (poichè sono due record<br />
con lo stesso valore <strong>di</strong> campo). Occore quin<strong>di</strong> scegliere un altro campo che permetta questa <strong>di</strong>stinzione.<br />
Una CHIAVE PRIMARIA è un particolare campo della tabella che assume valori univoci per ogni record presente<br />
nella tabella, e quin<strong>di</strong> consente <strong>di</strong> identificare in maniera univoca i record presenti. Ad esempio, il campo<br />
MATRICOLA è può essere considerato un chiave primaria per la tabella considerata.
Informatica 2012-2013 - Dott. Muzzioli Valerio<br />
GESTIRE LE TABELLE<br />
La tabella sottostante contiene informazioni che <strong>di</strong>verse tra loro; possiamo infatti <strong>di</strong>stinguere:<br />
dati anagrafici <strong>degli</strong> studenti<br />
dati <strong>di</strong> carriera universitaria <strong>degli</strong> studenti<br />
Memorizzare nella stessa tabella informazioni non omogenee, non è funzionale dal punto <strong>di</strong> vista della gestione del<br />
DB, poichè questo richiede la replicazione delle informazioni: per tal motivo, si creano quin<strong>di</strong> <strong>di</strong>verse tabelle per ogni<br />
tipologia <strong>di</strong> informazione per poi relazionarle tra loro.<br />
ANAGRAFE STUDENTI<br />
(Matricola, Cognome, Nome, Data_Nascita, Luogo, In<strong>di</strong>rizzo, Comune, Provincia, Telefono)<br />
CORSI DI LAUREA<br />
(Co<strong>di</strong>ce_laurea, descrizione)<br />
ESAMI<br />
(Co<strong>di</strong>ce_esame, descrizione, docente)<br />
Le informazioni riportate nelle tabella sopra in<strong>di</strong>cate, ci consentono ora <strong>di</strong> andare a creare una NUOVA TABELLA che<br />
nasce dalle relazioni che si vengono a creare tra le tabelle esistenti.<br />
Pertanto le informazioni che verranno inserite nella nuova tabella-figlia, derivano da quelle riportate nelle tabelle-padre.<br />
CARRIERA STUDENTE<br />
(Matricola, co<strong>di</strong>ce_laurea, co<strong>di</strong>ce_esame, voto, data_esame)<br />
file:///E|/DIDATTICA/CORSI_2012-2013/appunti_informatica_2012-13/06_database/06-02-04.htm[30/08/2012 17:57:29]
Informatica 2012-2013 - Dott. Muzzioli Valerio<br />
file:///E|/DIDATTICA/CORSI_2012-2013/appunti_informatica_2012-13/06_database/06-02-04.htm[30/08/2012 17:57:29]<br />
.
Informatica 2012-2013 - Dott. Muzzioli Valerio<br />
RELAZIONI TRA TABELLE<br />
Le relazioni tra le tabelle possono essere create solo se per ogni tabella è definita una CHIAVE PRIMARIA.<br />
Unendo tra loro 2 o più tabelle, la chiave primaria <strong>di</strong> una tabella <strong>di</strong>venta CHIAVE ESTERNA per la tabella con la quale<br />
questa è in relazione.<br />
ANAGRAFE_STUDENTI (Matricola, Cognome, Nome, Data_Nascita, Luogo, In<strong>di</strong>rizzo, Comune, Provincia, Telefono)<br />
CORSI_LAUREA (Co<strong>di</strong>ce_laurea, descrizione)<br />
ESAMI (Co<strong>di</strong>ce_esame, descrizione, docente)<br />
CARRIERA_STUDENTI (Matricola, co<strong>di</strong>ce_laurea, co<strong>di</strong>ce_esame, voto, data_esame)<br />
Attenzione: secondo la definizione data precedentemente, ecco il nostro database non è altro che insieme <strong>di</strong> tabelle<br />
legate tra loro da relazioni, che consentono <strong>di</strong> memorizzare l'evolversi <strong>di</strong> una situazione in continuo<br />
aggiornamento: un database così creato si definisce DATABASE RELAZIONALE.<br />
TIPI DI RELAZIONI<br />
Le RELAZIONI che possono nascere tra tabelle, sono <strong>di</strong> 3 tipi:<br />
1 A 1<br />
1 A MOLTI<br />
MOLTI A MOLTI<br />
Consideriamo il <strong>Database</strong> "OSPEDALE" composto dalle seguenti tabelle:<br />
LETTO (cod_letto, reparto)<br />
PAZIENTE (SSN, nome_paziente, data <strong>di</strong> nascita,....)<br />
FARMACI (cod_farmaco, descrizione, posologia, ....)<br />
MEDICO (matricola, nome_me<strong>di</strong>co, specialità, ....)<br />
Relazioni possibili:<br />
1 A 1: ad ogni record della tabella A è associato un solo record della tabella B.<br />
Questo tipo <strong>di</strong> relazione serve per collegare tra loro dati omogenei e pertanto non viene utilizzata con frequnza. E' utile<br />
quando si vuole sud<strong>di</strong>vire in 2 tabelle, una tabella molto grande.<br />
RELAZIONE UNO A UNO (LETTO – PAZIENTE)<br />
LETTO (cod_letto, reparto)<br />
PAZIENTE (SSN, nome_paziente, data <strong>di</strong> nascita,....)<br />
file:///E|/DIDATTICA/CORSI_2012-2013/appunti_informatica_2012-13/06_database/06-03-01.htm[30/08/2012 17:57:30]
Informatica 2012-2013 - Dott. Muzzioli Valerio<br />
Paziente - Letto: un paziente occupa un solo letto.<br />
dall’associazione “uno a uno” viene derivata un’unica tabella che contiene gli attributi della prima e della seconda tabella.<br />
ANAGRAFE_SANITARIA (SSN, nome_paziente, data <strong>di</strong> nascita, cod_letto)<br />
1 A MOLTI: un record della tabella A si collega a più record della tabella B; ma i record della tabella B si<br />
collegano ad 1 solo record della tabella A.<br />
RELAZIONE UNO A MOLTI (FARMACI - PAZIENTE)<br />
FARMACI (cod_farmaco, descrizione, posologia, ....)<br />
PAZIENTE (SSN, nome_paziente, data <strong>di</strong> nascita,....)<br />
Farmaci - Paziente: lo stesso farmaco viene somministrato a più pazienti<br />
l'associazione “1 a molti” viene tradotta aggiungendo agli attributi della tabella “a molti” la chiave primaria della tabella “1”<br />
(chiave esterna).<br />
PAZIENTE (SSN, nome_paziente, data <strong>di</strong> nascita, cod_farmaco) [cod_farmaco è chiave esterna]<br />
MOLTI A MOLTI: più record della tabella A sono collegati a <strong>di</strong>versi record della tabella B.<br />
Questo tipo <strong>di</strong> relazione è possibile solo definendo una terza tabella, chiamata tabella <strong>di</strong> congiunzione, che <strong>di</strong>spone <strong>di</strong><br />
due chiavi esterne, una che punta alla chiave primaria della tabella A, l’altra che punta alla chiave primaria della tabella B.<br />
Una relazione molti a molti è quin<strong>di</strong> in realtà composta da due relazioni “uno a molti” con una terza tabella.<br />
Tale terza tabella può anche essere composta da due soli campi (le due chiavi esterne), se il suo scopo è solo quello <strong>di</strong><br />
legare le due tabelle primarie.<br />
RELAZIONE MOLTI A MOLTI (PAZIENTE – MEDICO)<br />
PAZIENTE (SSN, nome_paziente, data <strong>di</strong> nascita,....)<br />
MEDICO (matricola, nome_me<strong>di</strong>co, specialità, ....)<br />
Paziente – me<strong>di</strong>ci: un paziente può essere curato da più me<strong>di</strong>ci; lo stesso me<strong>di</strong>co cura più pazienti<br />
l'associazione “molti e molti” viene tradotta con una terza relazione (“tabella <strong>di</strong> congiunzione”) contenente le chiavi delle<br />
due entità e gli eventuali attributi dell'associazione<br />
VISITE_MEDICHE (SSN, matricola, nome_paziente, nome_me<strong>di</strong>co,...)<br />
file:///E|/DIDATTICA/CORSI_2012-2013/appunti_informatica_2012-13/06_database/06-03-01.htm[30/08/2012 17:57:30]
Informatica 2012-2013 - Dott. Muzzioli Valerio<br />
INTEGRITA' REFERENZIALE<br />
L'integrità referenziale è un insieme <strong>di</strong> regole del modello relazionale che garantiscono l'integrità dei dati quando si<br />
hanno tabelle associate tra loro attraverso la chiave esterna, cioè tramite relazioni: queste regole servono per rendere<br />
valide le associazioni tra le tabelle e per eliminare gli errori <strong>di</strong> inserimento, cancellazione o mo<strong>di</strong>fica <strong>di</strong> dati<br />
collegati tra loro.<br />
L'integrità referenziale viene rispettata quando per ogni valore non nullo della chiave esterna, esiste un valore<br />
corrispondente della chiave primaria nella tabella associata.<br />
tabella primaria : ESAMI (Co<strong>di</strong>ce_esame, descrizione, docente)<br />
tabella associata: CARRIERA_STUDENTE (Matricola, co<strong>di</strong>ce_laurea, co<strong>di</strong>ce_esame, voto, data_esame)<br />
Co<strong>di</strong>ce_esame è chiave primaria nella tabella ESAMI e chiave esterna nella tabella CARRIERA_STUDENTE<br />
Quando viene applicata l'integrità referenziale, è necessario osservare le seguenti REGOLE PRATICHE:<br />
1. non è possibile immettere un valore nella chiave esterna (Co<strong>di</strong>ce_esame) della tabella associata , se tale valore non<br />
esiste tra le chiavi della tabella primaria (ESAMI);<br />
2. non è possibile eliminare una riga della tabella primaria (ESAMI), se esistono righe legate ad essa attraverso la<br />
chiave esterna nella tabella correlata (CARRIERA STUDENTI);<br />
3. inoltre non si può mo<strong>di</strong>ficare il valore alla chiave (Co<strong>di</strong>ce_esame) nella tabella primaria (ESAMI) se ad essa<br />
corrispondono righe nella tabella correlata.<br />
file:///E|/DIDATTICA/CORSI_2012-2013/appunti_informatica_2012-13/06_database/06-03-02.htm[30/08/2012 17:57:31]
Informatica 2012-2013 - Dott. Muzzioli Valerio<br />
DBMS<br />
Un DBMS (DataBase Management System) è costituito da un insieme assai complesso <strong>di</strong> programmi software che<br />
controllano l'organizzazione, la memorizzazione e il reperimento dei dati in un database, interponendosi tra<br />
l'utente ed i dati.<br />
Un DBMS si occupa anche del controllo <strong>di</strong> sicurezza ed integrità del database, accettando richieste da parte del programma<br />
applicativo e "istruisce" il sistema operativo per il trasferimento dei dati appropriati.<br />
Questo strato interme<strong>di</strong>o fornisce una rappresentazione logica dei dati all'utente, e le applicazioni non accedono<br />
<strong>di</strong>rettamente ai dati così come sono effettivamente memorizzati, (rappresentazione fisica).<br />
Ciò permette un elevato grado <strong>di</strong> in<strong>di</strong>pendenza fra le applicazioni e la memorizzazione fisica dei dati.<br />
Si realizza l'in<strong>di</strong>pendenza logica, cioè la possibilità <strong>di</strong> mo<strong>di</strong>ficare le strutture dati senza dover mo<strong>di</strong>ficare i programmi<br />
(software <strong>di</strong> gestione) necessari al management dei dati stessi.<br />
Un DBMS è <strong>di</strong>fferente dal concetto generale <strong>di</strong> applicazione sui database, in quanto è progettato per sistemi multiutente.<br />
A tale scopo, i DBMS si appoggiano a sistemi che supportano il multitasking e il collegamento in rete. Una tipica<br />
applicazione per la gestione dei database non includerebbe, infatti, tali funzionalità, ma si appoggerebbe al sistema<br />
operativo per consentire all'utente <strong>di</strong> fruirne dei vantaggi.<br />
Integrità<br />
Il DBMS può mantenere l'integrità del database non consentendo a più utenti <strong>di</strong> mo<strong>di</strong>ficare lo stesso record<br />
contemporaneamente (blocco del record). Il database può impe<strong>di</strong>re l'immissione <strong>di</strong> due record duplicati;L'insieme <strong>di</strong> regole<br />
che determinano l'integrità e la consistenza <strong>di</strong> una base <strong>di</strong> dati prendono il nome <strong>di</strong> Vincoli <strong>di</strong> integrità referenziale.<br />
Interrogazioni e mo<strong>di</strong>fiche<br />
I linguaggi <strong>di</strong> interrogazione del database me<strong>di</strong>ante query (interrogazioni) e i generatori <strong>di</strong> report permettono agli utenti <strong>di</strong><br />
interrogare in maniera interattiva il database e <strong>di</strong> analizzarne i dati.<br />
file:///E|/DIDATTICA/CORSI_2012-2013/appunti_informatica_2012-13/06_database/06-03-03.htm[30/08/2012 17:57:31]