Il Linguaggio SQL

Materie:Tesina
Categoria:Informatica

Voto:

2.5 (2)
Download:642
Data:15.11.2006
Numero di pagine:4
Formato di file:.doc (Microsoft Word)
Download   Anteprima
linguaggio-sql_3.zip (Dimensione: 11.51 Kb)
trucheck.it_il-linguaggio-sql.doc     51.5 Kb
readme.txt     59 Bytes


Testo

Tesina di informatica
Falone Luca
A.S. 2005/2006
Il linguaggio SQL
Caratteristiche dei linguaggi per Database
I linguaggi per basi di dati relazionali possiedono i comandi per :
• definizione del data base
• manipolazione dei dati
• associazione tra tabelle diverse
• interrogazioni degli utenti.
Ci sono alcune caratteristiche comuni ai diversi linguaggi :
• si basano sulla visione tabellare dei dati
• non richiedono la specificazione dei percorsi per ritrovare i dati
• operano su gruppi di righe o sull'intera tabella, anziché su una riga per volta
• usano interfacce per l’utente (a menu o grafiche).
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) :
• attivare le interrogazioni sulle relazioni
• implementare le operazioni relazionali per ottenere nuove tabelle.
Struttura generale del comando Select :
SELECT .....
FROM .....
WHERE .....
• dopo Select : nomi delle colonne da elencare (per indicare tutti gli attributi si scrive l'asterisco * accanto a Select )
• dopo From : il nome o i nomi delle tabelle
• dopo Where : la condizione da controllare sui valori delle righe (anche più condizioni combinate con gli operatori AND, OR e NOT).
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.

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’

Esempio