SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

45
SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO Classe di Concorso: 42A Michele Brischetto Unità didattica 3: Normalizzazione delle relazioni e Gestione dei database Docente: Prof. Cantone

description

SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO Classe di Concorso: 42A. Michele Brischetto. Unità didattica 3: Normalizzazione delle relazioni e Gestione dei database. Docente: Prof. Cantone. Prerequisiti. Gli studenti devono conoscere:. - PowerPoint PPT Presentation

Transcript of SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Page 1: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER

L’INSEGNAMENTO SECONDARIO

Classe di Concorso: 42A

Michele Brischetto

Unità didattica 3: Normalizzazione delle relazioni e

Gestione dei database

Docente: Prof. Cantone

Page 2: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Prerequisiti

1. Nozioni di entità, attributo, chiave, associazione

2. Il modello E/R e le regole di derivazione del modello logico

Gli studenti devono conoscere:

Page 3: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Competenze

1. Definire relazioni normalizzate a partire da relazioni non in forma normale

2. Applicare le regole di integrità referenziale

3. Sapere cosa è un software di gestione di database (DBMS)

4. Conoscere le caratteristiche principali di un DBMS

Page 4: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

1. Cosa è la normalizzazione

2. Le varie forme normali

3. L’integrità referenziale

4. Cosa è, e cosa fa un DBMS

Contenuti

5. I linguaggi per database

Page 5: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Metodologie

Lezione frontale

Lezione dialogata

“Brainstorming”

Page 6: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Spazi

Aula

Laboratorio

Page 7: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Strumenti

Libro di testo e dispense

Computer

Proiettore

Page 8: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Colloqui individuali

Interventi di vario genere

Questionari e Test

Prove in laboratorio

Periodiche e costanti, tese sia alla valutazione globale del percorso formativo che ad una sua parte.

Vengono usate le seguenti tipologie:

Verifiche

Page 9: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Di tipo formativo (in relazione all’applicazione, all’impegno, all’attenzione, al metodo di lavoro dimostrato da ogni studente durante l’attività didattica, e alla capacità di lavorare assieme agli altri)

La valutazione sarà di due tipi:

Di tipo sommativo (ricavata dalla misurazione delle varie prove), in cui gli studenti dovranno dimostrare di:

avere acquisito conoscenze e informazioni circa i contenuti

avere maturato abilità e competenze specifiche alla disciplina

Valutazione

Page 10: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Lezione in aula

Laboratorio Verifica Recupero e/o Potenziamento

12 ore 8 ore 4 ore 6 ore

Tempi

Page 11: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

La normalizzazioneObiettivi della normalizzazione: evitare la ripetizione e la ridondanza dei dati, durante la fase di definizione della struttura di una tabella, al fine di evitare futuri problemi nelle successive fasi di trattamento della tabella stessa, tramite operazioni di modifica o cancellazione di record in essa contenuti.In pratica:Si tratta di un insieme di operazioni, tramite le quali, a partire da una data tabella (non normalizzata), vengono create nuove tabelle, seguendo opportune regole, che trasformano la tabella originaria, in altre tabelle. In ogni caso deve essere garantito che la trasformazione di una tabella in altre tabelle di forma normale superiore non provochila perdita di informazioni.

Page 12: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Concetti chiave: • chiave o chiave primaria : è un insieme di uno o più attributi che

identificano in modo univoco un record della tabella.

• Chiave candidata : è un in insieme di uno o più attributi che

possono svolgere la funzione di chiave (ci possono essere diverse

chiavi candidate, ma una sola chiave primaria).

• Attributo non chiave : è un campo della tabella che non fa parte

della chiave primaria.

• Dipendenza funzionale : indica il fatto che il valore di un attributo

A1 determina il valore di un altro attributo A2, e si indica con

A1 A2 (A1è un determinante per A2)

• Dipendenza transitiva : si ha quando un attributo A2 dipende da

un attributo A1, e l’attributo A3 dipende da A2, cioè:

se A1 A2 e A2 A3 allora A1 A3 in modo transitivo.

Page 13: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Prima forma normale

Una tabella è in 1FN se rispetta i requisiti fondamentali del modello relazionale cioè:

• Tutte le righe della tabella contengono lo stesso numero di colonne

• Gli attributi rappresentano informazioni elementari

• I valori che compaiono in una colonna sono dello stesso tipo, cioè appartengono allo stesso dominio

