Anteprima
Vedrai una selezione di 22 pagine su 104
Appunti di Basi di Dati con Esercizi Svolti, Monreale - Rosone Pag. 1 Appunti di Basi di Dati con Esercizi Svolti, Monreale - Rosone Pag. 2
Anteprima di 22 pagg. su 104.
Scarica il documento per vederlo tutto.
Appunti di Basi di Dati con Esercizi Svolti, Monreale - Rosone Pag. 6
Anteprima di 22 pagg. su 104.
Scarica il documento per vederlo tutto.
Appunti di Basi di Dati con Esercizi Svolti, Monreale - Rosone Pag. 11
Anteprima di 22 pagg. su 104.
Scarica il documento per vederlo tutto.
Appunti di Basi di Dati con Esercizi Svolti, Monreale - Rosone Pag. 16
Anteprima di 22 pagg. su 104.
Scarica il documento per vederlo tutto.
Appunti di Basi di Dati con Esercizi Svolti, Monreale - Rosone Pag. 21
Anteprima di 22 pagg. su 104.
Scarica il documento per vederlo tutto.
Appunti di Basi di Dati con Esercizi Svolti, Monreale - Rosone Pag. 26
Anteprima di 22 pagg. su 104.
Scarica il documento per vederlo tutto.
Appunti di Basi di Dati con Esercizi Svolti, Monreale - Rosone Pag. 31
Anteprima di 22 pagg. su 104.
Scarica il documento per vederlo tutto.
Appunti di Basi di Dati con Esercizi Svolti, Monreale - Rosone Pag. 36
Anteprima di 22 pagg. su 104.
Scarica il documento per vederlo tutto.
Appunti di Basi di Dati con Esercizi Svolti, Monreale - Rosone Pag. 41
Anteprima di 22 pagg. su 104.
Scarica il documento per vederlo tutto.
Appunti di Basi di Dati con Esercizi Svolti, Monreale - Rosone Pag. 46
Anteprima di 22 pagg. su 104.
Scarica il documento per vederlo tutto.
Appunti di Basi di Dati con Esercizi Svolti, Monreale - Rosone Pag. 51
Anteprima di 22 pagg. su 104.
Scarica il documento per vederlo tutto.
Appunti di Basi di Dati con Esercizi Svolti, Monreale - Rosone Pag. 56
Anteprima di 22 pagg. su 104.
Scarica il documento per vederlo tutto.
Appunti di Basi di Dati con Esercizi Svolti, Monreale - Rosone Pag. 61
Anteprima di 22 pagg. su 104.
Scarica il documento per vederlo tutto.
Appunti di Basi di Dati con Esercizi Svolti, Monreale - Rosone Pag. 66
Anteprima di 22 pagg. su 104.
Scarica il documento per vederlo tutto.
Appunti di Basi di Dati con Esercizi Svolti, Monreale - Rosone Pag. 71
Anteprima di 22 pagg. su 104.
Scarica il documento per vederlo tutto.
Appunti di Basi di Dati con Esercizi Svolti, Monreale - Rosone Pag. 76
Anteprima di 22 pagg. su 104.
Scarica il documento per vederlo tutto.
Appunti di Basi di Dati con Esercizi Svolti, Monreale - Rosone Pag. 81
Anteprima di 22 pagg. su 104.
Scarica il documento per vederlo tutto.
Appunti di Basi di Dati con Esercizi Svolti, Monreale - Rosone Pag. 86
Anteprima di 22 pagg. su 104.
Scarica il documento per vederlo tutto.
Appunti di Basi di Dati con Esercizi Svolti, Monreale - Rosone Pag. 91
Anteprima di 22 pagg. su 104.
Scarica il documento per vederlo tutto.
Appunti di Basi di Dati con Esercizi Svolti, Monreale - Rosone Pag. 96
Anteprima di 22 pagg. su 104.
Scarica il documento per vederlo tutto.
Appunti di Basi di Dati con Esercizi Svolti, Monreale - Rosone Pag. 101
1 su 104
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

NULL

o  sostituisce un valore ordinario, non noto alla base di dati.

Sconosciuto:

 denota l'inesistenza del valore.

Inesistente:

 non sappiamo se il valore esista e, in caso affermativo,

Senza informazione:

non lo conosciamo.

Ci troviamo di fronte ad una disgiunzione logica, l'OR.

o Nei sistemi di basi relazionali, ci troviamo spesso nel caso del valore senza

o informazione.

Se prendiamo l'esempio della tabella di esami, corsi e studenti dobbiamo fare però

o delle osservazioni:

 Un valore nullo sulla data di nascita è ammissibile perché l'informazione in

questo contesto può non essere essenziale.

 Un valore nullo su numero di matricola o codice di un corso genera invece

dei in quanto questi valori, vengono usati per stabilire correlazioni

problemi,

