![]() | ![]() |
|
|
Tesina di informatica
Il linguaggio SQL
Caratteristiche dei linguaggi per Database
I linguaggi per basi di dati relazionali possiedono i comandi per :
Ci sono alcune caratteristiche comuni ai diversi linguaggi :
Identificatori, dati, costanti e operatori
Identificatori : nomi di tabelle e di colonne
Per identificare il
nome di una colonna :
NomeTabella.NomeColonna
(separati dal punto).
Tipi standard per gli attributi:
CHARACTER, DATE, INTEGER, SMALLINT, FLOAT, ecc.
N.B.
Ci possono essere differenze della dichiarazione dei dati in diverse versioni
del linguaggio SQL nei prodotti DBMS (per esempio in Access per Windows).
Il valore Null nelle colonne della tabella
indica un valore non disponibile o non definito.
Le costanti stringa sono delimitate dai
caratteri ' (apice).
Si possono usare gli operatori NOT, AND e OR
nella scrittura delle condizioni.
La definizione delle tabelle
Il linguaggio SQL possiede i comandi per creare, modificare ed eliminare le tabelle dal database relazionale, cioè le funzioni di linguaggio DDL (Data Definition Language) :
CREATE TABLE
seguito dal nome della tabella e dall'elenco degli attributi;
per ogni attributo occorre specificare il nome e il tipo di dato.
ALTER TABLE
per aggiungere una nuova colonna (ADD) a quelle già esistenti
per togliere una colonna (DROP).
DROP
seguito dal nome della tabella, per eliminare una tabella.
Nota :
nei prodotti DBMS moderni queste operazioni vengono eseguite in modo usando
l'interfaccia utente (a menu o grafica).
I comandi per la manipolazione dei dati
Il linguaggio SQL possiede i comandi per inserire, modificare ed eliminare le righe di una tabella, cioè le funzioni di linguaggio DML (Data Manipulation Language) :
INSERT
inserire nuovi dati nelle righe della tabella
UPDATE
aggiornare i valori nella tabella
DELETE
cancellare righe della tabella.
Nota :
nei prodotti DBMS moderni queste operazioni vengono eseguite in modo usando
l'interfaccia utente (a menu o grafica).
Il comando Select
E' il comando principale di SQL che realizza le funzioni di linguaggio per le interrogazioni (Query Language) :
Struttura generale del comando Select :
SELECT ..... FROM ..... WHERE ..... |
Con SELECT DISTINCT... le righe duplicate nella tabella risultante vengono ridotte a una.
Esistono tre tipi di relazioni tra tabelle:
Relazione uno a molti
Una relazione tra due tabelle nelle quali ogni record di una tabella presenta
più record correlati nell'altra tabella.
es. relazione tra la tabella di anagrafica agente e anagrafica clienti
Elenco clienti Anagrafica rappresentanti
Lo stesso tipo di
relazione potrebbe essere implementato tra la tabella clienti e la tabella
ordini.
Relazione molti a molti
Una relazione tra due tabelle le quali presentano ciascuna una relazione
uno-a-molti con una terza tabella comune.
es. relazione tra la tabella impiegati, clienti e ordini: infatti l'impiegato può aver fatto più ordini per lo stesso cliente, a sua volta il cliente può aver fatto più ordini allo stesso impiegato.
Modello
E/R:
Relazione uno ad
uno
Una relazione tra due tabelle in cui ogni record di una tabella presenta un
solo record correlato nell'altra tabella.
La relazione uno a uno risulta utile qualora si intenda dividere una tabella che altrimenti presenterebbe un numero di campi eccessivo infatti essa mette in congiunzione due chiavi primarie di due tabella diverse, pertanto ad ogni riga di una tabella corrisponde una sola riga dell'altra.
es. relazione tra tabelle reparti e responsabile generale
Modello di database per gli esempi successivi
Viene descritto ora
il database che verrà utilizzato per gli esercizi successivi.
E' un database generico con anagrafica e movimenti di uso molto frequente: per
esempio, clienti e fatture, studenti ed esami sostenuti, contribuenti e
versamenti di imposta, prodotti e movimenti di magazzino, conti e movimenti
contabili, ecc.)
Due entità :
Anagrafica e Movimento
Associazione : uno a molti
Attraverso il modello E/R passiamo alla rappresentazione grafica delle relazione esistente tra due tabelle: la prima contenente i dati anagrafici dei clienti e la seconda relativa ai movimenti di ciascun cliente.
Ogni riga della
tabella Anagrafica può essere relativa a una o più Movimenti.
Ogni Movimento deve essere riferito a una sola riga sulla tabella Anagrafica.
Struttura
tabelle: Anagrafica
(Codice, Nome, Indirizzo)
Movimento (Numero, Descrizione, Data, Importo, Codice)
Codice : chiave della tabella
Anagrafica
Numero : chiave della tabella Movimento
Codice : chiave esterna della tabella Movimento
Le operazioni relazionali nel linguaggio SQL
Selezione
SELECT * FROM NomeTabella WHERE Condizione |
Esempio:
Date le tabelle:
Anagrafica (Codice, Nome, Indirizzo)
Movimento (Numero, Descrizione, Data, Importo, Codice)
si vuole ottenere l'elenco delle anagrafiche con Indirizzo = 'Milano'
L'operazione relazionale che consente di ottenere i dati richiesti è:
Selezione di Anagrafica per Indirizzo = 'Milano'
Privacy |
Articolo informazione
Commentare questo articolo:Non sei registratoDevi essere registrato per commentare ISCRIVITI |
Copiare il codice nella pagina web del tuo sito. |
Copyright InfTub.com 2025