tipi di relazione logica
- Ricorda differenza tra modello concettuale, logico, fisico
- 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
- 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
- DOMINIO = attributo
- 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
- 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
- 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à
PROPRIETA’ TABELLA RELAZIONALE E VANTAGGI
- relazione = TABELLA che se rispetta delle proprietà:
- omogenei nel senso che se una colonna deve avere valori tutti dello stesso tipo
Al posto dei puntatori…
DEFINIZIONI
RELAZIONE MATEMATICA (insieme di ennuple)
- n-upla = una riga fatta di n tuple ()
Ecco cosa si intende (sotto) per Dominio: un elenco non ordinato di valori
- RELAZIONE (nei DBMS): qui
SCHEMA DI RELAZIONE E DI BASE DI DATI (nome di una tabella)
- 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
- lo schema di questo database è l’insieme degli schemi della tabella studenti, esami, corsi
DEFINIZIONE ENNUPLA (funzione)
ESEMPIO
ISTANZA DI RELAZIONE E DI BASE DI DATI (una volta capito cos’è lo schema, per l’istanza si vola)
- 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
- cosa fare piuttosto
- 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
VINCOLI
VINCOLI DI INTERGITA’
- DEFINIZIONE
- a cosa serve
- analisi esempio
- 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
- COME REAGISCE IL SISTEMA ALLA VIOLAZIONE DI UN VINCOLO
- esempio eliminazione a cascata (analogo per null, invece di cancellare)
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
- 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
- gli attributi sottolineati rappresentano le chiavi primaria.
- quelli con l’apice sono riferimenti che per inferenza mi dicono quali sono le chiavi primarie