SQL - Concetti RDBMS

Cos'è RDBMS?

RDBMS sta per Relazionale Database Mgestione System. RDBMS è la base per SQL e per tutti i moderni sistemi di database come MS SQL Server, IBM DB2, Oracle, MySQL e Microsoft Access.

Un sistema di gestione di database relazionali (RDBMS) è un sistema di gestione di database (DBMS) basato sul modello relazionale introdotto da EF Codd.

Cos'è un tavolo?

I dati in un RDBMS vengono memorizzati in oggetti di database chiamati come tables. Questa tabella è fondamentalmente una raccolta di voci di dati correlate ed è composta da numerose colonne e righe.

Ricorda, una tabella è la forma più comune e più semplice di archiviazione dei dati in un database relazionale. Il seguente programma è un esempio di una tabella CLIENTI -

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  6 | Komal    |  22 | MP        |  4500.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+

Cos'è un campo?

Ogni tabella è suddivisa in entità più piccole chiamate campi. I campi nella tabella CLIENTI sono costituiti da ID, NOME, ETÀ, INDIRIZZO e SALARIO.

Un campo è una colonna in una tabella progettata per mantenere informazioni specifiche su ogni record nella tabella.

Cos'è un record o una riga?

Un record viene anche chiamato come una riga di dati è ogni singola voce che esiste in una tabella. Ad esempio, ci sono 7 record nella tabella CUSTOMERS sopra. Di seguito è riportata una singola riga di dati o record nella tabella CUSTOMERS -

+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
+----+----------+-----+-----------+----------+

Un record è un'entità orizzontale in una tabella.

Cos'è una colonna?

Una colonna è un'entità verticale in una tabella che contiene tutte le informazioni associate a un campo specifico in una tabella.

Ad esempio, una colonna nella tabella CUSTOMERS è ADDRESS, che rappresenta la descrizione della posizione e sarebbe come mostrato di seguito:

+-----------+
| ADDRESS   |
+-----------+
| Ahmedabad |
| Delhi     |
| Kota      |
| Mumbai    |
| Bhopal    |
| MP        |
| Indore    |
+----+------+

Cos'è un valore NULL?

Un valore NULL in una tabella è un valore in un campo che sembra essere vuoto, il che significa che un campo con un valore NULL è un campo senza valore.

È molto importante comprendere che un valore NULL è diverso da un valore zero o da un campo che contiene spazi. Un campo con un valore NULL è quello che è stato lasciato vuoto durante la creazione di un record.

Vincoli SQL

I vincoli sono le regole applicate alle colonne di dati in una tabella. Vengono utilizzati per limitare il tipo di dati che possono essere inseriti in una tabella. Ciò garantisce l'accuratezza e l'affidabilità dei dati nel database.

I vincoli possono essere a livello di colonna o di tabella. I vincoli a livello di colonna vengono applicati solo a una colonna, mentre i vincoli a livello di tabella vengono applicati all'intera tabella.

Di seguito sono riportati alcuni dei vincoli più comunemente usati disponibili in SQL:

  • Vincolo NOT NULL - Assicura che una colonna non possa avere un valore NULL.

  • Vincolo DEFAULT : fornisce un valore predefinito per una colonna quando non ne viene specificato nessuno.

  • Vincolo UNICO : assicura che tutti i valori in una colonna siano diversi.

  • Chiave PRIMARIA : identifica in modo univoco ogni riga / record in una tabella di database.

  • Chiave FOREIGN : identifica in modo univoco una riga / record in qualsiasi altra tabella di database.

  • Vincolo CHECK: il vincolo CHECK garantisce che tutti i valori in una colonna soddisfino determinate condizioni.

  • INDICE - Utilizzato per creare e recuperare i dati dal database molto rapidamente.

Integrità dei dati

Le seguenti categorie di integrità dei dati esistono con ogni RDBMS:

  • Entity Integrity − Non ci sono righe duplicate in una tabella.

  • Domain Integrity − Applica voci valide per una determinata colonna limitando il tipo, il formato o l'intervallo di valori.

  • Referential integrity − Le righe non possono essere eliminate, utilizzate da altri record.

  • User-Defined Integrity − Applica alcune regole aziendali specifiche che non rientrano nell'entità, nel dominio o nell'integrità referenziale.

Normalizzazione del database

La normalizzazione del database è il processo di organizzazione efficiente dei dati in un database. Ci sono due ragioni di questo processo di normalizzazione:

  • Eliminando i dati ridondanti, ad esempio, archiviando gli stessi dati in più di una tabella.

  • Garantire che le dipendenze dai dati abbiano senso.

Entrambi questi motivi sono obiettivi meritevoli in quanto riducono la quantità di spazio consumata da un database e garantiscono che i dati vengano archiviati in modo logico. La normalizzazione consiste in una serie di linee guida che aiutano a guidare l'utente nella creazione di una buona struttura del database.

Le linee guida di normalizzazione sono suddivise in forme normali; pensa a un modulo come al formato o al modo in cui è strutturata una struttura di database. Lo scopo dei moduli normali è organizzare la struttura del database, in modo che sia conforme alle regole della prima forma normale, poi della seconda forma normale e infine della terza forma normale.

È una tua scelta di andare oltre e passare alla quarta forma normale, alla quinta forma normale e così via, ma in generale, la terza forma normale è più che sufficiente.