fra tuple di relazioni diverse.

 La presenza di valori nulli nella relazione esami, rende addirittura

le relazioni.

inutilizzabili

 È necessario controllare la presenza di valori nulli nelle nostre relazioni: solo

configurazioni devono essere ammesse.

alcune

 Quando definiamo le relazioni, possiamo specificare che i nulli sono

ammessi solo su alcuni attributi e non su altri (NOT NULL).

 Vincoli di integrità:

In molti casi, non è vero che qualsiasi insieme di tuple sullo schema rappresenti

o informazioni corrette per l'applicazione.

Prendiamo ancora una volta l'esempio di esami, corsi e studenti:

o – –

 I voti nella relazione esami dovranno essere compresi tra 0 30 o tra 18 30

se consideriamo il superamento dell'esame.

 La lode dovrà essere attribuita solo se il voto è 30.

 Gli studenti possono avere lo stesso nome e cognome ma il numero di

matricola deve essere diverso.

Allo scopo è stato introdotto il vincolo di integrità, che serve per indicare le

o informazioni corrette per l'applicazione.

Il vincolo è un predicato che associa a ogni istanza il valore:

o  True: l'istanza soddisfa il vincolo.

 False: l'istanza non soddisfa il vincolo.

I vincoli possono essere classificati in due categorie: intrarelazionale e

o interrelazionale.

Intrarelazionale:

o  Il suo soddisfacimento è definito rispetto a singole relazioni della base di

dati.

 vincolo che può essere valutato su ciascuna tupla,

Vincolo di tupla:

indipendentemente dalle altre. Una sintassi che si presta a questo tipo di

vincolo è quella delle espressioni booleane: e

AND, OR NOT.

 è riferito a singoli valori e impone

Vincolo su valori o vincolo di dominio:

una restrizione sul dominio dell'attributo (voto).

coinvolge più relazioni. È l'esempio del numero di matricola. La

Interrelazionale:

o situazione indesiderata può essere vietata richiedendo che un numero di matricola

compaia nella relazione esami solo se compare in quella studenti.

Chiave:

o  Insieme di attributi che identifica univocamente le tuple di una relazione.

Una chiave primaria non può avere valore null.

 Ciascuna relazione e ciascuno schema di relazione devono avere sempre una

chiave.

 Questo garantisce l'accessibilità a tutti i valori di una base di dati e la loro

univoca identificabilità.

 Chiavi e valori nulli:

In presenza di valori nulli non è più vero che i valori delle chiavi permettono di

o identificare univocamente le tuple delle relazioni e di stabilire i riferimenti tra tuple

di relazioni diverse.

Una relazione con valori nulli su tutte le chiavi rende impossibile stabilire se le tuple

o fanno riferimento ad uno stesso valore oppure no.

C'è quindi necessità di la presenza di valori nulli nelle chiavi delle relazioni.

limitare

o La soluzione è quella di adottare una sulla quale si vieta la presenza

chiave primaria

o di valori nulli.

Sulle altre chiavi i nulli sono in genere ammessi, salvo necessità specifiche.

o Gli che costituiscono la chiave primaria vengono indicati con una

attributi

o sottolineatura.

In quasi tutti i casi reali è possibile trovare attributi i cui valori sono identificanti e

o sempre disponibili. Quando ciò non accade, è necessario introdurre un attributo

aggiuntivo, un che viene generato e attribuito a ciascuna tupla all'atto

codice

dell'inserimento.

 Vincoli di integrità referenziale:

È anche chiamato foreign key.

o Si ha fra un insieme di attributi X di una relazione R e un'altra relazione R .

o 1 2

È soddisfatto quando i valori su X di ciascuna tupla dell'istanza di R compaiono

o 1

come valori della chiave primaria dell'istanza di R .

2

Nelle relazioni con più chiavi, è opportuno che una delle chiavi sua evidenziata come

o primaria ed è ragionevole che i riferimenti siano diretti verso di essa.

Non tutti i sistemi di gestione di basi di dati sul mercato permettono di indicare

o esplicitamente la chiave primaria, anche se alcuni permettono di specificare più

chiavi. In questi casi, il vincolo di integrità referenziale deve indicare gli attributi che

compongono la chiave a cui si fa riferimento.

ALGEBRA RELAZIONALE

Concetti principali:

 Linguaggio costituito da un insieme di operatori definiti su relazioni che producono altre

relazioni come risultati.

 I vari operatori sono:

Insiemistici:

o  Unione

 Intersezione

 Differenza

Specifici:

o  Ridenominazione

 Selezione

 Proiezione

Join:

o  Naturale

 Prodotto cartesiano

 Theta-join

Operatori insiemistici:

 Le relazioni sono insiemi, quindi ha senso definire su di esse gli operatori insiemistici

tradizionali di unione, intersezione e differenza.

 Una relazione è un insieme di tuple cioè definite sugli stessi attributi, quindi non

omogenee,

ha senso definirli con riferimento a relazioni su attributi diversi.

 Consideriamo solo le applicazioni degli operatori a coppie di operandi definite

ammissibili

sugli stessi attributi.

 relazione che contiene le tuple che appartengono ad una delle due relazioni definite

Unione:

sugli stessi attributi oppure a entrambe.

 relazione che contiene le tuple che appartengono alla prima relazione e non alla

Differenza:

seconda.

 relazione che contiene le tuple che appartengono ad entrambe le relazioni,

Intersezione:

quelle comuni.

Ridenominazione:

 Specifico operatore che consente di cambiare i nomi degli attributi in una tabella

temporanea.

 Agisce solo sullo schema e non cambia ne la cardinalità ne il numero di attributi.

 Normalmente si applica solo sul risultato finale.

 Ciò che cambia sono i nomi degli attributi, mentre i valori rimangono inalterati e associati ai

nuovi attributi.

 La è:

sintassi separati da virgole.

vecchioNome AS nuovoNome

o deve essere un attributo della relazione.

vecchioNome

o

Selezione:

 Produce un sottoinsieme delle tuple su tutti gli attributi.

 Genera decomposizioni orizzontali.

 Serve per selezionare alcune ennuple della tabella scartando le altre.

 Ha delle condizioni che possono prevedere confronti tra attributi e tra attributi e costanti.

 Le condizioni possono anche essere complesse e ottenute combinando condizioni semplici

con i connettivi logici.

 Sintassi: σ ondizione R

 Semantica:

Il risultato appare con gli attributi tipici della tabella originale.

o L'istanza del risultato è:

o  Ennuple della tabella i cui valori soddisfano la condizione.

 Cardinalità minore o uguale rispetto alla tabella originale .

 È una tabella temporanea, i nomi ed i tipi degli attributi sono ereditati dalle tabelle di basi di

dati.

Proiezione:

 Da un risultato cui contribuiscono tutte le tuple ma su un sottoinsieme degli attributi.

 Genera decomposizioni verticali, estrae alcune colonne di una tabella.

 Sintassi: π lista attri uti R

 Semantica:

Lo schema del risultato contiene attributi dello schema originale su cui si effettua la

o proiezione.

L'istanza del risultato contiene una proiezione delle ennuple originali agli attributi

o specificati.

 Se nel risultato non sopravvivono chiavi dello schema originale, possono esserci dei

duplicati.

Join:

 Il consente di correlare i dati di tabelle diverse, ma genera risultati di

prodotto cartesiano

grandi dimensioni su cui poi bisogna fare una selezione.

 Il è l'operatore che permette di correlare i dati contenuti in relazioni diverse

join

confrontando i valori contenuti in esse e usando la caratteristica del modello di essere

basato su valori.

 Esistono due versioni dell'operatore riconducibili l'una all'altra:

Join Naturale:

o  Utile per riflessioni di tipo astratto.

 Operatore binario che correla dati in relazioni diverse sulla base di valori

uguali in attributi con lo stesso nome.

 È una relazione definita sull'unione degli insiemi.

 Le tuple del risultato sono ottenute combinando tuple degli operandi con

valori uguali sugli attributi comuni.

 È molto frequente eseguire join sulla base di valori della chiave di una delle

relazioni coinvolte, esplicitando i riferimenti fra tuple che sono realizzati per

mezzo di valori soprattutto di chiavi.

 In molti di questi casi è anche definito un vincolo di integrità referenziale.

Theta-join:

o  Più rilevante dal punto di vista pratico.

 Un ha solitamente poca utilità perché concatena tuple

prodotto cartesiano

non necessariamente correlate semanticamente e viene spesso seguito da

una selezione che centra l'attenzione su tuple correlate secondo le esigenze.

 Viene spesso definito un esprimibile per mezzo di altri

operatore derivato

operatori, come prodotto cartesiano seguito da una selezione.

 theta-join in cui la condizione di selezione è una congiunzione di

Equi-join:

atomi di uguaglianza con un attributo della prima relazione e uno della

seconda.

 È importante perché la maggior parte dei DBMS non usa nomi di attributo

per correlare le relazioni.

 Il permette di elaborare in modo semplice riflessioni che sono

join naturale

estendibili all'equi-join.

Join completi e incompleti:

 Completo:

Ciascuna tupla di ciascuno degli operandi contribuisce ad almeno una tupla del

o risultato.

Proprietà non sempre verificata perché richiede una corrispondenza tra le tuple

o delle due relazioni.

 Incompleti o dangling:

Alcune tuple degli operandi non contribuiscono al risultato perché la relazione non

o contiene tuple con gl

Dettagli
A.A. 2015-2016
104 pagine
2 download
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher roberta.voleri di informazioni apprese con la frequenza delle lezioni di Basi di dati e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Pisa o del prof Monreale Anna.