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.