Il modello di dati relazionali è un approccio unico alla gestione dei parametri utilizzando la struttura e il linguaggio secondo la logica del predicato a ordine singolo. Fu descritto per la prima volta nel 1969 dallo scienziato inglese Codd. In questo progetto, tutti i parametri sono presentati come tuple raggruppate in determinate relazioni.
Lo scopo del modello di dati relazionali…
…fornisce un metodo dichiarativo per specificare modelli e query.
Gli utenti annotano direttamente quali informazioni contiene il database e quale teoria vogliono da esso. E lascia anche che il software di gestione del database si occupi di descrivere le strutture per archiviarlo. Anche la procedura di recupero delle informazioni per rispondere alle richieste è importante.
La maggior parte degli RDB utilizza definizioni di dati SQL e un linguaggio di ricerca. Questi sistemi implementano ciò che può essere visto come un'approssimazione ingegneristicamodello relazionale.
Una tabella in uno schema di database SQL corrisponde a una variabile di predicato. I vincoli chiave e le query SQL corrispondono ai predicati.
Tuttavia, tali database si discostano dal modello relazionale in molti dettagli e Codd si è opposto con veemenza ai cambiamenti che compromettono i principi originali.
Panoramica
L'idea principale del modello di dati relazionali è la descrizione dell'intero database come un insieme di predicati per la componente finale delle variabili, descrivendo le restrizioni sui possibili valori e le loro combinazioni. Il contenuto in un dato momento è il modello (logico) finale. Cioè, un insieme di relazioni, una per variabile predicato, in modo che tutte le componenti siano soddisfatte. Questo è il modello di dati relazionali.
Alternative
Altri modelli sono sistemi gerarchici e di rete. Alcuni di essi, che utilizzano architetture precedenti, sono ancora diffusi nei data center ad alta capacità. O nei casi in cui i sistemi esistenti sono così complessi e astratti che il passaggio ad essi utilizzando il modello relazionale sarebbe proibitivo. E anche degni di nota sono i nuovi database orientati agli oggetti.
Attuazione
Ci sono stati diversi tentativi per ottenere la vera materializzazione di RMD, originariamente definita da Codd e spiegata da altriscienziati.
Il modello di rappresentazione dei dati relazionali era il principale nel suo genere, descritto in termini matematici formali. Le basi gerarchiche e di rete esistevano prima dei sistemi relazionali, ma le loro specifiche erano relativamente informali. Una volta definita la RMD, sono stati fatti molti tentativi per confrontare e confrontare diversi modelli, e questo ha portato a descrizioni più rigorose dei primi sistemi. Sebbene la natura procedurale delle interfacce di manipolazione dei dati per i database gerarchici e di rete limitasse le possibilità di formalizzazione.
Temi
Il presupposto fondamentale sul concetto di modello di dati relazionale è che sono tutti rappresentati come una "p" matematica - relazioni tipiche, "Cn" - una relazione a coppie, che è un sottoinsieme nel prodotto cartesiano di diversi domini. Nel modello matematico, il ragionamento su tali dati viene effettuato in una logica predicativa a due valori, il che significa che per ogni frase ci sono due possibili valutazioni: o vero o falso (e non c'è un terzo valore, come sconosciuto o non applicabile, ognuno dei quali è spesso associato al concetto di 0). I dati vengono elaborati utilizzando il calcolo o l'algebra, che sono equivalenti in termini di potenza espressiva.
Tipi di modelli di dati, modello di dati relazionali
RMD consente allo sviluppatore di creare una visualizzazione logica e coerente delle informazioni. Tutto ciò si ottiene incorporando i vincoli dichiarati nella progettazione del database, comunemente indicato come schema logico. La teoria è di sviluppare un processonormalizzazione del modello, per cui un progetto con determinate proprietà desiderate può essere selezionato da un insieme di alternative logicamente equivalenti. Nei piani di accesso e in altre implementazioni e operazioni, i dettagli sono gestiti dal motore DBMS e non si riflettono nel modello logico. Ciò è in contrasto con la pratica comune in cui l'ottimizzazione delle prestazioni spesso richiede modifiche alla funzione logica.
Il modello dei dati relazionali di base rappresenta un elemento costitutivo: è un dominio o un tipo di informazione, solitamente ridotto al minimo. Una tupla è un insieme ordinato di valori di attributo. E loro, a loro volta, sono una coppia reciproca di nome e tipo. Può essere un valore scalare o più complesso.
Una relazione è composta da un'intestazione e un corpo
Il primo è un insieme di attributi.
Il corpo (con l'ennesima relazione) è un insieme di tuple.
L'intestazione della tangenza è anche l'oggetto di ogni struttura.
Il modello di dati relazionali è definito come un insieme di n-tuple. Sia in matematica che in MRD, un insieme è una raccolta non ordinata di elementi univoci non duplicati, sebbene alcuni DBMS impongano una sequenza ai loro dati. In matematica, una tupla ha un ordine e consente la duplicazione. EF Codd ha originariamente impostato tuple usando questa definizione matematica.
In seguito una delle grandi idee di E. F. Codd fu che usare i nomi degli attributi invece di ordinare sarebbe stato molto più conveniente (in generecaso) in un linguaggio informatico basato sulla relazione. Questa affermazione è utile ancora oggi. Sebbene il concetto sia cambiato, il nome "tupla" non è stato trasformato. Una conseguenza immediata e importante di questa distinzione è che nel modello relazionale il prodotto cartesiano diventa commutativo.
Una tabella è una rappresentazione visiva comune delle relazioni. Una tupla è simile al concetto di stringa.
Relvar è una variabile denominata di un particolare tipo di tangente a cui è sempre assegnata una relazione di quel tipo, sebbene lo sguardo possa contenere tuple nulle.
Nozioni di base sul modello dei dati relazionali: tutte le informazioni sono rappresentate da valori informativi nelle relazioni. Secondo questo principio, la base relazionale è un insieme di relvar e il risultato di ogni query è rappresentato come una tangenza.
La coerenza di un database relazionale non è imposta da regole integrate nelle applicazioni che lo utilizzano, ma piuttosto da vincoli dichiarati come parte dello schema logico e applicati dal DBMS per tutte le applicazioni. Le restrizioni sono espresse nell'uso di operatori di confronto relazionale, di cui solo uno è un sottoinsieme (⊆), teoricamente sufficienti. In pratica, ci si aspetta che siano disponibili diverse scorciatoie utili, di cui le chiavi candidate e i vincoli di origine esterna sono i più importanti. Ecco di cosa tratta il modello di dati relazionali.
Interpretazione
Per apprezzare appieno l'RMD, è necessario comprendere l'interpretazione volutacome relazione.
Il corpo di un tocco è talvolta chiamato estensione. Questo perché dovrebbe essere interpretato come un aumento di alcuni predicati. Questo è l'insieme delle frasi vere che si possono formare sostituendo ogni variabile libera con un nome.
C'è una corrispondenza biunivoca tra i modelli di dati relazionali a oggetti. Ogni tupla del corpo della relazione fornisce valori di attributo per istanziare il predicato sostituendo ciascuna delle sue variabili libere. Il risultato è un'affermazione considerata vera a causa del verificarsi di una tupla nel corpo della relazione. Al contrario, ogni processo il cui titolo corrisponde al nome della relazione ma non appare nel corpo è considerato falso.
Questa ipotesi è nota come ipotesi del mondo chiuso. Viene spesso violato nei database pratici, dove l'assenza di una tupla può significare che la verità della frase corrispondente è sconosciuta. Ad esempio, l'assenza di determinati termini ("Giovanni", "Spagnolo") nella tabella delle competenze linguistiche potrebbe non essere necessariamente la prova che un ragazzo di nome Giovanni non parla spagnolo.
Applicazione ai database, teoria della normalizzazione
L'oggetto dell'informazione utilizzato in un tipico RDM relazionale potrebbe essere un insieme di numeri interi, un insieme di stringhe di caratteri che compongono le date, o due booleani vero e falso e così via. I nomi dei soggetti corrispondenti per queste figure possono essere stringhe con i nomi "Indice", "Fai il lavoro necessario","Time", "Boolean" e così via.
Tuttavia, è importante capire che la teoria relazionale non specifica quali tipi dovrebbero essere supportati. Ed è proprio vero, attualmente si prevede che le disposizioni saranno disponibili per le entità personalizzate in aggiunta a quelle integrate fornite dal sistema.
Attributo
Questo è il termine usato in teoria per quella che di solito viene chiamata colonna. Allo stesso modo, tabella è comunemente usata al posto del termine teorico tangenza (sebbene non sia affatto sinonimo di relazione in SQL). La struttura dei dati di una tabella è specificata come un elenco di definizioni di colonna, ciascuna con un nome di colonna univoco e il tipo di valori consentiti.
Il valore dell'attributo è una voce in una posizione specifica, come John Doe e 35.
Una tupla è fondamentalmente la stessa di una riga, tranne che in SQL RDBMS, dove i significati delle colonne in una riga sono ordinati, le tuple non sono separate. Invece, ogni valore di definizione è identificato esclusivamente dal suo nome, non dalla sua posizione ordinale nella tupla. Il nome dell'attributo può essere Nome o Età.
Atteggiamento
È una tabella di definizione della struttura insieme all'aspetto dei dati in quella struttura. La definizione è l'intestazione e i dati in essa contenuti sono il corpo, un insieme di righe. La variabile di relazione è generalmente chiamata tabella principale. Il titolo del valore ad esso assegnato inqualsiasi momento corrisponde a quello specificato nella cella data, e il suo corpo corrisponde a quello che è stato assegnato l'ultima volta, invocando qualche istruzione di aggiornamento (di solito INSERT, UPDATE o DELETE).
Formulazione della teoria degli insiemi
I concetti base nel modello relazionale delle relazioni sono i nomi ei nomi degli attributi. Devono essere rappresentati come stringhe come "Persona" e "Nome" e di solito dovranno utilizzare variabili per estenderli. Un altro concetto di base è un insieme di valori atomici che contiene significati necessari e importanti come numeri e stringhe.