Sei sulla pagina 1di 3

Domande a risposta aperta

• A che cosa è equivalente un theta join?


Un prodotto cartesiano seguito da una selezione
• Cosa è la conservazione delle dipendenze ?
Una decomposizione conserva le dipendenze se ciascuna delle dipendenze funzionali
dello schema originario coinvolge attributi che compaiono tutti insieme in uno degli
schemi decomposti
• Cosa è la decomposizione senza perdita ?
Una relazione r si decompone senza perdita su X1 e X2 se il join delle proiezioni di
r su X1 e X2 è uguale a r stessa (cioè non contiene ennuple spurie)

ia
• Definire brevemente le differenze tra “tavola dei volumi” “tavola delle
operazioni” e degli “accessi”
Sono tre tavole che ci permettono di valutare un’analisi delle prestazioni. Nella tavola
dei VOLUMI va riportato il concetto, il tipo (E/R) ed il volume (istanza di quel concetto

ner
a regime). Nella tavola delle OPERAZIONI dobbiamo indicare il tipo (interattivo o
Bach) e la frequenza. Nella tavola degli ACCESSI, per ogni concetto che l’operazione
coinvolge ne indica il tipo di accesso (Lettura o scrittura) e il numero di accessi..
• Definire chiaramente cosa si intende per passaggio di parametri in una query
parametrica
Sono query nidificate le quali sfruttano parametri ( attributi) di una query al livello

• eg
superiore per dar luogo al loro risultato
Definire i concetti di “vincoli di tupla” e di “vincoli di integrità”.
-(VT)Esprimono condizioni sui valori di ciascuna tupla. Per esprimere vincoli di questo
tipo usiamo espressioni booleane (AND, OR, NOT).
g
-(VI)Proprietà che deve essere soddisfatta dalle istanze che rappresentano
informazioni corrette per l’applicazione. A uno schema di base di dati associamo un
insieme di vincoli e consideriamo corrette le istanze che soddisfano tutti i vincoli.
In
• Definire i concetti di “viste materializzate” e “Relazioni virtuali” e fornire un
esempio di vista in linguaggio SQL:
Le viste MATERIALIZZATE sono relazioni derivate memorizzate nella base di dati ,
hanno il vantaggio di essere immediatamente disponibili per le interrogazioni ,ma
spesso è oneroso tenerle allineate ( aggiornate ) con le relazioni da cui derivano. Le
viste VIRTUALI sono relazioni definite per mezzo di funzioni , non memorizzate nella
base di dati ,ma utilizzabili nelle interrogazioni come se lo fossero ( vengono
re

ricalcolate ad ogni interrogazione),


• Definire il concetto di vista e fornire un esempio di un impiego della stessa
Tabelle virtuali il cui contenuto dipende dal contenuto di altre tabelle di una base di
ive

dati .
create view Nomevista [ lista attributi ] as Select sql
• Definizione di algebra relazionale
Linguaggio procedurale di tipo algebrico i cui operandi sono relazioni.
• Descrivere le funzionalità dei 3 costruttori e delle 4 operazioni fornite da SQL
per operare sugli insiemi
V

Costruttori : union , intersect , except


Operazioni : in - not in , exists - not exists , any , all
Any : se risulta vero il confronto tra il valore dell’attributo per la riga e almeno uno
degli elementi restituiti dall’interrogazione ,allora la riga soddisfa la condizione
All : se risulta vero il confronto tra il valore dell’attributo per la riga e tutti gli elementi
restituiti dall’interrogazione , allora la riga soddisfa la condizione
• Fare un esempio di prodotto cartesiano tra due tabelle a 2 attributi
R1(A,B){(1,1),(1,2)} R2(C,D){(x,y),(z,y)}
R1 X R2 = R3 (A,B,C,D)= {(1,1,x,y),(1,1,z,y),(1,2,x,y),(1,2,z,y)}
• Illustrare chiaramente i diversi tipi di Join conosciuti e fornire un esempio in cui
può essere utile l’utilizzo del “Self Join”.
il join NATURALE è un operatore che correla dati in relazioni diverse sulla base di
valori uguali in attributi con lo stesso nome, il risultato è costituito da una relazione
sull’unione degli insiemi degli operandi. Segue il THETA join ovvero il prodotto
cartesiano seguito da una selezione, l’EQUI join, ovvero un theta join in cui la

1
condizione di selezione sia una congiunzione di atomi di uguaglianza con un attributo
della prima relazione e uno della seconda ed infine il prodotto cartesiano, che è un
operatore definito in relazioni che non hanno attributi in comune. Self join è il join con
se stessa di una tabella esempio quando si vuole Trovare gli A che sono associati
ad almeno 2 B.
• Illustrare l’utilizzo del costrutto SQL: “Create Domain” e fornire un esempio:
Definisce un dominio utilizzabile in definizione di relazioni, anche con vincoli e valori
di default
CREATE DOMAIN Voto as SmallInt default null CHECK (Voto>=18 and Voto <=30)
• Illustrare le differenze più rilevanti tra una base di dati relazionale ed una
classica non relazionale. Di quest’ultima fornire un esempio.

ia
Il modello relazionale è un insieme di relazioni collegate tra loro mediante nessi logici
, le singole isole di informazioni sono separate e messe in relazione mediante
informazioni comuni! , cosi facendoè molto facile organizzare le informazioni in
maniera tale da poterle recuperare il prima possibile. In una base di dati non