• Non ci devono essere due righe con gli stessi valori nelle colonne

Page 14: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Esempio di entità non normalizzata

Matricola Nome Indirizzo Familiari a carico

L’attributo Familiari a carico non è elementare in quanto è costituito da un gruppo di attributi ripetuti dello stesso tipo(i nomi dei familiari dell’ i- esimo dipendente).

Dipendenti

Page 15: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Matricola Nome Indirizzo CodiceFam NomeFam MatricolaDip

Tabelle normalizzate in 1FN

Dipendenti Familiari

Vantaggi: * Abbiamo 2 elementi distinti che rappresentano meglio la realtà. Inoltre è più facile aggiungere nuovi attributi.

* Risultano semplificate le operazioni di inserimento, cancellazione e modifica.

Soluzione: la tabella precedente viene scissa nella seguenti due tabelle

Page 16: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Seconda forma normale

Una tabella è in 2FN quando è in 1FN e tutti i suoi attributinon chiave dipendono unicamente dall’ intera chiave, cioènon possiede attributi che dipendono soltanto da una partedella chiave.

La seconda forma normale elimina la dipendenza parziale degliattributi dalla chiave e riguarda il caso di tabelle con chiavicomposte, cioè formate da più attributi.

Page 17: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Codice Magazzino Quantità LocalitàMagazzino

Es: si abbia un inventario di merci, le quali si trovano in alcuni magazzini dislocati in località diverse. Le informazioni essenziali possono essere rappresentate con la seguente tabella:

Osservazioni: • la chiave è composta, in quanto il solo codice non basta per identificare la merce, la quale può essere presente in magazzini diversi.• l’indirizzo del magazzino riguarda solo l’attributo Magazzino, quindi l’attributo “LocalitàMagazzino” dipende solo da una parte della chiave.

La tabella non è quindi in 2FN

Merci

Page 18: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

La località del magazzino è ripetuta per tutte le righe della tabella che si riferiscono a prodotti presenti in quel magazzino; se la località del magazzino cambia, ogni riga contenente merci presenti in quel magazzino dovrà essere aggiornata; La ridondanza può provocare l'inconsistenza delle informazioni perche la località potrebbe essere scritta in modo differente in righe diverse per lo stesso magazzino, oppure perché potrebbe accadere che alcuni record vengano aggiornati ed altri no; Se in un certo periodo non ci fossero merci presenti in un magazzino, non avremmo alcuna informazione sulla località del magazzino. La cancellazione di righe potrebbe quindi determinare una perdita complessiva di informazioni nella base di dati.

La tabella vista prima non è in seconda forma normale e ciò può provocare problemi di questo genere:

Page 19: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Risoluzione del problema:La soluzione consiste nel costruire nuove tabelle, a partire dalla tabella non normalizzata, togliendo dalla tabella di partenzagli attributi che dipendono solo parzialmente dalla chiave primaria.

Es: nel caso precedente otterremo:

Magazzino LocalitàMagazzinoCodice Magazzino Quantità

Merci Depositi

Queste due tabelle sono in 2FN

Page 20: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Formalizzazione del passaggio in 2FN

Data la tabella R1 (A1,A2,A3,A4,A5) in cui (A1,A2) A3 , A1 A4, A2 A5  essa non è in 2FN. ma può essere trasformata nelle seguenti tabellein 2FN:  R21(A1,A2,A3) R22(A1,A4) R23(A2,A5)

Page 21: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Osservazioni:

Il processo di normalizzazione diminuisce la ridondanza dei dati e la possibilità di inconsistenze, ma rende più complesse le operazioni di ritrovamento dei dati.

Es: supponiamo di volere conoscere la località del magazzino dove è presente una merce di cui si conosce il codice.Nella tabella non normalizzata basterà esaminare solo le sue righe, mentrenella tabella in seconda forma normale occorre congiungere le righe delledue tabelle ottenute dal processo di normalizzazione, secondo l'attributo comune Magazzino.

La normalizzazione quindi è importante nel modello di un database perchél'integrità e la consistenza dei dati sono prioritarie rispetto alla velocità di ritrovamento dei dati, che rimane comunque un fattore essenziale.

