E.F. Codd ha proposto il Modello relazionale per modellare i dati sotto forma di relazioni o tabelle. Dopo aver progettato il modello concettuale del Database utilizzando Diagramma ER , dobbiamo convertire il modello concettuale in un modello relazionale che può essere implementato utilizzando any RDBMS linguaggio come Oracle SQL, MySQL, ecc. Quindi vedremo cos'è il modello relazionale.
Il modello relazionale utilizza una raccolta di tabelle per rappresentare sia i dati che le relazioni tra tali dati. Ogni tabella ha più colonne e ogni colonna ha un nome univoco. Le tabelle sono anche conosciute come relazioni. Il modello relazionale è un esempio di modello basato su record. I modelli basati su record sono così chiamati perché il database è strutturato in record a formato fisso di diversi tipi. Ogni tabella contiene record di un tipo particolare. Ciascun tipo di record definisce un numero fisso di campi o attributi. Le colonne della tabella corrispondono agli attributi del tipo di record. Il modello di dati relazionale è il modello di dati più utilizzato e la stragrande maggioranza degli attuali sistemi di database si basa sul modello relazionale.
Cos'è il modello relazionale?
Il modello relazionale rappresenta il modo in cui i dati vengono archiviati nei database relazionali. Un database relazionale è costituito da una raccolta di tabelle, a ciascuna delle quali viene assegnato un nome univoco. Consideriamo una relazione STUDENTE con gli attributi ROLL_NO, NOME, INDIRIZZO, TELEFONO ed ETÀ mostrati nella tabella.
Tavolo Studente
| ROLL_NO | NOME | INDIRIZZO | TELEFONO | ETÀ |
|---|---|---|---|---|
| 1 | RAM | DELHI | 9455123451 | 18 |
| 2 | RAMESH | GURGAON | 9652431543 | 18 |
| 3 | SUJIT | ROHTAK | 9156253131 | venti |
| 4 | SICURO | DELHI | 18 |
enum tostring java
Terminologie importanti
- Attributo: Gli attributi sono le proprietà che definiscono un'entità. per esempio.; ROLL_NO , NOME INDIRIZZO
- Schema di relazione: Uno schema di relazione definisce la struttura della relazione e rappresenta il nome della relazione con i suoi attributi. per esempio.; STUDENTE (ROLL_NO, NOME, INDIRIZZO, TELEFONO e ETÀ) è lo schema di relazione per STUDENTE. Se uno schema ha più di 1 relazione, viene chiamato schema relazionale.
- Tupla: Ogni riga nella relazione è conosciuta come tupla. La relazione sopra contiene 4 tuple, una delle quali è mostrata come:
| 1 | RAM | DELHI | 9455123451 | 18 |
- Istanza di relazione: L'insieme di tuple di una relazione in una particolare istanza di tempo è chiamato istanza di relazione. La tabella 1 mostra l'istanza della relazione STUDENTE in un momento particolare. Può cambiare ogni volta che si verifica un inserimento, cancellazione o aggiornamento nel database.
- Grado: Il numero di attributi nella relazione è noto come grado della relazione. IL ALUNNO la relazione sopra definita ha grado 5.
- Cardinalità: Il numero di tuple in una relazione è noto come cardinalità . IL ALUNNO la relazione sopra definita ha cardinalità 4.
- Colonna: La colonna rappresenta l'insieme di valori per un particolare attributo. La colonna ROLL_NO viene estratto dalla relazione STUDENTE.
| ROLL_NO |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
- Valori NULL: Il valore che non è noto o non disponibile è chiamato valore NULL. È rappresentato da uno spazio vuoto. per esempio.; Il TELEFONO dello STUDENTE con ROLL_NO 4 è NULL.
- Chiave di relazione: Queste sono fondamentalmente le chiavi utilizzate per identificare le righe in modo univoco o anche per aiutare a identificare le tabelle. Questi sono dei seguenti tipi.
- Chiave primaria
- Chiave del candidato
- Super chiave
- Chiave esterna
- Chiave alternativa
- Chiave composita
Vincoli nel modello relazionale
Durante la progettazione del Modello Relazionale definiamo alcune condizioni che devono valere per i dati presenti nel database che vengono chiamate Vincoli. Questi vincoli vengono controllati prima di eseguire qualsiasi operazione (inserimento, cancellazione e aggiornamento) nel database. Se viene violato uno qualsiasi dei vincoli, l'operazione fallirà.
Vincoli di dominio
Questi sono vincoli a livello di attributo. Un attributo può assumere solo valori che si trovano all'interno dell'intervallo del dominio. per esempio.; Se alla relazione STUDENTE viene applicato un vincolo AGE>0, l'inserimento di un valore negativo di AGE comporterà un fallimento.
concatenamento in avanti
Integrità chiave
Ogni relazione nel database dovrebbe avere almeno un insieme di attributi che definiscono una tupla in modo univoco. Questo insieme di attributi è chiamato chiavi. per esempio.; ROLL_NO in STUDENT è la chiave. Non possono esserci due studenti con lo stesso numero di matricola. Quindi una chiave ha due proprietà:
- Dovrebbe essere unico per tutte le tuple.
- Non può avere valori NULL.
Integrità referenziale
Quando un attributo di una relazione può assumere valori solo da un altro attributo della stessa relazione o da qualsiasi altra relazione, si dice integrità referenziale . Supponiamo di avere 2 relazioni
come eseguire il cast della stringa su int in Java
Tavolo Studente
| ROLL_NO | NOME | INDIRIZZO | TELEFONO | ETÀ | CODICE DELLA FILIALE |
|---|---|---|---|---|---|
| 1 | RAM | DELHI | 9455123451 | 18 | CS |
| 2 | RAMESH | GURGAON | 9652431543 | 18 | CS |
| 3 | SUJIT | ROHTAK | 9156253131 | venti | ECE |
| 4 | SICURO | DELHI | 18 | ESSO |
Ramo della tabella
| CODICE DELLA FILIALE | FILIALE_NOME |
|---|---|
| CS | INFORMATICA |
| ESSO | TECNOLOGIE DELL'INFORMAZIONE |
| ECE | INGEGNERIA ELETTRONICA E DELLE COMUNICAZIONI |
| CV | INGEGNERIA CIVILE |
BRANCH_CODE di STUDENT può assumere solo i valori presenti in BRANCH_CODE di BRANCH che è chiamato vincolo di integrità referenziale. La relazione che fa riferimento ad un'altra relazione si chiama RELAZIONE DI RIFERIMENTO (STUDENTE in questo caso) e la relazione a cui fanno riferimento altre relazioni si chiama RELAZIONE DI RIFERIMENTO (RAMO in questo caso).
Anomalie nel modello relazionale
UN anomalia è un'irregolarità o qualcosa che si discosta dallo stato previsto o normale. Quando progettiamo i database, identifichiamo tre tipi di anomalie: Inserisci, Aggiorna ed Elimina.
Anomalia di inserimento nella relazione di riferimento
Non possiamo inserire una riga in REFERENCEING RELATION se il valore dell'attributo di riferimento non è presente nel valore dell'attributo di riferimento. per esempio.; L'inserimento di uno studente con BRANCH_CODE “ME” nella relazione STUDENTE darà errore perché “ME” non è presente nel BRANCH_CODE di BRANCH.
Anomalia di cancellazione/aggiornamento nella relazione di riferimento:
Non possiamo eliminare o aggiornare una riga da REFERENCED RELATION se il valore di REFERENCED ATTRIBUTE viene utilizzato nel valore di REFERENCED ATTRIBUTE. per esempio; se proviamo a eliminare una tupla da BRANCH con BRANCH_CODE 'CS', verrà restituito un errore perché 'CS' è referenziato da BRANCH_CODE di STUDENT, ma se proviamo a eliminare la riga da BRANCH con BRANCH_CODE CV, verrà eliminata poiché il valore non è stato utilizzato dalla relazione di riferimento. Può essere gestito con il seguente metodo:
Su Elimina cascata
Eliminerà le tuple da REFERENCED RELATION se il valore utilizzato da REFERENCED ATTRIBUTE viene eliminato da REFERENCED RELATION. per esempio.; Infatti, se eliminiamo una riga da BRANCH con BRANCH_CODE 'CS', le righe in relazione STUDENTE con BRANCH_CODE CS (ROLL_NO 1 e 2 in questo caso) verranno cancellate.
In aggiornamento a cascata
Aggiornerà l'ATTRIBUTO DI RIFERIMENTO in RELAZIONE DI RIFERIMENTO se il valore dell'attributo utilizzato da ATTRIBUTO DI RIFERIMENTO viene aggiornato in RELAZIONE DI RIFERIMENTO. es:, se aggiorniamo una riga da BRANCH con BRANCH_CODE ‘CS’ a ‘CSE’, le righe in relazione STUDENTE con BRANCH_CODE CS (ROLL_NO 1 e 2 in questo caso) verranno aggiornate con BRANCH_CODE ‘CSE’.
spiegare l’indipendenza dei dati
Superchiavi
Qualsiasi insieme di attributi che ci consente di identificare righe univoche (tuple) in una determinata relazione è noto come superchiavi. Di queste super chiavi, possiamo sempre scegliere un sottoinsieme appropriato tra questi che può essere utilizzato come chiave primaria. Tali chiavi sono note come chiavi candidate. Se esiste una combinazione di due o più attributi utilizzati come chiave primaria, la chiamiamo chiave composita.
Regole di Codd nel modello relazionale
Edgar F Codd ha proposto il modello di database relazionale in cui stabiliva le regole. Ora queste sono conosciute come Regole di Codd. Affinché qualsiasi database sia perfetto, deve seguire delle regole.
Per ulteriori informazioni, fare riferimento a Regole di Codd nel modello relazionale .
Vantaggi del Modello Relazionale
- Modello semplice: Il modello relazionale è semplice e facile da usare rispetto ad altri linguaggi.
- Flessibile: Il Modello Relazionale è più flessibile di qualsiasi altro modello relazionale presente.
- Sicuro: Il modello relazionale è più sicuro di qualsiasi altro modello relazionale.
- Precisione dei dati: I dati sono più accurati nel modello dati relazionale.
- Integrità dei dati: L'integrità dei dati viene mantenuta nel modello relazionale.
- Le operazioni possono essere applicate facilmente: È meglio eseguire le operazioni nel modello relazionale.
Svantaggi del modello relazionale
- Il modello di database relazionale non è molto adatto per database di grandi dimensioni.
- A volte diventa difficile trovare la relazione tra le tabelle.
- A causa della struttura complessa, il tempo di risposta alle query è elevato.
Caratteristiche del Modello Relazionale
- I dati sono rappresentati in righe e colonne chiamate relazioni.
- I dati vengono archiviati in tabelle con relazioni tra loro chiamate modello relazionale.
- Il modello relazionale supporta operazioni come la definizione dei dati, la manipolazione dei dati e la gestione delle transazioni.
- Ogni colonna ha un nome distinto e rappresenta gli attributi.
- Ogni riga rappresenta una singola entità.