Modello relazionale dei dati nei DBMS: Concepts & Esempio
โก Riepilogo intelligente
Il modello relazionale rappresenta un database come una collezione di relazioni, dove ogni relazione รจ una tabella di righe e colonne. Definisce i concetti fondamentali, i vincoli di integritร e le operazioni di aggiornamento che mantengono i dati relazionali coerenti e facili da interrogare.

Cos'รจ il modello relazionale?
Modello Relazionale (RM) rappresenta il database come una raccolta di relazioni. Una relazione non รจ altro che una tabella di valori. Ogni riga nella tabella rappresenta una raccolta di valori di dati correlati. Queste righe nella tabella indicano un'entitร o una relazione del mondo reale.
Il nome della tabella e i nomi delle colonne aiutano a interpretare il significato dei valori in ogni riga. I dati sono rappresentati come un insieme di relazioni. Nel modello relazionale, i dati vengono memorizzati come tabelle. Tuttavia, la memorizzazione fisica dei dati รจ indipendente dal modo in cui i dati sono organizzati logicamente.
Il modello fu proposto da E.F. Codd nel 1970 e rimane il fondamento di quasi tutti i principali database attualmente in uso. Alcuni sistemi di gestione di database relazionali diffusi sono:
- Server dinamico DB2 e Informix โ IBM
- Oracle e RDB โ Oracle
- SQL Server e accesso โ Microsoft
Modello relazionale Concepts nel DBMS
- Attributo: Ogni colonna di una tabella. Gli attributi sono le proprietร che definiscono una relazione, ad esempio, Student_Rollno, NAME, ecc.
- tabelle: Nel modello relazionale, le relazioni vengono salvate in formato tabellare. Vengono memorizzate insieme alle relative entitร . Una tabella ha due proprietร : righe e colonne. Le righe rappresentano i record e le colonne rappresentano gli attributi.
- tupla: Non รจ altro che una singola riga di una tabella, che contiene un singolo record.
- Schema di relazione: Uno schema di relazione rappresenta il nome della relazione con i suoi attributi.
- Grado: Il numero totale di attributi in una relazione รจ chiamato grado della relazione.
- Cardinalitร : Il numero totale di righe presenti nella tabella.
- Colonna: La colonna rappresenta l'insieme di valori per un attributo specifico.
- Istanza di relazione: Un'istanza di relazione รจ un insieme finito di tuple nel sistema RDBMS. Le istanze di relazione non contengono mai tuple duplicate.
- Chiave di relazione: Ogni riga possiede uno, due o piรน attributi, chiamati chiave di relazione.
- Dominio degli attributi: Ogni attributo ha un valore e un ambito predefiniti, noti come dominio dell'attributo.
Con il vocabolario a posto, la prossima preoccupazione รจ mantenerloping i dati in tali relazioni sono validi, compito che spetta ai vincoli di integritร .
Relazionale Integrity vincoli
I vincoli di integritร relazionale nei DBMS si riferiscono alle condizioni che devono essere presenti affinchรฉ una relazione sia valida. Questi vincoli relazionali derivano dalle regole del mini-mondo che il database rappresenta.
Esistono molti tipi di vincoli di integritร . I โโvincoli sui sistemi di gestione di database relazionali si dividono principalmente in tre categorie principali:
- Vincoli di dominio
- Vincoli chiave
- Referenziale Integrity vincoli
Vincoli di dominio
I vincoli di dominio possono essere violati se il valore di un attributo non compare nel dominio corrispondente o se non รจ del tipo di dati appropriato.
I vincoli di dominio specificano che all'interno di ogni tupla il valore di ciascun attributo deve essere atomico e tratto dal dominio corretto. I domini sono specificati come tipi di dati, che includono tipi standard come numeri interi, numeri reali, caratteri, valori booleani e stringhe a lunghezza variabile.
Esempio:
CREATE DOMAIN CustomerName CHECK (value NOT NULL)
L'esempio mostrato illustra come creare un vincolo di dominio in modo che CustomerName non sia NULL.
Vincoli chiave
Un attributo che puรฒ identificare in modo univoco una tupla in una relazione รจ chiamato chiave della tabella. Il valore dell'attributo per diverse tuple nella relazione deve essere unico.
Esempio:
Nella tabella fornita, CustomerID รจ un attributo chiave della tabella Customer. ร molto probabile che abbia una sola chiave per un cliente; CustomerID = 1 รจ solo per CustomerName โGoogle"Un trattamento completo dei diversi tipi di chiave รจ trattato nella guida a Chiavi DBMS.
| Identificativo del cliente | Nome del cliente | Stato |
|---|---|---|
| 1 | Active | |
| 2 | Amazon | Active |
| 3 | Mela | Inattivo |
Referenziale Integrity vincoli
I vincoli di integritร referenziale nei DBMS si basano sul concetto di chiave esterna. Una chiave esterna รจ un attributo importante di una relazione a cui si deve fare riferimento in altre relazioni. Un vincolo di integritร referenziale si verifica quando una relazione fa riferimento a un attributo chiave di una relazione diversa o della stessa relazione. Tale elemento chiave deve esistere nella tabella a cui si fa riferimento.
Esempio:
Nell'esempio precedente abbiamo due relazioni, Cliente e BillING.
La tupla per CustomerID = 1 viene referenziata due volte nella relazione Billing. Quindi sappiamo CustomerName โGoogle" ha un importo di fatturazione di 300 dollari.
Operazioni nel modello relazionale
Sul modello di database relazionale vengono eseguite quattro operazioni di aggiornamento fondamentali: inserimento, aggiornamento, eliminazione e selezione.
- La funzione Insert viene utilizzata per inserire dati nella relazione.
- Elimina viene utilizzato per eliminare le tuple dalla tabella.
- Modifica consente di modificare i valori di alcuni attributi nelle tuple esistenti.
- Seleziona consente di scegliere un intervallo specifico di dati.
Ogni qualvolta venga eseguita una di queste operazioni, i vincoli di integritร specificati nello schema del database relazionale non devono mai essere violati.
inserire Operaproduzione
L'operazione di inserimento restituisce i valori degli attributi per una nuova tupla che deve essere inserita in una relazione.
Aggiornanento Operaproduzione
Come si puรฒ notare nella tabella delle relazioni sottostante, il cliente 'Apple' รจ stato aggiornato da Inattivo ad Attivo.
Elimina Operaproduzione
Per specificare la cancellazione, una condizione sugli attributi della relazione seleziona la tupla da cancellare.
Nell'esempio precedente, il cliente "Apple" viene eliminato dalla tabella.
L'operazione di eliminazione potrebbe violare l'integritร referenziale se la tupla che viene eliminata รจ referenziata da chiavi esterne di altre tuple nella stessa banca dati.
Seleziona Operaproduzione
Nell'esempio precedente, CustomerName โAmazon" รจ selezionato.
Modello relazionale vs. modelli gerarchici e di rete
Il modello relazionale ha sostituito due approcci precedenti, e il contrasto tra di essi spiega perchรฉ sia โโdiventato dominante. La tabella seguente mette a confronto i tre modelli.
| Aspetto | Modello relazionale | Modello gerarchico | Modello di rete |
|---|---|---|---|
| Structure | Tabelle (relazioni) | Albero, dal genitore al figlio | Grafico da molti a molti |
| Accesso ai dati | Dichiarativo, per valore | Navigazione, tramite percorso | Navigazione tramite puntatore |
| Relazioni | Chiavi esterne | legami genitore-figlio | Insiemi e puntatori |
| Linguaggio di interrogazione | SQL | Codice procedurale | Codice procedurale |
| Flessibilitร | Alto | Basso | Medio |
Poichรฉ il modello relazionale gestisce i dati per valore piuttosto che tramite la navigazione di collegamenti fisici, un linguaggio di alto livello come SQL รจ possibile esprimere una query senza sapere come sono memorizzati i dati.
Migliori pratiche per la creazione di un modello relazionale
- I dati devono essere rappresentati come una raccolta di relazioni.
- Ciascuna relazione deve essere rappresentata chiaramente nella tabella.
- Le righe devono contenere dati relativi alle istanze di un'entitร .
- Le colonne devono contenere dati relativi agli attributi dell'entitร .
- Le celle della tabella devono contenere un singolo valore.
- A ciascuna colonna deve essere assegnato un nome univoco.
- Non possono esserci due righe identiche.
- I valori di un attributo devono provenire dallo stesso dominio.
Vantaggi del modello di database relazionale
- Semplicitร : Un modello di dati relazionale in un DBMS รจ piรน semplice dei modelli gerarchico e di rete.
- Indipendenza strutturale: Il database relazionale si occupa esclusivamente dei dati e non della struttura, il che puรฒ migliorare le prestazioni del modello.
- Facile da usare: Il modello relazionale รจ facile da usare, poichรฉ le tabelle composte da righe e colonne sono naturali e semplici da comprendere.
- Funzionalitร di interrogazione: Ciรฒ consente a un linguaggio di interrogazione di alto livello come SQL di evitare una navigazione complessa all'interno del database.
- Indipendenza dei dati: La struttura di un database relazionale puรฒ essere modificata senza dover cambiare alcuna applicazione.
- Scalabile: Per quanto riguarda il numero di record o righe e il numero di campi, un database puรฒ essere ampliato per migliorarne l'usabilitร .
Svantaggi del modello relazionale
- Pochi database relazionali hanno limiti alla lunghezza dei campi, che non possono essere superati.
- I database relazionali possono talvolta diventare complessi man mano che la quantitร di dati aumenta e le relazioni tra i dati si fanno piรน intricate.
- I sistemi di database relazionali complessi possono portare alla creazione di database isolati, in cui le informazioni non possono essere condivise tra un sistema e l'altro.