Page 22: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Terza forma normaleUna relazione è in terza forma normale (3FN) quando è in seconda forma normale e tutti gli attributi non-chiave dipendono direttamente dalla chiave, cioè non possiede attributi non-chiave che dipendono da altri attributi non-chiave. La terza forma normaleelimina quindi la dipendenza transitiva degli attributi dalla chiave.

Page 23: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Es: si consideri la gestione anagrafica di un'associazione di studenti di scuole diverse. Le informazioni più importanti siano rappresentate con la seguente tabella:  

Nome Scuola TelefonoScuola

Studenti

Osservazioni: Il nome è l'attributo chiave, e il telefono della scuola, pur essendo un’informazioneche riguarda lo studente, dipende però dalla scuola cui lo studente è iscritto.Nella tabella è quindi presente un attributo non-chiave (TelefonoScuola) che dipendeda un altro attributo non-chiave (Scuola). La tabella non è in terza forma normale in quanto l'attributo TelefonoScuola dipende solo transitivamente dalla chiave (Nome).

Page 24: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

il telefono di una scuola sarà ripetuto per ogni studente appartenente a quella scuola; se il telefono di una scuola cambia, occorrerà modificare tutte le righe contenenti studenti di quella scuola; la ridondanza può provocare inconsistenza, in quanto ci potrebbero essere numeri di telefono differenti, in righe diverse, per la stessa scuola, nel caso in cui questi siano stati scritti in modo diverso, oppure l'aggiornamento non sia stato fatto su tutte le righe; se una scuola non ha nessuno studente appartenente all'associazione, oppure gli studenti iscritti di una scuola escono tutti dall'associazione, non potremmo avere alcuna informazione sul telefono della scuola, con una conseguente perdita di informazioni.

Possibili anomalie

Page 25: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Risoluzione del problema:La normalizzazione in 3FN si ottiene scomponendo la tabella di partenza in nuove tabelle, nelle quali tutti gli attributi dipendono unicamente e direttamente dalla chiave, togliendo gliattributi non-chiave che dipendono da un altro attributo non-chiave.

Es: nel caso precedente otterremo:Nome Scuola Scuola TelefonoScuola

Studenti Istituti

Queste due tabelle sono in 3FN

Page 26: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Data la tabella R1 (A1,A2,A3,A4) in cui: A1 A2 e A2 A4 essa non è in 3FN. ma può essere trasformata nelle seguenti tabellein 3FN:  R21(A1,A2,A3) R22(A2,A4)

Formalizzazione del passaggio in 3FN

Osservazioni : anche qui la tabella iniziale è stata scomposta in più tabelle che, complessivamente, forniscono le stesse informazioni di partenza e mantengono le dipendenze tra gli attributi, ma in maniera che, in ciascuna di esse, ogni attributo dipenda direttamente dalla chiave. Vengono così evitati problemi di ridondanza e di inconsistenza dei dati.Nella scomposizione non si dovrà però avere perdita di informazioni. I dati possono poi essere ritrovati attraverso operazioni di congiunzione tra le tabelle tramite gli attributi comuni.

Page 27: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Forma normale di Boyce-Codd

Una tabella è in forma normale di Boyce-Codd (BCNF) quando è in seconda forma normale e in essa, ogni attributo dal quale dipendono altri attributi può svolgere la funzione di chiave.

Page 28: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Es1: si prenda in considerazione la gestione degli esami specialistici svolti in una clinica e si supponga che nella clinica più specialisti possano svolgere lo stesso tipo di esame. Gli esami siano identificatiattraverso un Codice Esame che è diverso per ogni specialista, in modo da distinguere tra loro i medici specialisti che svolgono lo stesso tipo di esame.Le informazioni essenziali sono rappresentate nella seguente tabella:

CodiceEsame Descrizione MedicoSpecialista

Esami

Page 29: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Osservazioni

Codice Esame è un determinante per Descrizione e per MedicoSpecialista;Descrizione è però anche un determinante per MedicoSpecialista, infattiad una Descrizione possiamo associare il medico che effettua quel tipo di esame,ma non è una chiave candidata. Infatti consideriamo le seguenti tabelle:

CodiceEsame Descrizione Descrizione MedicoSpecialista

MediciEsami

Nella seconda tabella potremmo avere più righe con lo stesso valore per l'attributoDescrizione che non può quindi diventare chiave.Con ciò possiamo concludere dicendo che la tabella di partenza è in terza forma normale, ma non è in forma normale di Boyce-Codd.

