Sei sulla pagina 1di 7

1.

Illustrare informalmente il modello relazionale e spiegare quali sono i principi suoi vantaggi.

Il modello relazionale è un modello logico di rappresentazione o strutturazione dei dati di un


database implementato su sistemi di gestione di basi di dati

i vantaggi sono:
• semplice rappresentazione dei dati, si usano i linguaggi dichiarativi
• Facilità con cui possono essere espresse interrogazioni anche complesse

2. Dare la definizione formale di chiave nel modello relazionale

Sia S(A1, . . . , An) uno schema di relazione. Un insieme X ⊆ US è chiave di S se verifica entrambe
le seguenti proprietà:
I. qualunque sia lo stato di S, non esistono due tuple distinte di S che abbiano lo stesso valore
per tutti gli attributi in X;
II. nessun sottoinsieme proprio di X verifica la proprietà 1 (in altre parole, l’insieme X non
contiene attributi “superflui”).
Le chiavi identificano le singole tuple di una relazione, quindi:
• garantiscono l’accessibilità a ciascun dato della base di dati;
• permettono di correlare dati appartenenti a relazioni diverse.

3. spiegare cosa sono il DDL, DML, e SDL ed mostrarne le principali funzionalità e comandi
principali

DDL : è un linguaggio SQL , che permette di creare, modificare o eliminare gli oggetti in un
database ovvero agire sullo schema di database.
CREATE→ crea lo schema
ALTER → modifica lo schema
DROP → cancella lo schema
DML: è un linguaggio SQL che consente di leggere, inserire, modificare o eliminare i dati
INSERT → inserisci il dato
UPDATE → aggiorna il dato
DELATE → cancella il dato
SELECT → seleziona il dato
SDL: Storage Definition Language

4. spiegare cosa significa indipendenza logica e fisica in una base di dati

in primis un database mantiene diversi livelli di astrazione dei dati. Il livello più basso è detto
livello fisico (o interno) e descrive come i dati sono fisicamente archiviati. Il livello superiore è
detto livello logico e descrive quali dati sono archiviati e quali vincoli di integrità essi devono
soddisfare.
l’indipendenza logica permette di accedere ai dati logici indipendentemente dalla loro
rappresentazione fisica.
L’indipendenza fisica significa che l’amministratore del database può modificare lo schema fisico
del database senza alterare lo schema logico e le viste

http://ilprofdinformatica.altervista.org/classe5/dbms_indipendenza.htm
5. dare la definizione formale di chiave esterna nel modello relazionale
siano:
• S e S’ due relazioni
• Y ⊆ US′ una chiave per S′ ;
• X ⊆ US un insieme di attributi di S tale che Y e X contengano lo stesso numero di attributi e
che questi ultimi abbiano domini compatibili
X è una chiave esterna di S su S ′ se, qualsiasi siano gli stati di S ed S ′ , per ogni tupla t di S esiste
una tupla t ′ di S ′ tale che t[X] = t ′ [Y ].
Allora:
• S viene detta relazione referente;
• S′ viene detta relazione riferita.

6. spiegare cos’è l’integrità referenziale e quali sono i modi per gestirla in SQL
l’integrità referenziale è un vincolo di integrità di tipo interrelazione. Nei database relazionali,
affinché sia rispettata l’integrità referenziale, ogni campo in una tabella che sia stato dichiarato
come foreign key può contenere solo valori della chiave primaria o chiave candidata di una tabella
“madre” relazionata

1. illustrare le differenze tra metodologia top down, bottom up e mista per la progettazione di
una base di dati
top-down : si definisce uno schema “scheletro”, contiene i concetti principali, poi si includono gli
altri concetti mediante raffinamenti successivi.
Bottom-up : si dividono le specifiche in sotto-aree con un livello di complessità gestibile, si
realizza un diagramma ER (già dettagliato) per ciascuna di esse, e infine si integrano
progressivamente i vari diagrammi, fino a costruire un singolo diagramma completo;
mista: si usa uno schema scheletro per definire le sotto-aree delle specifiche, poi ciascuna di esse
viene dettagliata con un approccio bottom-up.

2. spiegare ad alto livello la frase di progettazione logica per un database relazionale.

La progettazione logica consiste nella traduzione dallo schema concettuale a uno schema
logico, definito in base al modello logico del DBMS adottato. Ad esempio, se si utilizza un
DBMS relazionale l’output di questa fase è un insieme di relazioni

durante la progettazione logica, vengono anche considerati gli aspetti di: Integrità, sicurezza,
efficienza.

3. spiegare come si traducono le relazioni uno a molti in un modello relazionale

Un’associazione binaria A tra le entità E1 ed E2 (o unaria, che equivale a una binaria con E1
= E2) si classifica, in base alla cardinalità massima con cui partecipano le due entità

- uno a molti, se E1 ha cardinalità massima = 1 ed E2 ha cardinalità massima = n, o


viceversa

E1 E2
1. illustrare le fasi della progettazione di una base di dati descrivendo per ognuna di esse:
input,output e le principali operazioni condotte.

Raccolta e analisi dei requisiti:vengono definite le caratteristiche della base di dati e del
dominio, dando in output un documento di specifica dei requisiti.

Progettazione concettuale: La progettazione concettuale viene introdotta per affrontare la


progettazione della base di dati a un livello di astrazione più alto, con una visione libera dai
limiti di dello schema logico, che verranno invece affrontati in seguito.
Questa fase usa un opportuno modello concettuale per definire lo schema concettuale della
base di dati, cioè una descrizione formale e ad alto livello del suo contenuto.
viene prodotta in output lo schema concettuale Documentazione.

Progettazione logica: La progettazione logica consiste nella traduzione dallo schema


concettuale a uno schema logico, definito in base al modello logico del DBMS adottato.
Viene prodotto in output lo schema logico Documentazione

