Modello Relazionale - PowerPoint PPT Presentation

1 / 19
About This Presentation
Title:

Modello Relazionale

Description:

Title: Programma del Corso di Basi di Dati Author: Stefano Cagnoni Last modified by: Stefano Cagnoni Created Date: 10/7/1999 1:27:30 PM Document presentation format – PowerPoint PPT presentation

Number of Views:55
Avg rating:3.0/5.0
Slides: 20
Provided by: Stefan284
Category:

less

Transcript and Presenter's Notes

Title: Modello Relazionale


1
Modello Relazionale
  • Proposto agli inizi degli anni 70 da Codd
  • Finalizzato alla realizzazione dellindipendenza
    dei dati
  • Unisce concetti derivati dalla teoria degli
    insiemi (relazioni) con una rappresentazione dei
    dati di tipo tabellare
  • Attualmente è il modello più utilizzato

2
Modello relazionale
  • Teorizzato per separare il più possibile il
    livello logico dal livello fisico della
    descrizione dei dati
  • Rigoroso modello matematicopermette un elevato
    grado di astrazione
  • Rappresentazione semplice ed intuitivaLe
    relazioni ed i risultati delle operazioni su di
    esse sono facilmente rappresentabili ed
    interpretabili dagli utenti.

3
Relazione tre accezioni
  • relazione matematica come nella teoria degli
    insiemi
  • relazione (dallinglese relationship) che
    rappresenta una classe di fatti, nel modello
    Entity-Relationship tradotto anche con
    associazione o correlazione
  • relazione secondo il modello relazionale dei dati

4
Relazioni - Prodotto Cartesiano
  • Dati due insiemi D1 e D2 si definisce Prodotto
    Cartesiano di D1 e D2, e si indica con D1 X D2,
    linsieme delle coppie ordinate (v1, v2) tali che
    v1 sia un elemento di D1 e v2 sia un elemento di
    D2 .
  • Es. Dati gli insiemiA cubo, cono e
    Brosso, verde, blu
  • il loro prodotto cartesiano è(cubo,rosso),(con
    o,rosso),(cubo,verde), (cono,verde),(cubo,blu),(c
    ono,blu)

5
Relazioni
  • Una relazione matematica su due insiemi D1 e D2 è
    un sottoinsieme di D1 X D2.
  • NOTA a livello formale gli insiemi possono
    essere infiniti, a livello pratico non possiamo
    però considerare relazioni infinite.
  • Es. dati gli insiemi visti, una possibile
    relazione è
  • (cubo,rosso),(cono,rosso),(cubo,blu)
  • o, in forma tabellare,

6
Relazioni
  • Le definizioni viste per 2 insiemi possono essere
    generalizzate a n insiemi. Ogni riga della
    tabella sarà allora una n-pla ordinata di
    elementi.
  • n è detto grado del prodotto cartesiano e quindi
    della relazione. Il numero di elementi della
    relazione è detto cardinalità della relazione.
  • Un insieme può apparire più volte in una
    relazione.
  • Es. La relazione Risultati Partite di Calcio è un
    sottoinsieme del prodotto cartesiano
  • Stringa x Stringa x Intero x Intero

7
Relazioni
  • Osservazioni
  • Non esiste ordinamento fra le n-ple
  • Non possono esistere 2 righe uguali
  • Ogni n-pla è internamente ordinata l i-esimo
    valore proviene dall i-esimo dominio (la
    struttura e posizionale)
  • Quindi
  • se si scambiano due righe, la relazione non
    cambia
  • se si scambiano 2 colonne può cambiare o perdere
    consistenza

8
Relazioni
  • La rigidezza dellordinamento delle relazioni
    matematiche spesso non è pratica.
  • In informatica si tende ad utilizzare
    rappresentazioni non posizionali dei dati,
    utilizzando lordinamento solo quando ha utilità
    pratica (es. parametri di funzioni, elementi di
    vettori, matrici).
  • Si utilizzano i tipi strutturati (record) nei
    casi in cui si debbano raccogliere dati di natura
    differente in una stessa entità logica.
  • Una relazione è un insieme di record omogenei,
    cioè definiti sugli stessi campi.
  • Come ogni campo di un record è associato ad un
    nome, così si associa ad ogni colonna della
    relazione un attributo.