Page 30: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Esempio di tabella in forma normale di Boyce-Codd: si consideri la tabella che descrive il prezzo degli esami svolti nella clinica:

Pagamenti

CodiceEsame è determinante per Descrizione e Ticket; Descrizione è determinante perTicket. Descrizione inoltre è una chiave candidata: infatti ad una stessa descrizione corrisponde lo stesso ticket. La relazione è in forma normale di Boyce-Codd e si possono ottenere due nuove relazioni:

CodiceEsame Descrizione Ticket

CodiceEsame Descrizione Descrizione Ticket

PagamentiEsami

Stavolta nella seconda tabella Descrizione è un campo chiave ed elimina problemi in fase di aggiornamento: quando varia il valore del ticket di un esame basta modificare una sola riga nella tabella Pagamenti, anziché molte righe nella tabelle originaria.L’esempio presentato dimostra che una relazione in forma normale di Boyce-Codd èanche in terza forma normale, ma non è vero il viceversa.

Page 31: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

L’integrità referenzialeNella definizione dei concetti fondamentali del modello relazionale,oltre alla regola di “integrità sull'entità”, che non consente valori nulli per la chiave, esiste una seconda regola di integrità, detta di “integrità referenziale”.

L’integrità referenziale è un insieme di regole del modello relazionale che garantiscono l'integrità dei dati quando si hanno relazioni associatetra loro attraverso la chiave esterna: queste regole servono per rendere valide le associazioni tra le tabelle e per eliminare gli errori di inserimento, cancellazione o modifica di dati collegati tra loro.

L’integrità referenziale viene rispettata quando per ogni valore non nullo della chiave esterna, esiste un valore corrispondente della chiave primaria nella tabella associata.

Page 32: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Es: si consideri un database relazionale che contiene una tabella dei clienti e una tabella degli ordini, in cui il codice del cliente della tabella Ordini è associato alla chiave della tabella Clienti:

Codice Nome Indirizzo NumOrdine Data CodCliente

Clienti Ordini

Applicare l'integrità referenziale al database significa garantire che un valorepresente nella tabella Ordini per la chiave esterna CodCliente abbia un corrispondente valoredi Codice in una delle righe della tabella Clienti. Inoltre non si deve consentire la cancellazione di un cliente dalla tabella Clienti se ci sonorighe nella tabella Ordini che siriferiscono ad esso.

Page 33: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Formulazione generale del concetto di integrità referenziale

In generale data una tabella R1 avente come chiave l'attributo Kl e una tabella R2avente come chiave esterna KE2 associata a Kl, le regole dell'integrità referenziale impongono che ogni valore di KE2 deve avere un valore uguale di Kl in una delle righe della tabella Rl, oppure il valore di KE2 deve essere nullo.

K1 A1 A2 A3 K2 B1 B2 B3 KE2

Page 34: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Quando viene applicata l'integrità referenziale, è necessario osservarele seguenti regole pratiche:

non è possibile immettere un valore nella chiave esterna della tabella associata, se tale valore non esiste tra le chiavi della tabella primaria. È possibile, comunque, immettere un valore nullo nella chiave esterna, per rappresentare il fatto che le righe non sono correlate. Per esempio un ordine non può essere assegnato ad un cliente che non esiste nella tabella Clienti.

non è possibile eliminare una riga dalla tabella primaria, se esistono righe legate ad essa attraverso la chiave esterna nella tabella correlata. Per esempio non è possibile eliminare un cliente dalla tabella Clienti se ci sono ordini assegnati a quel cliente nella tabella Ordini.

inoltre non si può modificare, come è ovvio, il valore alla chiave nella tabella primaria, se ad essa corrispondono righe nella tabella correlata. Per esempio non è possibile modificare il valore alla chiave di un cliente se ci sono ordini per quel cliente già registrati nella tabella Ordini.

