Modello relazionale

La maggior parte dei sistemi di dati oggi sul mercato si fonda sul modello relazionale, che fu proposto in una pubblicazione scientifica nel 1970, al fine di superare le limitazioni dei modelli all’epoca utilizzati a livello logico, che non permettevano di realizzare efficacemente la proprietà di indipendenza dei dati, già riconosciuta fondamentale.

Il Modello relazionale : struttura

Modelli logici nei sistemi di basi di dati

il modello relazionale si basa su due concetti relazione e tabelle. La notazione di relazione proviene dalla matematica in particolare dalle teorie degli insiemi, mentre il concetto di tabelle è semplice ed intuitivo , è responsabile del grande sucesso ottenuto dal modello relazionale . Infatti, le tabelle risultano naturali e comprensibili.

D’altra parte , la disponibilità di una formalizzazione semplice e precisa ha permesso anche uno sviluppo teorico.

Il Modello relazionale risponde al requisito dell’indipendenza dei dati fra il livello fisico e il livello logico, gli utenti che accedono ai dati e i programmatori che sviuppano le applicazioni fanno riferimento solo al livello logico, i dati descritti al livelllo logico sono poi realizzati per mezzo di opportune strutture fisiche, ma per accedere ai dati non è necessario conoscere le strutfisiche stesse. Il modello relazonale fu proposto alla fine degli anni 70 per permettere al livello logico una dascrizione efficace. Infatti , i modelli percedentemente proposti quella reticolare e quello gerarchica, includevano espliciti riferimenti alla sottostante struttura relativa, attraverso l’uso di puntatori e l’ordinamento fisico dei dati

Relazioni e tabelle

In matematica dati insiemi D1 e D2 si chiama prodotto cartesiano di D1 e D2 in simboli D1xD2 l’insieme delle coppie ordinate (v1,v2) tali che v1 è un elemento di D1e V2 è un elemento di D2.

Una relazione matemetica sugli insiemi D1eD2 (chiamati domini delle relazioni) è un sottoinsieme di dati D1xD2.

Poichè la base di dati dabbono essere memorizzate in sistemi di calcolo di dimensioni finita, le relazioni sono necessariamente finite.

Al tempo stesso è comodo a volte che i domini abbiano dimensioni infinita (in modo che sia sempre possibile assumere l’esistenza un valore non presente nella basa di dati). Pertanto assumeremo ove è necessario che le nostre basi di dati siano costituite da relazioni finite su domini eventualmente infiniti.

Dati n>0 insiemi D1,D2,D3…Dn il prodotto cartesiano di D1,D2,..Dn D1xD2x..XDn è costituito dall’insieme delle n-uple (V1,V2…Vn) tali che Vi appartene Di per 1<=i<=n.

Una relazione matematica su domini D1,D2,..,Dn è un sottoinsieme del prodotto cartesiano D1xD2X..XDn.

Il numero n delle componenti del prodotto cartesiano (e quindi di ogni n-upla) viene detto grado del prodotto cartesiano e della ralazione. Il numero di elementi (cioè di n-uple) della relazione viene chiamata come di solito nella teoria degli insiemi cardinalità delle relazioni.

Le relazioni (e le corrispondenti tabelle) possono essere utilizzate per rappresentare i dati di interesse per qualche applicazione.

Essa è definita con riferimento a due domini intero e stringa ognuno dei quali compare due volte. La relazione matematica è uni insieme di n-uple ordinate (V1,V2,..,Vn), con v1appartiene D1, V2app D3…VnappDn.

Con riferimento all’uso che facciamo delle relazioni per organizzare dati nelle nostre basi di dati, possiamo dire che ciascuna n-upla contiene dati tra loro collegati anzi stabilisce un lame tra loro ; ad esempio la prima n-upla stabilisce un legame fra i valori “juvents”,”lazio”,3,1) a indica che il risultato della partita tra juventus è 3 a 1

Una relazione è un insieme quindi :

  • non è definito alcun ordinamento fra le n-uple; nelle tabelle che la rappresentazione c’è per necessità un ordine ma occasionalmente due tabelle con le stesse righe ma in ordine diverso rappresentano la stessa relazione
  • le n-uple di una relazione sono distinte l’una dall’altra, in quanto tra gli elementi uguali: quindi una tabella rpp. una relazione solo se le sue righe sono una diversa dall’altra.

Al tempo stesso ciascuno n-upla è al proprio interno ordinata: l’i-esimo valore di ciascuna proviene dall i-esimo dominio. E’ cioè definiamo un ordine tra i domini che è significativo ai fini dell’interpetazione dei dati nelle relazioni: se scambiano il terzo dominio. E’ cioè definizione un ordine tra i domini che è signifivìcato cui fini dell’interpetazione dei dati nelle relazioni se scambiassimo il terzo dominio con il quarto combierebbero completamente il significato delle nostra relazione, in quanto i risulatati delle partite verrebbero invertiti. Questo accade perchè nelle relazione ciascuno dei domini interno e stringe compare due volte, le occorrenza sono distinte atttraverso la posizione : la prima occorrenza dal dominio stringa fa riferimento alle squadra di casa e la seconda a quella ospite ; analogamente le due occorrenza del dominio intero. In vari contesti dell’informatica si intende priviliggiare nozioni non posizionalii(quali quelle che permettono in un linguaggio ad alto livello ai campi di un record per mezzo di nomi semplici) rispetto a quelle posizionali(utilizzare per esempio negli array per individuare il primo elemento).

