Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 38 di 56
  • livello intermedio
Indice lezioni

Basi di dati e modello relazionale

Cosa è un database e quale modello segue nella organizzazione delle informazioni
Cosa è un database e quale modello segue nella organizzazione delle informazioni
Link copiato negli appunti

Le basi di dati, chiamate anche database o banche dati, sono degli archivi che contengono dei dati e integrano informazioni relative alla struttura dei dati stessi; in particolare, è possibile affermare che un database viene strutturato in modo da permettere procedure per la manipolazione dei dati attraverso apposite applicazioni, in esso i dati sono suddivisi sulla base di argomenti disposti in ordine logico, chiamati tabelle, suddivisi a loro volta per categorie chiamate campi.

I campi sono destinati a definire le caratteristiche delle informazioni archiviate, conservate all'interno di record, per cui ogni tabella può essere rappresentata come un piano cartesiano in cui le colonne conservano le proprietà dei dati mentre le righe memorizzano i dati stessi.

Si veda di seguito un semplice esempio di tabella, chiamata "Clienti" e destinata ad ospitare i dati relativi alla clientela di un'attività commerciale:

id_cliente nome cognome indirizzo email
1 Saverio Bianchi Via Milano saveriobiachi@suamail.it
2 Mario Rossi Via Roma mariorossi@suamail.it

Come è possibile osservare, le colonne della tabella sono contrassegnate da delle voci che sono anche i nomi dei campi, ognuna di queste voci contiene le informazioni relative alle caratteristiche dei dati contenuti nelle righe e al tipo di dato ad essi associato; nello specifico del caso proposto in esempio, il campo denominato "id_clienti" è associato ad un tipo di dato numerico intero positivo, mentre tutti gli altri campi sono associati ad un tipo di dato stringa.

Il campo id_clienti svolge la funzione di chiave primaria, ad esso è infatti associato un valore che è univoco per ogni record all'interno della tabella, si tratta di un campo fondamentale in quanto consente di possedere un elemento grazie al quale distinguere i diversi record archiviati; associare manualmente un identificatore per ogni record non sarebbe possibile in presenza di grandi quantità di informazioni, diventa quindi necessario ricorrere ad un'applicazione che sia in grado di svolgere questa operazione al posto dell'utilizzatore

Come anticipato, le procedure per la manipolazione dei dati, cioè operazioni come il loro inserimento, il loro aggiornamento, la loro ricerca e la loro rimozione, sono possibili grazie ad appositi programmi detti DBMS (Database Manager System) che consentono di avere una rappresentazione dei dati sotto forma di concetti.

Un database può essere composto da più tabelle, queste hanno la funzione di separare argomenti diversi che però possono avere tra loro delle relazioni; si introduce così nella descrizione dei database il cosiddetto modello relazionale, un modello che si fonda sull'assunto che le informazioni siano rappresentate da valori compresi all'interno di relazioni chiamate tabelle, per cui un database di tipo relazionale viene visto come un insieme di relazioni tra valori e il risultato di qualunque manipolazione dei dati può essere restituito sotto forma di tabelle.

Per chiarire quanto appena esposto, si pensi per esempio che nello stesso database che contiene la tabella "Clienti" proposta in precedenza sia presente anche una seconda tabella chiamata "Prodotti", destinata a contenere le informazioni relative ai prodotti in vendita presso l'attività commerciale:

id_prodotto prodotto marca prezzo
1 stampante Superprint 69,00
2 mouse Mouseburger 7,00

Ora si immagini di avere una terza tabella, chiamata per esempio "Acquisti" e contenuta sempre nello stesso database, all'interno della quale memorizzare i dati relativi ai prodotti acquistati e ai clienti che li hanno comprati:

id_acquisto id_prodotto id_cliente data
1 2 2 22-02-09
2 1 1 01-01-09

Mettendo in relazione gli identificatori delle due tabelle proposte in precedenza, si ha quindi la possibilità di relazionare ogni singolo acquisto con il cliente che lo ha effettuato e con il relativo prodotto, il tutto è possibile senza dover specificare ogni volta tutti i dati relativi ai prodotti disponibili o ai diversi nominativi escludendo qualsiasi ambiguità.

Ma nello stesso tempo la terza tabella mostra come sussistano delle relazioni all'interno di essa, interrogandola attraverso un DBMS sarà infatti possibile estrarre soltanto i record relativi ad un determinato cliente, ad un determinato cliente in una determinata data, alle vendite di uno specifico prodotto in un intervallo di date e molto altro.

Le basi di dati per le applicazioni Web based sono generalmente impostate sulla base dello stesso principio fondato sulle relazioni, ad esempio: in un blog vi saranno delle relazioni tra utenti e post pubblicati, tra commenti e relativi post, tra i commenti e gli utenti che li hanno scritti e così via.

Per la gestione di database relazionali sono necessarie particolari applicazioni dette RDBMS (Relational Database Manager System), MySQL è l'RDBMS Open Source più utilizzato per la creazione di applicazioni Web based realizzate in PHP, quindi durante i successivi capitoli di questa trattazione MySQL sarà l'applicazione di riferimento per l'archiviazione dei dati nei database e per la loro manipolazione.

Ti consigliamo anche