Page 35: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Osservazioni sul modello relazionale I/II Il modello relazionale risulta essere più intuitivo e più espressivo per la strutturazione dei dati, rispetto ai modelli gerarchico e reticolare. La teoria dei database relazionali è costruita a partire da sicuri fondamenti matematici e utilizza un linguaggio rigoroso: questo consente di sviluppare definizioni, teoremi e dimostrazioni. Dal punto di vista informatico presenta una grande semplicità nell'uso e nell’ imple- mentazione, anche se è relativamente più lento nella ricerca e occupa più spazio su memoria di massa rispetto ai database creati e gestiti da DBMS basati sugli altri modelli. Il trattamento dei dati avviene per gruppi di record, anziché per singoli record, come avviene nelle organizzazioni convenzionali degli archivi. Il ritrovamento delle informazioni viene realizzato operando sulle righe e sulle colonne delle tabelle, con gli operatori di selezione, proiezione e congiunzione. Le operazioni sulle tabelle producono nuove tabelle, alle quali si possono ulterior- mente applicare gli operatori. Non è necessario specificare la sequenza del percorso che deve essere seguito per accedere ai dati contenuti nel database, mentre i modelli gerarchico e reticolare sono strettamente condizionati dal tipo di cammino insito nella struttura dei dati.

Page 36: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Osservazioni sul modello relazionale II/II

L'ordine con il quale le righe compaiono nella tabella è ininfluente. Il modello relazionale ha portato poi benefici nel lavoro di progettazione dei database: il progettista di un database può infatti costruire il modello dei dati considerando con attenzione le entità, le associazioni e le dipendenze tra gli attributi nel modello della realtà. Il passaggio dal modello concettuale al modello logico può essere realizzato con semplici regole. Occorre cercare un livello equilibrato di normalizzazione, per evitare di appesantire la fase di ritrovamento dei dati con un numero eccessivo di operazioni di congiunzione tra le tabelle.

Page 37: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

La gestione del database I/IIIIl DBMS (Database Management System) è il software che consente di costruire egestire una base di dati, a partire da un progetto e da uno schema dei dati definiti a livello concettuale e tradotto poi in un modello logico dei dati.Il DBMS costituisce quindi un'interfaccia tra gli utenti di un database con le loro appli-cazioni e le risorse costituite dall'hardware e dagli archivi di dati presenti in un sistemadi elaborazione.Le sue funzioni principali sono:

Implementazione del modello logico sul sistema di elaborazione, cioè: 1: la definizione dei dati e delle strutture dati derivate dallo schema logico (tipicamente le tabelle del modello relazionale). con produzione della documentazione sul modello; 2: definizione dei sottoschemi (viste), cioè visioni del database legate alle particolari applicazioni dei singoli utenti e che consentono agli utenti di accedere ai dati che servono, ottenute attraverso proiezioni o congiunzioni; Le viste sono finestre dinamiche sulle tabelle del database, in quanto ogni modifica ai dati sulla tabella primaria si riflette sulla vista e viceversa; ) 3: organizzazione fisica dei dati sui supporti di memorizzazione, utilizzando le tecniche che ottimizzano l'occupazione della memoria di massa e i tempi di accesso alle registrazioni.

Page 38: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

La gestione del database II/III Manipolazione e interrogazione sulla base di dati, cioè: 1: inserimento dei dati nel database e trattamento dei dati già registrati con operazioni di modifica o cancellazione;

2: interfaccia tra i programmi degli utenti (scritti con i tradizionali linguaggi di programmazione) e la base di dati, utilizzando le funzionalità del DBMS per migliorare l'organizzazione dei dati e le prestazioni dei programmi nelle operazioni di ritrovamento dei dati; 3: accesso ai dati contenuti nel database per le interrogazioni, attraverso interfacce o comandi semplici che facilitano soprattutto l'utente finale non specialista.

Controllo dell'integrità dei dati: 1: integrità sulle entità; 2: integrità referenziale: 3: integrità definite dall'utente. cioè vincoli che sono specifici per un particolare database, come conseguenza di politiche commerciali dell'azienda oppure di norne legislative e fiscali.

Page 39: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

La gestione del database III/III Sicurezza e protezione: 1: garanzia di sicurezza dei dati contro i danni causati da malfunzionamenti di componenti hardware o software o da interventi dolosi;

2: protezione dei dati da eventuali danneggiamenti per garantire l'integrità dei dati, offrendo anche la possibilità di attivare procedure di recovery in caso di perdita dei dati; 3: autorizzazione degli utenti che accedono alla base di dati e protezione dei dati dagli accessi non autorizzati; 4: controllo degli accessi in modo concorrente al database da parte di più utenti.

Inoltre il DBMS si occupa della gestione del dizionario contenente le informazioni su:• nomi delle tabelle e delle colonne.• associazioni• viste.• vincoli di integrità.• utenti e proprietari.• autorizzazioni degli accessi.Il dizionario contiene quindi i metadati, cioè i dati che descrivono i dati organizzatinel database.

