|
Home -> Manuali e Tutorials -> Guida MySQL Database -> RDBMS
Scarica il tutorial | Stampa il tutorial | Cerca nel sito
Introduzione ai RDBMS
Un Data Base (o meglio "base di dati") è un insieme di dati logicamente correlati fra loro. I Data Base Management System (DBMS) sono quindi i software in grado di gestire i database; le loro caratteristiche sono:
- capacità di gestire grandi quantità di dati
- condivisione dei dati fra più utenti e applicazioni
- utilizzo di sistemi di protezione e autorizzazione per l'accesso ai dati stessi
Possiamo identificare diversi tipi di database, in base alla loro struttura logica:
- database gerarchici
- database reticolari
- database relazionali
- database ad oggetti
Il modello gerarchico, basato su strutture ad albero nelle quali ogni dato che non sia a livello radice ha uno e un solo padre, è quello che ha conosciuto il maggior utilizzo fino agli anni '80.
Il modello reticolare deriva da quello gerarchico, rispetto al quale supera la rigidità della struttura ad albero nell'interdipendenza dei dati, ma la cui complessità ne ha impedito una larga diffusione.
Il modello relazionale organizza i dati in tabelle, basandosi sulle relazioni fra essi.
Il modello ad oggetti infine, il più recente, estende i concetti del modello relazionale adattandoli alla programmazione ad oggetti.
I database di tipo relazionale sono, attualmente, di gran lunga i più diffusi.
Database Relazionali
Si chiamano quindi così tutti quei database basati sulla definizione di "Relazione": una Relazione è la struttura di una tabella (o entità), definita da records (righe di dati) e da attributi (le colonne della tabella di dati).
Naturalmente, visto l'ampio successo dei database relazionali, sono molti gli RDBMS presenti sul mercato: tra i principali, citiamo IBM DB2, Oracle, Microsoft SQL Server, Sybase, Filemaker Pro, Microsoft Access, Informix, PostgreSQL, SQLite, oltre naturalmente a MySql, sviluppato dalla compagnia svedese MySQL AB. Alcuni di questi sono software proprietari, mentre altri fanno parte della categoria open source: questi ultimi, fra quelli citati, sono MySql, PostgreSQL ed SQLite.
Eccone un esempio:
| Tabella "Persone" |
| *Identificativo |
Nome |
Cognome |
Sesso |
Data di Nascita |
| 1 |
Andrea |
Rossi |
M |
15/12/1982 |
| 2 |
Piero |
Russo |
M |
01/05/2000 |
| 3 |
Maria |
Coletti |
F |
23/10/1960 |
|
Integrità delle entità
Per distinguere un record da un altro, si necessita di una chiave primaria, cioè un insieme di attributi che permettono di identificare in maniera univoca un record da un altro. Si parla di integrità delle entità poichè non possono esistere due chiavi con lo stesso valore. Ad esempio per la tabella superiore, tale chiave primaria è stata assegnata al campo "Identificativo".
Integrità Referenziale
Supponiamo di volere creare una seconda relazione "Figli", contenente solo il numero dei figli di ciascuna persona elencata nella prima tabella, ed ovviamente l'Identificativo della Persona a cui si riferisce:
| Tabella "Figli" |
| *Identificativo |
Numero Figli |
Identificativo_Persona |
| 1 |
3 |
1 |
| 2 |
0 |
2 |
| 3 |
1 |
3 |
|
Per questa tabella, la chiave primaria è sempre il primo campo (*), mentre il terzo campo "Identificativo_Persona" rappresenta proprio una "chiave esterna" ( foreign key ), nel senso che l'Identificativo_Persona indica la corrispondente chiave primaria della tabella "Persona". Si parla di Integrità Referenziale intendendo il fatto che i campi Identificativo_Persona della seconda tabella non possono assumere valori non presenti nei rispettivi campi Identificativo della tabella "Persona"; in questo esempio, quindi, non potrebbe esistere nella tabella "Figli" un record che punti ad un Identificativo 4 della tabella "Persone", poichè non è presente alcuna Persona con tale Identificativo nella prima tabella.
Torna su | Indice Guida | Pagina 1 >>
|