Risulta evidente come le informazioni che siano interessati a organizzare nelle relazioni delle basi di dati record: una relazione è sostanzialmente un insieme di record omogenei, cioè definiti sugli stessi campi. Nel caso dei record, a ogni campo è associato un nome, detto attributo, che descrive il ruolo giocato dal dominio stesso. Ad esempio, per la relazione relativa alle partite, possiamo esare nomi quali Squadre di Casa, Squade Ospite, Ripeticasa) nella rappresentazione tabellare utilizziamo gli attributi di una relazione (e quindi i nomi delle intestazoni delle tabelle)devono essere diversi l’uno dall’arto.

L’ordinamento degli attributi (e delle colonne nella rappresentazioni tabellare) risulta irrilevante: non è più necessario parlare di primo dominio, secondo dominio e così via, è sufficiente far riferimento agli attributi.

Per formalizzare i concetti stabiamo la corrispodenza fra attributi e domini per mezzo di una funzione DOM:X->D, che yna tupla su un insieme di attributi X è una funzione t che associa a ciscun attribito A appartiene X un valore del dominio DOM(A). Possiamo definie una relazione su X uninsieme di tuple su X.

Nella relazione matematica abbiamo n-uple i cui elementi sono individuati per posizone , mentre nelle tuple delle nuove defiiini gli elementi sono indivitduati per per mezzo di attribuiti cioè con una tecnica non posizionale

Se t è una tupla su X e AappartieneX, allora t[A] (o t[,A) indica il valore t suA.

Relazione e basi di dati

Una base di dati è costituita da più ralazioni , le cui tuple contengono valori comuni ove necessario pe stabilire corrisspondenza.

Il modello relazionale è basato sui valori: riferimenti fra dati in relazioni deverse sono rappresentati per mezzo di valori dei domini che compaiono nelle tupleVa notato che gli altri modelli logici, reticolare e gerarchico, realizzano le corrispondenze in modo aslpicito attravers puntatori e vengono pertato detti modelli basati su “escord e puntatori”

Il modello relazionale presenta diversi vantaggi:

. esso richiede di rappresentare solo ciò che è rilevante dal punto di vista dell’applicazione(dell’utente); i puntatori sono qualcosa di aggiunto legato ad aspetti realizzativi ; nei modelli con puntatori il programmatore dell’applicazione;

. la rappesentazione logica dei dati (costituita dai soli vaori) non fa alcun riferimento a quella fisica, che può anche camiare nel tempo: il modello relazionale permette quindi di ottenere l’indipendenza fisica dei dati

. Essendo tutte l’informazione contenute nei valori,, è relativamente semplice trasferire i dati da un contesto ad un altro(ad esempio se si deve trasferire una base di dati un calcolatore ad un altro) , anno un significato locale al singolo sistema, che non sempre è immediato esportare.

Vale la pena notare che anche in una base di dati relazionale, a livello fisco, i dati possono essere rappresentati secondo modalità che prevedono l’uso di puntatori. La differena, rispetto ai modelli basati su puntatori è fatto che qui i puntatori non sono visibili a livello logico.

.Uno schema di relazioni è costituito da un simbolo R, detto nome della relazione e da un insieme di nomi attribuiti x={A,A2} il tutto di solito indicatocon R(X). A ciascuno attributo un dominio come visto in precedenza.

. uno schema di basi di dati è un insieme di scemi di relazione con nomi divrsi; R={R1(X1),R2(X2), ..,Rn(Xn)}

I nomi di relazone hanno come lo scopo principale quella di distinguere le varie relazini nelle base di dati.

.una ist anza di relazione(o semplicemente relazione) su uno schema R=(X) è un insieme v di tuple di dati.

. Un’istanza di base di dati (o semplicmnti su relazione) su uno schema R={R1(X1), R2(X2), .., Rn(Xn) } è un insieme di relazini r={r1,r2,..,rn} dove ogni ri, per 1 <i <n e una relazione sullo schema Ri(xi)

notazioni

.A,B,C,A’ , A1 sono gli atttributi

.Insieme di attributi veranno indicati con lettere finali dell’alfabeto maiuscole x,y,z

X=ABC anzichè X={A,B,C}

XYanzichè AuY

XA anzichèxu{A}

R, S i nomi di relazioni

Informazione incompleta e valori nulli

Per rappresentare in modo semplice maallo stesso tempo comodo, la non disponibilità di valori, il concetto di relazione viene di solito esteso prevedendo che una tupla possa assumere, su ciascun attributo, a un valore del dominio, oppure un valore speciale, detto nullo, che denota l’assenza di informazione, ma è un valore aggiuntivo rispetto a quelli del dominio e ben destinto da essi.

Il valore nullo può essere:

. Esso sostituisce un valore ordinato, non noto alle base di dati: per questo diciamo che si tratta di un valore sconosciuto

. esso denota l’inapplicabilità dell’atttribuito o l’inestenze del valore il valore è inesistene

. Non sappiamo se il valore esista e in caso affermativo, non lo conosciamo, Ci troviamo in una situazione alle disgiuzione logica
(“or”) delle due precedenti: il valore o è inesistente oppure sconosciuto. Questo tipo di valore nullo viene di solito chiamato senza informazioni perchè non ci dice assolutamente: il valore può esistere o non esiste e se esiste on sappiamo quale sia.

La presenza di molteplici valori nulli in una relazione può addririttura generare dubbi sull’effettiva significatività e identità delle tuple. E’ evidente quindi come sia necessario controllare opportunatamente la presenza dai valori nulli nelle nosre relazioni: solo alcune configurazioni debbono essere ammesse. In genere quando si definisce una relazione è posssibile specificare che i nulli sono ammessi solo su alcuni attributi e non su altri.


Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Verificato da MonsterInsights