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.

  • 🗃️ Idea centrale: I dati vengono memorizzati come relazioni e ogni riga è una tupla che descrive un'entità o una relazione del mondo reale.
  • 🏷️ Parole chiave: Attributo, tupla, grado, cardinalità, dominio e chiave di relazione descrivono insieme la struttura di una tabella.
  • 🛡️ Tre vincoli: I vincoli di integrità di dominio, chiave e referenziale mantengono valida ogni relazione.
  • 🔑 Chiavi di collegamento delle tabelle: Una chiave primaria identifica in modo univoco una riga, mentre una chiave esterna fa riferimento a una chiave in un'altra relazione.
  • 🔄 Quattro Operazioni: Le operazioni di inserimento, aggiornamento, eliminazione e selezione agiscono sulle relazioni senza violare i vincoli definiti.
  • ✅ Regole di progettazione: Un solo valore per cella, nomi di colonna univoci, nessuna riga duplicata e valori provenienti da un unico dominio.
  • 📈 Perché vince: Semplicità, indipendenza strutturale, un linguaggio di interrogazione di alto livello e indipendenza dei dati.

Modello di dati relazionali in DBMS

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

  1. Attributo: Ogni colonna di una tabella. Gli attributi sono le proprietà che definiscono una relazione, ad esempio, Student_Rollno, NAME, ecc.
  2. 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.
  3. tupla: Non è altro che una singola riga di una tabella, che contiene un singolo record.
  4. Schema di relazione: Uno schema di relazione rappresenta il nome della relazione con i suoi attributi.
  5. Grado: Il numero totale di attributi in una relazione è chiamato grado della relazione.
  6. Cardinalità: Il numero totale di righe presenti nella tabella.
  7. Colonna: La colonna rappresenta l'insieme di valori per un attributo specifico.
  8. Istanza di relazione: Un'istanza di relazione è un insieme finito di tuple nel sistema RDBMS. Le istanze di relazione non contengono mai tuple duplicate.
  9. Chiave di relazione: Ogni riga possiede uno, due o più attributi, chiamati chiave di relazione.
  10. Dominio degli attributi: Ogni attributo ha un valore e un ambito predefiniti, noti come dominio dell'attributo.

Concetti del modello relazionale illustrati in una tabella

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:

  1. Vincoli di dominio
  2. Vincoli chiave
  3. 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 Google 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:

Integrità referenziale tra Cliente e Billrelazioni

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.

Operazione di inserimento che aggiunge una nuova tupla a una relazione

Aggiornanento Operaproduzione

Come si può notare nella tabella delle relazioni sottostante, il cliente 'Apple' è stato aggiornato da Inattivo ad Attivo.

Operazione di aggiornamento che modifica un valore di stato in una tupla

Elimina Operaproduzione

Per specificare la cancellazione, una condizione sugli attributi della relazione seleziona la tupla da cancellare.

Operazione di eliminazione che rimuove una tupla da una relazione

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

Seleziona l'operazione scegliendo una tupla specifica

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.

DOMANDE FREQUENTI

Il grado indica il numero di attributi, o colonne, in una relazione. La cardinalità indica il numero di tuple, o righe. Il grado descrive la larghezza della tabella e la cardinalità la sua altezza.

Una relazione è un insieme matematico, e un insieme non contiene elementi duplicati. La chiave primaria garantisce questo, in modo che ogni tupla sia identificata in modo univoco e non ci siano due righe identiche.

I modelli di intelligenza artificiale vengono spesso addestrati su caratteristiche estratte da tabelle relazionali tramite join e aggregazioni SQL. L'IA può anche tradurre una domanda in linguaggio naturale in SQL, consentendo agli utenti non tecnici di interrogare direttamente le relazioni.

Sì. In base a dati di esempio o requisiti, l'IA può suggerire tabelle, chiavi primarie ed esterne e una forma normale. L'output deve comunque essere rivisto, perché la normalizzazione dipende da regole aziendali che l'IA potrebbe non conoscere.

In pratica, i due termini vengono usati in modo intercambiabile. Formalmente, una relazione è un insieme di tuple senza un ordine specifico e senza duplicati, mentre una tabella ne è la rappresentazione fisica, che può mostrare le righe in un ordine predefinito.

Riassumi questo post con: