Estratto del documento

Basi di dati

Modello relazionale

Il modello relazionale organizza i dati ed è basato sul concetto di relazione. E’

semplice, usa concetti intuitivi e ha indipendenza tra livello fisico e logico.

Si fonda sul concetto di relazione, che rappresenta un sottoinsieme del prodotto

cartesiano tra due domini . La definizione può essere espansa a un numero

×

D D

1 2

​ ​

infinito di domini anche non distinti.

Il prodotto cartesiano è l’insieme delle n-uple (v1, v2, …,

× × × ... ×

D D D D

1 2 3 n

​ ​ ​ ​

vn) con v appartenente a .

D

i i

​ ​

Una relazione su un dominio è un sottoinsieme del prodotto cartesiano del totale dei

domini.

Relazioni e notazione posizionale

Le relazioni sono rappresentate come tabelle; vengono usate per rappresentare i dati

di interesse nelle applicazioni. Le relazioni sono insiemi e quindi l’ordine delle n-uple

non è definito, però le n-uple sono ordinate al loro interno dato che l’i-esimo valore

proviene dall’i-esimo dominio. Cambiare l’ordine dei valori modifica il significato della

n-upla.

Attributi e tuple

Basi di dati 1

Ad ogni dominio della relazione si associa un nome simbolico detto attributo che ne

descrive il ruolo all’interno della relazione.

Una tupla è una funzione che associa a ciascun attributo un valore nel dominio.

Una relazione è un insieme di tuple su attributi.

Si ha una notazione non posizionale per quanto riguarda attributi e tuple.

Vantaggi

rappresenta solo ciò che è rilevante per l’applicazione.

non fa riferimento all’organizzazione fisica.

semplifica la portabilità.

Schemi e istanze

Uno schema di relazione R(X) è costituito da:

R = nome della relazione.

X = attributi

Un’istanza di relazione su uno schema R(X) è un insieme di tuple su X.

Valori nulli

Per rappresentare i valori nulli si ha la possibilità di avere il valore NULL, utilizzato in

tre contesti:

valore sconosciuto

valore inesistente

assenza di informazione

Vincoli di integrità

proprietà che le istanze di una base di dati devono rispettare per essere corrette per

l’applicazione.

Vincolo di dominio : fa riferimento a un singolo attributo (Voto < 30).

Vincolo di tupla : fa riferimento a una tupla in modo indipendente (Voto = 30 lode)

Vincolo intrarelazionale : coinvolge tuple della stessa relazione (univocità delle

matricole)

Basi di dati 2

Vincolo interelazionale : coinvolge tuple di relazioni diverse (numeri di matricola =

studenti).

Vincolo di integrità referenziale : un attributo di una relazione compare come chiave

primaria in un’altra.

Chiavi

Una superchiave è un insieme di attributi su cui i valori non si ripetono.

Una chiave è superchiave minimale se non contiene un sottoinsieme proprio che è

superchiave.

Vincolo di chiave : vincolo intrarelazionale che richiede che un certo insieme di

attributi sia una superchiave, cioè che non contenga ripetizioni. Il vincolo deve

essere espresso sullo schema della relazione e deve essere soddisfatto per tutte le

tuple.

L’insieme di tutti gli attributi è sempre una superchiave.

Una chiave primaria è una chiave per cui non sono ammessi valori nulli.

Algebra relazionale

OPERATORI INSIEMISTICI FUNZIONE

Unione: combina due

relazioni mantenendo gli

∪ attributi in comune

condensando i duplicati

Intersezione: combina gli

attributi in comune tra le

∩ relazioni

Sottrae gli attributi

− Esempio

Basi di dati 3

Il modello relazionale assume che le tuple di una relazione siano omogenee. Sono

quindi ammissibili solo le operazioni su relazioni definite sugli stessi attributi.

NOME OPERAZIONE FUNZIONE RISULTATO NOTE

Ridenominazione: Relazione

cambia il nome definita su un l’ordine degli

degli attributi insieme di attributi nelle

RIDENOMINAZIONE (r)

ρ B1,B2←A1,A2 lasciando attributi diverso due liste è

​ inalterati i valori da quello rilevante

delle tuple. dell’argomento.

Selezione: filtra

le tuple di una Relazione sugli

relazione stessi attributi

SELEZIONE mantenendo solo di r contenente

(

σ r)

F ​ quelle che le tuple per cui

rispettano un vale F.

criterio F.

Basi di dati 4

il numero di

tuple si riduce

quando la

proiezione

ed è una rende identiche

Proiezione: filtra relazione tuple che erano

gli attributi di una definita su Y distinte

PROIEZIONE relazione contenente

(

π r)

Y ​ mantenendo gli tutte le tuple di Il numero di

attributi in Y. r, ristrette agli tuple rimane lo

attributi in Y. stesso se e

solo se Y è una

superchiave

per r

Join

Correla dati di relazioni diverse sulla base dei valori. Si hanno due varianti:

join naturale

theta join

Se non c’è nessuna corrispondenza il risultato sarà la relazione vuota.

Join naturale

combina le tuple di due relazioni diverse sulla base di valori uguali per attributi con

nome uguale. Se ciascuna tupla di ciascun operando contribuisce al risultato si parla

di join completo. Il join esterno rimedia includendo nel risultato le tuple senza

corrispondenze (join sinistro, destro e completo).

Theta join

join condizionato da una condizione F. Un theta join in cui F è un’uguaglianza si dice

equi join.

Divisione

inverso del prodotto cartesiano.

Esempio

Basi di dati 5

Progettazione

Il ciclo di vita di un sistema informativo comprende lo studio di fattibilità, raccolta e

analisi dei requisiti, progettazione, implementazione, validazione e collaudo e

funzionamento.

Le basi di dati sono parte di un sistema informativo, spesso il ruolo centrale della

base di dati ne giustifica un processo di sviluppo autonomo; in questo caso

l’approccio si basa sui dati e la base di dati viene progettata ancora prima delle

applicazioni che la usano.

La progettazione si basa su tre fasi:

progettazione concettuale

progettazione logica

Anteprima
Vedrai una selezione di 5 pagine su 18
Appunti presi a lezione di Basi di dati Pag. 1 Appunti presi a lezione di Basi di dati Pag. 2
Anteprima di 5 pagg. su 18.
Scarica il documento per vederlo tutto.
Appunti presi a lezione di Basi di dati Pag. 6
Anteprima di 5 pagg. su 18.
Scarica il documento per vederlo tutto.
Appunti presi a lezione di Basi di dati Pag. 11
Anteprima di 5 pagg. su 18.
Scarica il documento per vederlo tutto.
Appunti presi a lezione di Basi di dati Pag. 16
1 su 18
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher giggys 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 Pavia o del prof Cusano Claudio.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community