Normalizzazione:Dopo la progettazione logica, si usano appositi strumenti formali per


verificare la qualità dello schema logico prodotto. Tale attività può portare a una
ristrutturazione dello schema. Produce in output lo Schema logico normalizzato
Documentazione .

Progettazione fisica:
In questa fase, vengono effettuate alcune scelte riguardo alla memorizzazione fisica dei dati
(ad esempio, gli indici). L’output è lo schema fisico, che descrive le strutture di
memorizzazione e accesso ai dati.

2. Spiegare cosa sono gli identificatori in uno schema ER ed illustrare, anche tramite degli
esempi le loro tipologie.

Un identificatore per un’entità è un insieme di attributi (e/o altre entità) che identificano
univocamente le istanze di tale entità.

Un identificatore per un’entità si dice:


• interno: se è formato da uno o più attributi dell’entità
• esterno: se è costituito da una o più altre entità che sono associate a questa;
• misto se comprende sia attributi che entità associate.
A seconda del numero di elementi che lo compongono, un identificatore può essere:
• semplice: un solo elemento
• composto: più di un elemento
3. Con riferimento al modello ER, dare la definizione e degli esempi di associazioni binarie
uno a uno , uno a molti e molti a molti a molti
1. spiegare cosa sono le viste, a cosa servono, dare il comando SQL, per la loro definizione e
cancellazione, spiegando le varie clausole in esso contenute.

Una vista è una relazione virtuale: il suo contenuto (tuple)


• è definito mediante un’interrogazione sulla base di dati, e dipende quindi dal contenuto di
altre relazioni;
• non è memorizzato fisicamente (“materializzato”), bensì viene ricalcolato ogni volta che si
usa la vista.
Si dice invece relazione di base una relazione che non è una vista.
• semplificare l’accesso ai dati
• fornire indipendenza logica, cioè nascondere agli utenti della base di dati eventuali
modifiche dello schema logico;
• garantire la protezione dei dati, autorizzando agli utenti ad accedere a una vista MA NON
ALLA TABELLA SOTTOSTANTE

• <nome vista> = nome della vista


• <interrogazione> = è l’interrogazione di definizione della vista, la cui clausola di proiezione
(SELECT) determina il numero e i domini delle colonne della vista
• <lista nomi colonne> = è una lista di nomi da assegnare alle colonne della vista.

DROP VIEW <nome vista>

2. Illustrare brevemente le principali soluzioni per lo sviluppo di applicazioni che si


interfacciano ad un DBMS discutendone vantaggi e svantaggi.
Esistono due approcci :
• clinet-side
◦ maggiore indipendenza dal DBMS utilizzato;
◦ minore efficienza, perché la comunicazione tra l’applicazione e il DBMS, necessaria per
l’esecuzione di ogni singola operazione, ha un costo.
▪ Esso funziona bene se le operazioni da effettuare sul DBMS sono prevalentemente
semplici.
• server-side
◦ dipendenza dal DBMS utilizzato, poiché le estensioni procedurali non sono standard;
◦ maggiore efficienza, perché è possibile eseguire interazioni più complesse e “dinamiche”
con il DBMS direttamente da SQL, evitando di dover comunicare con l’applicazione per
ogni operazione;
◦ minore espressività, perché le estensioni procedurali di SQL non comprendono tutti i
costrutti disponibili in un linguaggio generico.
▪ Quest’approccio viene tipicamente adottato da nuove applicazioni che richiedono
una forte interazione con il DBMS.
3. Spiegare ad alto livello come vengono valutati vincoli e query SQL definiti su relazioni che
contengono tuple con valori nulli.

4. Spiegare cos’è una transazione e quali sono le proprietà che il DBMS garantisce alla sua
esecuzione
Una transazione è una sequenza di operazioni su una base di dati alla quale si vogliono associare
particolari caratteristiche di correttezza, robustezza e isolamento, anche in presenza di accessi
concorrenti.

PROPRIETA’ DELLE TRANSAZIONI


• atomicità
◦ Le operazioni di una transazione devono essere trattate come una singola unità: o
vengono eseguite tutte, oppure non ne viene eseguita alcuna.
• Consistenza
◦ Una transazione deve agire sulla base di dati in modo corretto. Deve rispettare i vincoli
di integrità
• isolamento
◦ L’esito di una transazione non deve essere influenzato dall’esecuzione contemporanea di
altre transazioni
• persistenza, o durabilità
◦ I risultati di una transazione che ha effettuato il commit devono essere resi permanenti
nella base di dati, nonostante possibili malfunzionamenti del sistema.

1. Illustrare l’architettura a 3 livelli di un DBMS

livello esterno:
• rappresenta la visione del database da parte dell’utente
• descrive quella parte del database che è importante per il singolo utente o per un
gruppo di utenti

Livello logico:
• rappresenta la visione complessiva del database dal punto di vista logico,
indipendentemente dalle modalità e dalle tecniche di memorizzazione dei dati.

livello Interno:
• la rappresentazione fisica del database nel computer. La descrizione di questo livello
fornisce informazioni in merito alla realizzazione concreta del livello logico.
2. spiegare la differenza tra schema ed istanza di una base di dati e quali sono i principali
comandi SQL per la loro gestione

Si definisce schema di una base di dati, quella parte della base di dati stessa che resta
sostanzialmente invariata nel tempo, in quanto è costituita dalle caratteristiche dei dati
descrivendone cioè la struttura

Si definisce istanza di una base di dati, quella parte della base di dati stessa che è variabile
nel tempo, in quanto è costituita dai valori effettivi dei dati

3. illustrare qual è il procedimento logico con cui DBMS risolve query che contengono
funzioni di gruppo

Potrebbero piacerti anche