SQL | oggetti |
tablescontengono i dati e devono essere pianificate decidendo:
- quali dati entrano nella tabella
- quali colonne costituiscono la tabella
- qual'è il tipo di dato di ognuni colonna
- quali colonne accettano valori nulli
- qual'è la chiave primaria
- quali sono le chiavi secondarie
- quali constraints e dove
- quali indici usare
views
mostrano parte dei dati per garantire semplicità e sicurezza:
una view può restringere l'accesso a:
- focalizzare dati specifici
- semplificare la gestione dei dati
- personalizzare i dati
- esportare dati
- garantire sicurezza
Una view è una tabella virtuale definita da una query: appare come una tabella, ma non contiene dati reali, in quanto i dati stanno nelle tabelle
- un sottoinsieme di righe
- un sottoinsieme di colonne
- un sottoinsieme di righe e di colonne
- un risultato di una join
- un riassunto statistico
- un sottoinsieme di un'altra view
datatypes
definiscono i valori consentiti per una colonna:
esistono datatypes definiti e se ne possono creare altriuser defined datatypes
datatypes definiti dall'utente
defaults
valore predefinito utilizzato quando non viene fornito un dato
il modo più semplice di specificare un default è alla creazione della tabellakeys
indexes
- PRIMARY KEY: colonna o combinazione di colonne che identifica univocamente ogni riga. Non può essere nulla.
- FOREIGN KEY: colonna o combinazione di colonne che corrisponde alla PRIMARY KEY di un'altra tabella. Non deve essere unica, ma deve essere una copia della PRIMARY KEY, cioè non possono esistere valori (eccetto NULL) che non esistono nella PRIMARY KEY.
struttura associata a una tabella per velocizzare le ricerche. Consiste in dati e in puntatori alle righe che contengono quei valori.
constraints
regole che limitano i valori possibili per una colonna
- si possono associare + constraints a una colonna
- si può associare una constraint a + colonne
- si può creare una constraint quando si crea una tabella
- le constraints rafforzano l'integrità referenziale
rules
specificano valori accettabili per le colonne
(le constraints sono preferibili perchè multiple)stored procedures
raccolta di comandi SQL e istruzioni di controllo compilata
triggers
procedure eseguite automaticamente quando si verifica un evento
- realizzano le necessità e le regole del business
- rafforzano l'integrità referenziale