31.05.2013 Views

Database - Università degli Studi di Ferrara

Database - Università degli Studi di Ferrara

Database - Università degli Studi di Ferrara

SHOW MORE
SHOW LESS

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]

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!