Page 40: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

I linguaggi per database I/IIILe funzionalità del DBMS vengono attivate dall'utente usando appositi comandi, checostituiscono a tutti gli effetti un linguaggio attraverso il quale l'utente può comunicarecon il sistema di elaborazione che gestisce il database.I comandi che il DBMS mette a disposizione possono essere classificati nelle seguenticategorie di linguaggi:

linguaggio per la descrizione dei dati, delle tabelle e delle viste, detto DDL (Data Definition Language). linguaggio detto DMCL (Device Media Control Language), cioè il linguaggio di controllo dei supporti di memorizzazione dei dati. linguaggio per il trattamento (o manipolazione) dei dati contenuti nel database. detto DML (Data Manipulation Language), che consente le usuali operazioni di accesso per inserimenti. modifiche o cancellazioni. linguaggio per fissare i vincoli di integrità, per stabilire le autorizzazioni agli accessi e i tipi di permessi consentiti agli utenti (inserimento di nuovi dati. sola lettura, modifica dei dati). detto DCL (Data Control Language). linguaggio per le interrogazioni alla base di dati, detto Query Language, che consente il ritrovamento dei dati che interessano, sulla base dei criteri di ricerca richiesti dall'utente

Page 41: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

La diffusione del modello relazionale ha poi favorito l'uso prevalente di linguaggi nonprocedurali: in questo modo l'utente non ha la necessità di conoscere ne le modalità conle quali le informazioni sono state fisicamente registrate, ne i cammini per ritrovare leinformazioni contenute nella base di dati. Le informazioni vengono ritrovate effettuandointerrogazioni e controllando il valore di verità di determinate condizioni, senza indicarele operazioni necessarie per arrivare alle informazioni richieste.

Si parla allora di linguaggio per basi di dati, intendendo un insieme completo di coman-di che consente e facilita le operazioni di definizione del database, di manipolazione deidati, e di interrogazione da parte degli utenti: vengono cioè unificate in un unico linguag-gio le funzioni dei linguaggi DDL, DMCL, DML, DCL e Query Language

I linguaggi per database relazionali si basano sulla visione tabellare dei dati, che facilital'utente in quanto non contiene nessuna informazione sul percorso per l'accesso fisicoai dati.

I linguaggi per database II/III

Page 42: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

La formulazione delle richieste di dati viene quindi semplificata, perche l'utente vieneliberato dagli aspetti riguardanti la navigazione all'interno della base di dati.I comandi del linguaggio relazionale operano inoltre su gruppi di righe o sull'interatabella, anziché su una riga per volta: con una sola richiesta possono essere trattati oritrovati molti record e non solo un record per volta, come avviene con i tradizionalilinguaggi di programmazione.

I linguaggi per database III/III

Esempi di DBMS : Access, Oracle, DB2, ecc…

Page 43: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Gli utenti I/IIUn database viene utilizzato da persone diverse, per funzioni e per applicazioni diverse:

L'Amministratore della Base di Dati (DBA, Database Administrator), con i seguenti compiti:

1. Implementazione del modello logico del database nel sistema di elaborazione sui supporti fisici delle memorie di massa;2. Gestione e trattamento dei dati (controllo di inserimenti, modifiche, cancellazioni);3. Autorizzazione degli accessi;4. Definizione delle viste per accessi parziali di utenti alla base di dati;5. Controllo dei programmi applicativi che richiedono l'uso del database;6. Manutenzione del database nel tempo, in termini di efficienza e di ottimizzazione delle risorse;7. Controllo sugli interventi di recupero, nel caso di cattivi funzionamenti, e sulle copie di salvataggio periodiche;8. Controllo della disponibilità degli spazi su memoria di massa.

Page 44: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Gli utenti II/II I programmatori, che intendono utilizzare per le loro applicazioni i dati organizzatiin un database, utilizzano un linguaggio DML, oppure comandi che sono un'estensio-ne dei tradizionali linguaggi di programmazione, oppure un linguaggio specifico perbasi di dati.

Gli utenti finali possono accedere alla base di dati attraverso i comandi di un linguaggio di interrogazione (query language), oppure, per utenti finali ancora menoesperti,attraverso interfacce software che presentano sul video un menù o icone.

Page 45: SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO

Fine