9
Relazioni
  • Esempio di relazione con attributi
  • Ogni attributo ha un suo dominio su cui è
    definito.
  • Ogni riga è detta convenzionalmente tupla
    (n-pla).
  • Quindi una tupla è un insieme di valori, uno per
    attributo, ordinati secondo lo schema della
    relazione e definiti ciascuno su un proprio
    dominio.
  • Una relazione è una serie di tuple definite sul
    dominio della relazione (insieme ordinato dei
    domini dei singoli attributi).

10
Relazioni
  • Notazione
  • Se t è una tupla definita sul dominio X della
    relazione e A è uno dei domini di X
  • tA (o t.A) è il valore di t relativo al
    dominio A
  • Es. (relazione Partite)
  • se t è la prima tupla della relazione
  • t.Casa Parma

11
Basi di dati e Relazioni
  • Consideriamo il seguente schema di basi di dati
  • Studenti (Matricola, Cognome, Nome, DataNascita)
  • Corsi (Codice, Titolo, Docente)
  • Esami (Studente, Voto, Corso)
  • Studenti contiene dati su un insieme di studenti
  • Corsi contiene dati su un insieme di corsi
  • Esami contiene dati su un insieme di esami e fa
    riferimento alle altre due attraverso i numeri di
    matricola e il nome del corso.
  • Quindi Matricola e Studente, come anche Corso e
    Titolo, sono definiti sullo stesso dominio e
    possono assumere gli stessi valori.

12
Studente
Voto
Corso
esami
3456
30
04
3456
24
02
9283
28
01
6554
26
01
13
Studente
Voto
Corso
esami
30
24
28
26
14
Basi di dati e Relazioni
  • Il modello relazionale è basato su valori.
  • I riferimenti fra dati in relazioni diverse
    avvengono attraverso i valori dei domini
    corrispondenti che appaiono nelle tuple.
  • Gli altri modelli (gerarchico, reticolare)
    utilizzano puntatori per le corrispondenze e sono
    detti basati su record e puntatori.

15
Basi di dati e Relazioni
  • Vantaggi dellapproccio per valori
  • Si inseriscono nella base di dati solo valori
    significativi per lapplicazione (i puntatori
    sono dati aggiuntivi relativi alla sola
    implementazione).
  • Il trasferimento dei dati da un ambiente ad un
    altro è più semplice (i puntatori hanno validità
    solo locale)
  • la rappresentazione logica dei dati non fa
    riferimento a quella fisica e quindi si ottiene
    lindipendenza dei dati

16
Basi di dati e Relazioni
  • Uno schema di relazione R(X) è costituito da un
    simbolo (nome della relazione) R e da una serie
    di attributi XA1, A2, , An
  • Corsi (Codice, NomeCorso, Docente)
  • Uno schema di base di dati è un insieme di
    schemi di relazione con nomi diversi
  • R R1(X1), R2(X2), , Rn(Xn)
  • Una relazione su uno schema R(X) è un insieme r
    di tuple su X.
  • Una base di dati su uno schema R R1(X1),
    R2(X2), , Rn(Xn) è un insieme di relazioni r
    r1, r2, , rn dove ogni ri è una relazione
    sullo schema Ri(Xi)

17
Informazione incompleta
  • Le tuple che compongono la base di dati devono
    essere omogenee. Quindi ad ogni attributo deve
    essere associato un valore in ogni tupla. Non
    sempre questo è possibile.
  • Es. Persone(Cognome, Nome, Indirizzo, Telefono)
  • Potrebbe esserci una persona che non ha telefono,
    o di cui non conosciamo lindirizzo.
  • Oppure

Nome
Cognome
SecondoNome
Franklin
Roosevelt
Delano
Winston
Churchill
Charles
De Gaulle
Josip
Stalin
18
Informazione incompleta soluzioni?
  • non conviene (anche se spesso si fa) usare valori
    del dominio (0, stringa nulla, 99, ...)
  • potrebbero non esistere valori non utilizzati
  • valori non utilizzati potrebbero diventare
    significativi
  • in fase di utilizzo (nei programmi) sarebbe
    necessario ogni volta tener conto del
    significato di questi valori

19
Informazione incompleta
  • Nel modello relazionale è definito un valore
    convenzionale, detto valore nullo, che indica la
    non disponibilità dellinformazione.
  • Il valore nullo può rappresentare 3 tipi di
    informazione
  • sconosciuta
  • inesistente
  • indeterminata (nei DBMS disponibili si
    considera in genere questo caso)
Write a Comment
User Comments (0)
About PowerShow.com