02 - Modello Relazionale

02 - Modello Relazionale

tipi di relazione logica
  • Ricorda differenza tra modello concettuale, logico, fisico
notion image
  • nel modello gerarchico ogni puntatore può avere un solo padre costruendo una struttura ad albero
  • nel modello reticolare nn ci sono questi vincoli e si forma un grafo
  • nel modello relazionale nn c’è questa struttura a puntatori
    • nel processo di ricerca di dati, io metto in confronto i valori delle varie tabelle, quindi incrocio i dati tra le tabelle per orientarmi
RELAZIONE MATEMATICA
DEFINIZIONE RELAZIONE MATEMATICA QUI

notion image
  • Metto in relazione i domini (insiemi) con il PRODOTTO CARTESIANO: se io prendo n domini, il prodotto cartesiano su questi (non è commutativa) è l’insieme di tutte le coppie che posso creare tra un elemento di un insieme ed un elemento di tutti gli altri
  • ognuna della coppie create è una relazione
  • il primo elemento della coppia deve appartenere al primo insieme, il secondo al secondo…le posizioni contano
  • D1,D2,D3,…sono le colonne. Mentre ogni tupla è una riga della tabella
    • le tuple (coppie di elementi) sono tutte distinte
    • notion image
      notion image
    • le tuple non si ripetono
    • l’ordine di visualizzazione non è rilevante
    • ciascuna n-upla è ordinata: l’ i-esimo valore proviene dall’ i-esimo dominio
APPLICAZIONE DELLA RELAZIONE MATEMATICA NELLA TABELLA DI UN DBMS
notion image
  • nelle relazioni matematiche, la struttura delle relazioni è posizionale (da non confondere con l’ordine verticale, bensì si tratta di quello orizzontale) ad esempio qui, so che a sx ci sta chi gioca in casa e a destra chi gioca in trasferta
  • nella struttura NON posizionale, nemmeno questo è rilevante, MA in aggiunta io specifico lo schema, quindi aggiungo delle informazioni che garantiscono più flessibilità
    • notion image
PROPRIETA’ TABELLA RELAZIONALE E VANTAGGI
  • relazione = TABELLA che se rispetta delle proprietà:
    • notion image
    • omogenei nel senso che se una colonna deve avere valori tutti dello stesso tipo
notion image
Al posto dei puntatori…
notion image
notion image
DEFINIZIONI
RELAZIONE MATEMATICA (insieme di ennuple)
notion image
  • n-upla = una riga fatta di n tuple ()
Ecco cosa si intende (sotto) per Dominio: un elenco non ordinato di valori
notion image
  • RELAZIONE (nei DBMS): qui
SCHEMA DI RELAZIONE E DI BASE DI DATI (nome di una tabella)
notion image
  • attributi → relazioni → base di dati
  • attributo ← schema di relazione (una relazione, tanti attributi) ← schema di base di dati (una base di dati, tante relazioni o schemi di relazione)
  • “R di relazione” rappresenta un insieme di attributi
    • attributi ≠ valori: questi sono gli attributi
  • “R di base di dati” rappresenta l’insieme delle “R di relazione”
ESEMPIO
notion image
  • lo schema di questo database è l’insieme degli schemi della tabella studenti, esami, corsi
DEFINIZIONE ENNUPLA (funzione)
notion image
ESEMPIO
notion image
Ogni tupla può essere definita con un nome, come t. t[Nome] restituisce il valore dell’attributo Nome della tupla i posizione  t
Ogni tupla può essere definita con un nome, come t. t[Nome] restituisce il valore dell’attributo Nome della tupla i posizione t
 
notion image
notion image
ISTANZA DI RELAZIONE E DI BASE DI DATI (una volta capito cos’è lo schema, per l’istanza si vola)
notion image
  • R è lo schema (nome della tabella)
  • X in R(X) è l’insieme di attributi della tabella
  • Compositamente R(X) è lo schema
  • ennuple = valori associati agli attributi dello schema riga per riga
INFORMAZIONE INCOMPLETA
  • cosa non fare
    • notion image
  • cosa fare piuttosto
    • notion image
    • L’uso di null va bene ma non sempre. Ci sono attributi i cui valori devono sempre essere noti. Specie nei campi che ci permettono di fare l’incrocio tra tabelle
    • notion image

VINCOLI

VINCOLI DI INTERGITA
  • DEFINIZIONE
    • notion image
  • a cosa serve
    • notion image
      notion image
  • analisi esempio
    • notion image
      notion image
    • VINCOLI INTRARELAZIONALI → nella singola ennupla/valore indipendentemente dalle altre
    • VINCOLI INTERRELAZIONALI → nell’incrocio tra le 2 tabelle c’è un errore
      • ad esempio qui lo studente in verde nn è identificato nella tabella studenti
  • GESTIONE IMPLEMENTAZIONE VINCOLI
    • notion image
  • COME REAGISCE IL SISTEMA ALLA VIOLAZIONE DI UN VINCOLO
    • notion image
    • esempio eliminazione a cascata (analogo per null, invece di cancellare)
      • notion image
DISTINZIONE VINCOLI
VINCOLO DI UNICITA’: l’attributo in questione nn puoi avere record di valore uguale
VINCOLO DI CHIAVE PRIMARIA: l’attributo in questione al il vincolo di unicità MA
  • essendo identificatore dell’intera tabella, non può mai avere valori NULL (salvo casi di specifica esplicita nei vincoli) e per ogni tabella vi può essere una sola chiave primaria
VINCOLO DI INTEGRITA REFERENZIALE: riguarda il legame tra chiave primaria e chiave esterna
 
SIDE NOTES
RIASSUNTO SCHEMATIZZATO
GERARCHIA ATTRIBUTI
  • SCHEMA DI BASE DI DATI
  • SCHEMA DI RELAZIONE = CHIAVE
  • CHIAVE PRIMARIA
GERARCHIA ISTANZE
istanza di base di dati = insieme delle istanze
istanza di relazione = insieme di ennuple
ennupla = riga di valori
r = relazione = tabella con definite proprietà
R = insieme degli attributi in r
 
  • La relazione tra superchiave e superchiave minimale è interessante e fine:
    • una superchiave è minimale quando nn posso ricavare una superchiave più piccola da questa
    • in una relazione c’è una ed una sola chiave minimale e la chiave primaria prescelta può essere la stessa chiave minimale o un suo sottoinsieme
  • vincolo di chiave primaria vs vincolo di integrità referenziale
    • notion image
      notion image
    • la condizione di esistenza vale anche nel caso di una coppia di attributi che formano una chiave, la coppia deve esistere
    • ATTENZIONE: una chiave esterna non ha necessariamente il vincolo di unicità, questo solo se
      • specificato in modo esplicito con un vincolo aggiuntivo
      • oppure se associato ad una chiave primaria
APPUNTI COMPITO
notion image
  • gli attributi sottolineati rappresentano le chiavi primaria.
  • quelli con l’apice sono riferimenti che per inferenza mi dicono quali sono le chiavi primarie