ner
relazionale abbiamo invece isole contenenti molteplici informazioni tra loro non
omogenee ( un classico esempio è il registro di classe dove si tiene nota di presenza ,
note , avvisi etc)
• Illustrare sinteticamente le diverse fasi in cui si suddivide la progettazione
logica di una base di dati partendo dallo schema E/R
Si suddivide in :


eg
progettazione concettuale la quale Comprende attività (interconnesse) di
acquisizione dei requisiti, analisi dei requisiti , costruzione dello schema concettuale
,costruzione del glossario
progettazione logica : si distingue in due fasi , ristrutturazione dello schema E/R e la
traduzione verso il modello logico ( nel nostro caso il modello relazionale)
g
Nel modello relazionale, qual è la definizione matematica di Join?
{t su x1x2 / t1 R1 e t2 R2 con t[x1] = t1 e t[x2] = t2}
In
• Nell’ambito dell’analisi degli indici di prestazione di uno schema E/R quali sono
i 2 parametri che regolano le prestazioni ? Per studiare questi parametri quali
sono le informazioni minime , oltre lo schema , che bisogna necessariamente
conoscere?
- costo di un operazione cioè numero di occorrenze mediamente visitate durante un
operazione sulla base di dati. Occupazione in memoria valutato in termini di mem
re

occupata per memorizzare i dati descritti dal sistema


-schema della base di dati , volume dei dati ( numero di record per ogni entità e
associazioni e dimensione di ciascun attributo) , caratteristiche delle operazioni (
frequenza , tipi di operazione e dei dati coinvolti)
ive

• Nell’ambito delle interrogazioni nidificate complesse , per quanto riguarda la


visibilità delle variabili SQL quali sono le restrizioni in termini d’uso?
Vale la regola che la visibilità delle variabili è definita all’interno della Query stessa di
appartenenza , ed è visibile anche a tutte le query nidificate all’interno della
stessa.Due query nidificate di un'altra ,che lavorano sullo stesso livello , non possono
usare l’una rispetto l’altra , le variabili introdotte nella clausola del From di ciascuna!
V

• Nella tavola dei volumi quali sono i due parametri da cui dipende il numero
delle occorrenze?
il numero di occorrenze presenti nelle entità coinvolte nelle associazioni e il numero
medio di partecipazione delle occorrenze delle entità alle occorrenze di associazioni
• Per quali operatori aggregati distinct e all non producono nessun effetto?
Max(Distinct/all nome attributo) , Min (Distinct/all nome attributo)
• Qual è il significato di distinct e all?
Distinct in una query SQL elimina i duplicati mentre All trascura i valori nulli ( è di
default )
• Qual è la definizione di prima e terza forma normale?
La PRIMA forma normale richiede che i concetti in una relazione siano omogenei
(solo proprietà direttamente associate alla chiave), la TERZA forma normale crea una
relazione per ogni gruppo di attributi coinvolti in una dipendenza funzionale, e si
verifica che alla fine una relazione contenga una chiave della relazione originaria.
• Quale è la parola chiave da usare con gli operatori insiemistici in sql per

2
ottenere la preservazione dei duplicati ? fare un esempio commentato.
ALL , un esempio potrebbe essere il nome e codf delle persone che hanno più di 20
anni e/o sono di Palermo
Select Codf , nome From Persone where anni > 20
union All
Select Codf , nome From Persone where Citta=”Palermo”
In questo caso potremmo avere persone che hanno più di 20 anni e sono di Palermo (
avremmo 2 record uguali)
• Quante e quali sono le fasi di ristrutturazione di uno schema ER?
Sono 4 , accorpamento di entità che esprimono lo stesso (o simile) concetto ,
eliminare le generalizzazioni , identificare la chiave primaria in entità che potrebbero

ia
averne più di una , analisi delle ridondanze
• Quante sono le attività che compongono il ciclo di vita di un sistema
informativo ?
studio di fattibilità (definizione costi e priorità), raccolta e analisi dei requisiti (studio

ner
delle proprietà del sistema), progettazione (di dati e funzioni) , sviluppo , validità e
collaudo (sperimentazione), funzionamento
• Definire tutti gli operatori insiemistici in algebra relazionale
Unione = L’unione di due relazioni r1 ed r2 definite sullo stesso insieme di attributi X
è indicata con r1 r2, ed è una relazione ancora su X contenente le tuple che
appartengono a r1 oppure ad r2, oppure ad entrambe.


eg
Intersezione = di r1(X) e r2(X) è indicata con r1 r2 ed è una relazione su X
contenente le tuple che appartengono sia ad r1 che a r2.
Differenza = di r1(X) e r2(X) è indicata con r1 - r2 ed è una relazione su X contenente
le tuple che appartengono a r1 e non appartengono a r2.
Cos’è una forma normale?
g
è una proprietà di una base di dati relazionale che ne garantisce la “qualità”, cioè
l'assenza di : ridondanze, comportamenti poco desiderabili durante gli aggiornamenti(
In
inserimento , cancellazione , aggiornamento)
• Cos’è la normalizzazione?
È una procedura che permette di trasformare schemi non normalizzati in schemi che
soddisfano una forma normale
re
ive
V