Database
 sql >> Database >  >> RDS >> Database

Il modello relazionale

Il modello relazionale è il più diffuso tra i modelli di dati logici ed è alla base dei database SQL.

Il Modello Relazionale si basa su due semplici concetti:

  • tabelle
  • relazioni

Il modello relazionale risale al 1969 e al lavoro di Edgar F. Codd, un informatico inglese. Anche se come programmatori di computer siamo abituati a guardare con curiosità nuove cose brillanti, vale sicuramente la pena studiare una tecnologia che può essere centrale in tutto ciò che riguarda i computer per 50 anni.

Il fatto che il modello sia basato su tabelle lo rende molto intuitivo da usare, perché siamo abituati a usare le tabelle per organizzare le cose. Pensa ad esempio a un foglio di calcolo Excel.

Con database basati su SQL, come PostgreSQL, Oracle, MySQL, SQLite e MS SQL Server, e molti altri, i dati analizzati utilizzando il modello ER possono essere modellati utilizzando il modello relazionale ed essere trasformati quasi immediatamente in un formato di database SQL, che può essere considerata un'implementazione reale del modello relazionale, ma di questo parleremo in altri post.

In questo post voglio parlare della teoria e dei concetti su cui si basa il modello relazionale, non espressi in termini matematici ma di cosa significa in pratica.

Se sei uno studente, potresti scoprire che quello che scrivo qui non è ciò che è scritto sul tuo libro di testo, ma forse puoi leggerlo più facilmente per cogliere i concetti più formali espressi nel tuo materiale didattico.

Tabelle

In un modello relazionale, una tabella è una raccolta di oggetti.

È organizzato in righe e colonne:

Nome Età
Flavio 36
Ruggero 7
Sid 6

Tuple

Ogni voce nella tabella è chiamata tupla . Puoi anche utilizzare i termini record o riga .

Una tupla rappresenta una riga della tabella, come questa:

Flavio 36

Attributi

Un attributo è un singolo elemento nella tupla.

In questo esempio:

Flavio 36

“Flavio” è un attributo. 36 è un altro attributo.

Le tuple sono uniche

Ogni tupla nella tabella è unica.

Nel modello relazionale non possiamo avere dati duplicati, il che significa che ogni riga della tabella deve essere diversa in almeno un attributo.

La chiave di relazione

La cosa che assicura che una tupla sia unica è la chiave di relazione .

La chiave è un attributo che deve identificare in modo univoco una tupla.

Se la chiave di relazione è un insieme di attributi, deve essere non ridondante . Ciò significa che se rimuoviamo uno degli attributi della chiave, la chiave non può garantirne l'unicità.

Se è possibile determinare più chiavi, una di queste verrà identificata come chiave primaria .

vincolo di integrità della chiave

Gli attributi chiave di qualsiasi tupla nella tabella devono non essere mai nulli , e non si deve mai ripetere .

Data una chiave, dobbiamo essere in grado di puntare a una tupla/riga specifica senza ambiguità.

I vincoli di dominio

Ogni attributo ha regole sul valore che può avere .

Se decidiamo di memorizzare numeri, non possiamo memorizzare stringhe, ad esempio. E potremmo decidere di non memorizzare stringhe più lunghe di 10 caratteri per i nomi.

Possiamo anche chiamare questo tipo .

Il vincolo di integrità referenziale

Se una tabella contiene riferimenti a una tabella secondaria o ad altre tuple nella stessa tabella, allora dobbiamo rispettare le regole che impediscono la rottura del riferimento.

In particolare, dobbiamo evitare di rompere il riferimento per:

  • evitando di eliminare o modificare la chiave primaria del record a cui puntiamo, nell'altra tabella.
  • evita di inserire un nuovo record con una chiave non esistente a cui puntare nell'altra tabella.
  • evita di cambiare la chiave del record a cui puntiamo, senza assicurarti che la nuova chiave esista nell'altra tabella.

Un DBMS (Data Base Management System) implementerà misure per aiutarci a implementare l'integrità referenziale.