Cos'è lo schema di un database relazionale?
Un programma database relazionale è uno strumento standard per archiviare e analizzare dati. Esempi includono Microsoft SQL Server, PostgreSQL, MySQL e vari prodotti da aziende come Oracle e IBM. Uno schema relazionale delinea le relazioni e la struttura del database in un programma di database relazionale. Può essere visualizzato graficamente o scritto nel Structured Query Language (SQL) usato per costruire tabelle in un database relazionale.
Comprendere i database relazionali
Un database relazionale è uno strumento per archiviare e analizzare dati digitalmente. I database relazionali sono la spina dorsale di molti server su internet e sono usati per generare contenuto web per tutto, dai siti di notizie alle banche.
Esiste una varietà di programmi di database relazionali, inclusi alcuni strumenti proprietari da grandi nomi come Microsoft e Oracle così come sistemi open-source gratuiti. La maggior parte di questi sistemi di database sono controllati e accessibili attraverso SQL, un linguaggio di programmazione specializzato progettato per comunicare con database. Ogni sistema di database ha una variazione leggermente diversa di SQL, ma sono abbastanza compatibili che i programmatori possono imparare rapidamente a usarne uno se ne hanno usato un altro.
I database relazionali tipicamente archiviano dati in tabelle come record con colonne predefinite, simile al modo in cui molte persone usano i fogli di calcolo. Per esempio, una tabella che archivia informazioni clienti potrebbe avere una colonna di testo per il nome del cliente, una colonna di testo per il cognome del cliente e una colonna di dati decimali per la spesa totale del cliente nel tempo.
Le tabelle spesso includono un identificatore univoco in ogni riga noto come chiave primaria. Può essere denotato da un simbolo chiave primaria come un'immagine di una chiave fisica in molti sistemi grafici. Tabelle con la stessa chiave primaria possono essere unite per estrarre informazioni correlate, come unire una tabella di informazioni clienti a una contenente ordini.
Comprendere uno schema relazionale
Uno schema relazionale per un database è un outline di come i dati sono organizzati. Può essere un'illustrazione grafica o un altro tipo di grafico usato dai programmatori per capire come ogni tabella è disposta, incluse le colonne e i tipi di dati che contengono e come le tabelle si connettono. Può anche essere scritto in codice SQL.
Uno schema di database solitamente specifica quali colonne sono chiavi primarie nelle tabelle e quali altre colonne hanno vincoli speciali come essere richieste di avere valori univoci in ogni record. Solitamente specifica anche quali colonne in quali tabelle contengono riferimenti a dati in altre tabelle, spesso includendo chiavi primarie da record di altre tabelle così che le righe possano essere facilmente unite. Queste sono chiamate colonne chiave esterna. Per esempio, una tabella ordini clienti può contenere una colonna numero cliente che è una chiave esterna che riferisce la chiave primaria della tabella clienti.
Istruzioni CREATE e schemi di database
Uno schema di database è infine implementato in SQL attraverso istruzioni CREATE. Questi sono comandi al programma di database per costruire (o creare) tabelle con certe specifiche. Specificano quale colonna costituisce una chiave primaria, che tipo di dati ogni colonna archivia, e quali sono chiavi esterne che riferiscono altre tabelle.
Spesso indicano anche quali indici dovrebbero essere costruiti sulle tabelle per permettere loro di essere facilmente interrogati e analizzati senza dover passare attraverso ogni record per trovare dati che corrispondono a particolari vincoli.
Di solito accedete alle istruzioni CREATE o un'altra rappresentazione dello schema dall'interno del programma di database, anche se il comando per farlo varia da programma a programma.
Alcuni strumenti di sviluppo web, come Django in Python e Rails in Ruby, vi permettono di costruire schemi e layout di database usando i loro linguaggi. Gli schemi sono poi tradotti nel dialetto appropriato di SQL per creare il database sottostante.