Informatica

Materie:Tesina
Categoria:Informatica

Voto:

1 (2)
Download:314
Data:07.06.2007
Numero di pagine:12
Formato di file:.doc (Microsoft Word)
Download   Anteprima
informatica_19.zip (Dimensione: 74.93 Kb)
trucheck.it_informatica.doc     417 Kb
readme.txt     59 Bytes


Testo

“Relazione di Informatica”
1. Introduzione:
Query:
Per Query si intende un’interrogazione sui dati presenti in un database.I dati che forniscono la risposta alla domanda definita dalla query possono provenire da una o più tabelle;inoltre,i dati prodotti da una query sono organizzati secondo lo schema di una tabella e possono,a loro volta,essere oggetto di ulteriori interrogazioni.
Linguaggio SQL:
Il linguaggio SQL è un linguaggio non procedurale che è diventato uno standard tra i linguaggi per la gestione di database relazionali.Il medesimo linguaggio permette ad un utente di porre interrogazioni al database (funzioni di Query Lenguage).
Con il comando SELECT: vengono attivate le interrogazioni sulle relazioni e le operazioni relazionali per ottenere nuove tabelle.
Esempio: estrarre il valore del saldo del conto corrente numero 2
SELECT saldo
FROM conto_corrente
WHERE numero_cc = 2
Operazioni con SQL:
SELEZIONE: consente di ricavare da una relazione un’altra relzione contenente solo le riche e che soddisfano a una certa condizione.
PROIEZIONE: permette di ottenere una relazione contenente solo alcuni attributi della relazione di partenza.
CONGIUNZIONE: permette di possedere a due tabelle un attributo comune.
INNER JOIN: con le tabelle Azienda e Dipendenti si possono selezionare tutti i dipendenti di ciascuna azienda. Al contrario, per selezionare tutte le aziende , anche se alcuni non hanno dipendenti, oppure per selezionare tutti i dipendenti, anche se alcuni non sono assegnati a una azienda, è possibile utilizzare l'operazione LEFT JOIN o RIGHT JOIN per creare un join esterno.
AS: il comando AS si usa se si vuole dare un nuovo nome ad una tabella,quindi scriviamo prima il nome originale della tabella poi la parola AS e dopo il nuovo nome da dare alla tabella.
Funzioni SQL:
COUNT: conta il numero di righe selezionate dall’interrogazi one. Oppure la stessa funzione si può avere nella versione COUNT(DISTINCT x), che consente di ottenere il numero dei valori diversi tra loro nella colonna x che soddisfano alla condizione scritta dopo Where.
SUM: restituisce la somma di tutti i valori contenuti in una colonna specifica come argomento della funzione,la medesima funzione può anche essere utilizzata con la parola Distinct.
AVG: serve per calcolare la media dei valori (numerici) contenuti in una determinata colonna di una tabella,con l’eventuale aggiunta dell’opzione Distinct. La media calcolata da tale funzione equivale alla media aritmetica,cioè la somma dei valori diviso il numero degli elementi.
MIN e MAX: restituiscono rispettivamente il valore minimo e il valore massimo tra i valori della colonna di una tabella specificata come argomento della funzione.
Clausole SQL:
ORDER BY: serve per ottenere i risultati di un’interrogazione ordinati secondo i valori contenuti in una o più colonne,tra quelle elencate accanto alla parola Select.
GROUP BY: permette di raggruppare un insieme di righe aventi lo stesso valore nelle colonne indicate dalla clausola,essa produce una riga di risultati per ogni raggruppamento.
HAVING: è possibile sottoporre al controllo di una o più condizioni i gruppi creati con la clausola Group by. Essa visualizza le sole righe di raggruppamento che soddisfano alle condizioni scritte accanto a Having.
Operatori SQL:
BETWEEN: controlla se è compreso all’interno di un intervallo di valori, inclusi gli estremi.
IN: controlla se un valore appartiene a uno dei valori di una lista che viene precisata dopo la parola In all’interno della condizione.
LIKE: confronta il valore di un attributo di tipo carattere con un modello di stringa che può contenere caratteri Jolly(_ %).
2. TABELLE
AZIENDA
Denominazione
Indirizzo
Settore di attività
Codice azienda
Comune
Giga
Via Monticelli
Informatica
Z001
Salerno
Elettronix
Piazza della repubblica
Elettronica
Z002
Roma
Salvati motors
via rosso
Automobilistico
Z003
Napoli
Vertuccio s.r.l.
Via Zambrano
Automobilistico
Z004
Portici
Alimenti e alimenti
Via Zambano
Alimentare
Z005
Positano
Genovese
Via Laspro
Abbigliamento
Z006
Salerno
Maxi store
Via San Leonardo
Abbigliamento
Z007
Salerno
DIPENDENTE
Nome
Cognome
Indirizzo
Reddito annuo lordo
N° Familiari a carico
Matricola
Professione
Azienda Appartenente
Marco
Chiariello
Via mia
15500
3
P001
Tecnico
Z002
Carlo
Botta
Via Rosi
18000
4
P002
Giardiniere
Z001
Gerardo
Russo
Via 23 settembre
12500
4
P003
Pilota
Z002
Angelo
Angelucci
Via Milano
14000
6
P004
Tecnico
Z002
Giovanni
Ricciardi
Via Napoli
16000
3
P005
Assistente
Z001
Andrea
Del Piero
Via Zambrano
15000
2
P006
Operaio
Z004
Raffaele
Cataldo
Via Napoli
15000
1
P007
Elettrauto
Z004
Michele
Riganò
Via Vittoria
12500
3
P008
Operaio
Z004
Alfonso
Carminu
Via Roma
14000
4
P009
Meccanico
Z003
Gaetano
Scarpa
Via dei mille
16000
2
P010
Carrozziere
Z003
Salvatore
Aliberti
Via Vittorio Emanuele
17500
3
P011
Imprenditore
Z005
Vincenzo
Senatore
Via Torello
18000
4
P012
Avvocato
Z005
VERSAMENTI
Stipendio
Codice versamento
Codice azienda
Data
1300
P001
Z001
02/02/2007
1000
P002
Z002
19/02/2007
1500
P003
Z001
21/02/2007
1200
P004
Z002
19/01/2007
1400
P005
Z002
18/09/2007
1300
P006
Z004
19/04/2007
1200
P007
Z004
15/12/2007
1500
P008
Z004
10/11/2007
1600
P009
Z003
02/02/2007
1450
P010
Z003
23/03/2007
2000
P011
Z005
03/05/2007
1320
P012
Z005
05/03/2007
3. Visualizzazione SQL:
3° QUERY
SELECT Dipendente.Matricola, Dipendente.Cognome, Dipendente.Nome, Dipendente.Professione, Dipendente.[Reddito annuo lordo]
FROM Dipendente;
Query 3
Matricola
Cognome
Nome
Professione
Reddito annuo lordo
P001
Chiariello
Marco
Tecnico
15500
P002
Botta
Carlo
Giardiniere
18000
P003
Russo
Gerardo
Pilota
12500
P004
Angelucci
Angelo
Tecnico
14000
P005
Ricciardi
Giovanni
Assistente
16000
P006
Del Piero
Andrea
Operaio
15000
P007
Cataldo
Raffaele
Barista
15000
P008
Riganò
Michele
Operaio
12500
P009
Carminu
Alfonso
Meccanico
14000
P010
Scarpa
Gaetano
Carrozziere
16000
P011
Aliberti
Salvatore
Imprenditore
17500
P012
Senatore
Vincenzo
Avvocato
18000
4°QUERY
SELECT denominazione, indirizzo, [codice azienda]
FROM Azienda
WHERE [codice azienda]="Z001";
Query 4
denominazione
indirizzo
codice azienda
Giga
Via Monticelli
Z001
5°QUERY
SELECT Dipendente.Cognome, Dipendente.Nome, Dipendente.[Reddito annuo lordo] FROM Dipendente
WHERE (((Dipendente.[Reddito annuo lordo])>="14000"));
Query 5
cognome
nome
reddito annuo lordo
Chiariello
Marco
15500
Botta
Carlo
18000
Angelucci
Angelo
14000
Ricciardi
Giovanni
16000
Del Piero
Andrea
15000
Cataldo
Raffaele
15000
Carminu
Alfonso
14000
Scarpa
Gaetano
16000
Aliberti
Salvatore
17500
Senatore
Vincenzo
18000
6°QUERY
SELECT Denominazione, Indirizzo, Comune
FROM Azienda
WHERE Comune="Salerno";
Query 6
Denominazione
Indirizzo
Comune
Giga
Via Monticelli
Salerno
Genovese
xg
Salerno
Maxi store
Via San Leonardo
Salerno
7°QUERY
SELECT Dipendente.Cognome, Dipendente.Nome, Dipendente.Professione, Dipendente.[Reddito annuo lordo]
FROM Dipendente
WHERE (((Dipendente.Professione)="Tecnico") AND ((Dipendente.[Reddito annuo lordo])>="10000"));
Query 7
Cognome
Nome
Professione
Reddito annuo lordo
Chiariello
Marco
Tecnico
15500
Angelucci
Angelo
Tecnico
14000
8°QUERY
SELECT Cognome, Nome, Professione, Denominazione
FROM Dipendente, Azienda
WHERE Denominazione="Giga" And Professione="Tecnico";
Query 8
Cognome
Nome
Professione
Denominazione
Chiariello
Marco
Tecnico
Giga
Angelucci
Angelo
Tecnico
Giga
9°QUERY
SELECT Dipendente.Professione, Azienda.[Codice azienda]
FROM Azienda INNER JOIN Dipendente ON Azienda.[Codice azienda] = Dipendente.[Azienda Appartenente]
WHERE (((Azienda.[Codice azienda])="Z001"));
Query 9
Professione
Codice azienda
Giardiniere
Z001
Assistente
Z001
10°QUERY
SELECT DISTINCT Dipendente.Professione, Versamenti.Stipendio
FROM Dipendente INNER JOIN Versamenti ON Dipendente.Matricola = Versamenti.[Codice versamento]
WHERE (((Versamenti.Stipendio)="1000"));
Query 10
Professione
Stipendio
Giardiniere
1000
11°QUERY
SELECT Dipendente.Cognome, Dipendente.Nome, [Versamenti].Data
FROM Dipendente INNER JOIN Versamenti ON Dipendente.Matricola=[Versamenti].[Codice versamento]
GROUP BY Dipendente.Cognome, Dipendente.Nome, [Versamenti].Data, [Versamenti].[Codice versamento], Dipendente.[Azienda Appartenente]
HAVING (((Dipendente.[Azienda Appartenente])="Z003"));
Query 11
Cognome
Nome
Data
Carminu
Alfonso
02/02/2007
Scarpa
Gaetano
23/03/2007
12°QUERY
SELECT Dipendente.Professione, ((Dipendente.[Reddito annuo Lordo]*20/100)) AS Imposta, Dipendente.Nome, Dipendente.Cognome
FROM Dipendente
GROUP BY Dipendente.Professione, Dipendente.Nome, Dipendente.Cognome, Dipendente.[Reddito annuo lordo]
HAVING (((Dipendente.Professione)="Tecnico"));
Query 12
Professione
Imposta
Nome
Cognome
Tecnico
2800
Angelo
Angelucci
Tecnico
3100
Marco
Chiariello
13°QUERY
SELECT Count(Cognome) AS [Numero dipendenti della Giga]
FROM Dipendente
WHERE (((Dipendente.[Azienda Appartenente])="Z001"));
Query 13
Numero dipendenti della Giga
2
14°QUERY
SELECT Min(Stipendio) AS Minimo, Max(Stipendio) AS Massimo
FROM VERSAMENTI
Query 14
Minimo
Massimo
1000
2000
15°QUERY
SELECT Avg(Stipendio) AS Medio
FROM VERSAMENTI, Dipendente
WHERE Professione="Tecnico";
Query 15
Medio
1397,5
16°QUERY
SELECT Count(Stipendio) AS [Numero Versamenti]
FROM VERSAMENTI, Azienda
WHERE (((Azienda.[Codice azienda])="Z001"));
Query 16
Numero Versamenti
12
17°QUERY
SELECT Dipendente.Cognome, Dipendente.Nome, Dipendente.Indirizzo
FROM Dipendente
ORDER BY Dipendente.Cognome;
Query 17
Cognome
Nome
Indirizzo
Aliberti
Salvatore
Via Vittorio Emanuele
Angelucci
Angelo
Via Milano
Botta
Carlo
Via Rosi
Carminu
Alfonso
Via Roma
Cataldo
Raffaele
Via Napoli
Chiariello
Marco
Via mia
Del Piero
Andrea
Via Zambrano
Ricciardi
Giovanni
Via Napoli
Riganò
Michele
Via Vittoria
Russo
Gerardo
Via 23 settembre
Scarpa
Gaetano
Via dei mille
Senatore
Vincenzo
Via Torello
18°QUERY
SELECT Denominazione, Indirizzo
FROM Azienda
ORDER BY [Denominazione]
Query 18
Denominazione
Indirizzo
Alimenti e alimenti
Via Zambano
Elettronix
Piazza della repubblica
Genovese
xg
Giga
Via Monticelli
Maxi store
Via San Leonardo
Salvati motors
via rosso
Vertuccio s.r.l.
Via Zambrano
19°QUERY
SELECT Dipendente.Cognome, Dipendente.Nome, Dipendente.Indirizzo, Dipendente.[Reddito annuo lordo], (Dipendente.[Reddito annuo lordo]-((Dipendente.[Reddito annuo lordo]*20)/100)) AS RedditoNetto
FROM Dipendente
ORDER BY Dipendente.Cognome;
Query 19
Cognome
Nome
Indirizzo
Reddito annuo lordo
RedditoNetto
Aliberti
Salvatore
Via Vittorio Emanuele
17500
14000
Angelucci
Angelo
Via Milano
14000
11200
Botta
Carlo
Via Rosi
18000
14400
Carminu
Alfonso
Via Roma
14000
11200
Cataldo
Raffaele
Via Napoli
15000
12000
Chiariello
Marco
Via mia
15500
12400
Del Piero
Andrea
Via Zambrano
15000
12000
Ricciardi
Giovanni
Via Napoli
16000
12800
Riganò
Michele
Via Vittoria
12500
10000
Russo
Gerardo
Via 23 settembre
12500
10000
Scarpa
Gaetano
Via dei mille
16000
12800
Senatore
Vincenzo
Via Torello
18000
14400
20°QUERY
SELECT Azienda.Denominazione, Dipendente.Nome, Dipendente.Cognome, (Dipendente.[N° Familiari a carico]*10) AS Detrazione
FROM Azienda INNER JOIN Dipendente ON Azienda.[Codice azienda]=Dipendente.[Azienda Appartenente]
GROUP BY Azienda.Denominazione, Dipendente.Nome, Dipendente.Cognome, Dipendente.[N° Familiari a carico];
Query 20
Denominazione
Nome
Cognome
Detrazione
Alimenti e alimenti
Salvatore
Aliberti
30
Alimenti e alimenti
Vincenzo
Senatore
40
Elettronix
Angelo
Angelucci
60
Elettronix
Gerardo
Russo
40
Elettronix
Marco
Chiariello
30
Giga
Carlo
Botta
40
Giga
Giovanni
Ricciardi
30
Salvati motors
Alfonso
Carminu
40
Salvati motors
Gaetano
Scarpa
20
Vertuccio s.r.l.
Andrea
Del Piero
20
Vertuccio s.r.l.
Michele
Riganò
30
Vertuccio s.r.l.
Raffaele
Cataldo
10
21°QUERY
SELECT Dipendente.Cognome, Dipendente.Nome, Azienda.Indirizzo
FROM Dipendente, Azienda
WHERE (((Dipendente.[Azienda Appartenente])=[Codice azienda]))
ORDER BY Dipendente.Cognome;
Query 21
Cognome
Nome
Indirizzo
Aliberti
Salvatore
Via Zambano
Angelucci
Angelo
Piazza della repubblica
Botta
Carlo
Via Monticelli
Carminu
Alfonso
via rosso
Cataldo
Raffaele
Via Zambrano
Chiariello
Marco
Piazza della repubblica
Del Piero
Andrea
Via Zambrano
Ricciardi
Giovanni
Via Monticelli
Riganò
Michele
Via Zambrano
Russo
Gerardo
Piazza della repubblica
Scarpa
Gaetano
via rosso
Senatore
Vincenzo
Via Zambano
22°QUERY
SELECT Azienda.Denominazione, Dipendente.Nome, Dipendente.Cognome, Dipendente.[Reddito annuo lordo], Dipendente.[Totale trattenute effettuate] AS Espr1
FROM Azienda INNER JOIN Dipendente ON Azienda.[Codice azienda] = Dipendente.[Azienda Appartenente]
WHERE (((Azienda.[Codice azienda])="Z001"));
Query 22
Denominazione
Nome
Cognome
Reddito annuo lordo
Espr1
Giga
Carlo
Botta
18000
1000
Giga
Giovanni
Ricciardi
16000
1000
23°QUERY
SELECT Azienda.Denominazione, Count(Dipendente.[Azienda Appartenente]) AS [Totale Dipendenti], Sum(Dipendente.[Reddito annuo lordo]) AS [Somma Dei Redditi]
FROM Azienda INNER JOIN Dipendente ON Azienda.[Codice azienda] = Dipendente.[Azienda Appartenente]
GROUP BY Azienda.Denominazione, Azienda.[Codice azienda];
Query 23
Denominazione
Totale Dipendenti
Somma Dei Redditi
Alimenti e alimenti
2
35500
Elettronix
3
42000
Giga
2
34000
Salvati motors
2
30000
Vertuccio s.r.l.
3
42500
24°QUERY
SELECT Azienda.Denominazione, Avg(Dipendente.[Reddito annuo lordo]) AS [MediaDiReddito annuo lordo], Dipendente.Professione
FROM Azienda INNER JOIN Dipendente ON Azienda.[Codice azienda] = Dipendente.[Azienda Appartenente]
GROUP BY Azienda.Denominazione, Dipendente.Professione
HAVING (((Dipendente.Professione)="Tecnico"));
Query 24
Denominazione
Media DiReddito annuo lordo
Professione
Elettronix
14750
Tecnico
25°QUERY
SELECT Azienda.Denominazione, Avg(Dipendente.[Totale trattenute effettuate]) AS [Media trattenute effettuate]
FROM Azienda INNER JOIN Dipendente ON Azienda.[Codice azienda]=Dipendente.[Azienda Appartenente]
GROUP BY Azienda.Denominazione;
Query 25
Denominazione
Media trattenute effettuate
Alimenti e alimenti
500
Elettronix
500
Giga
500
Salvati motors
500
Vertuccio s.r.l.
500
26°QUERY
SELECT Dipendente.Professione, Avg(Dipendente.[Reddito annuo lordo]) AS [MediaDiReddito annuo lordo]
FROM Dipendente
GROUP BY Dipendente.Professione
HAVING (((Avg(Dipendente.[Reddito annuo lordo]))>"12000"));
Query 26
Professione
MediaDiReddito annuo lordo
Assistente
16000
Avvocato
18000
Barista
15000
Carrozziere
16000
Giardiniere
18000
Imprenditore
17500
Meccanico
14000
Operaio
13750
Pilota
12500
Tecnico
14750
27°QUERY
SELECT Cognome, Nome
FROM dipendente
WHERE [Azienda appartenente] in ([codice1],[codice2],[codice3]);

Query 27
Cognome
Nome
Chiariello
Marco
Botta
Carlo
Russo
Gerardo
Angelucci
Angelo
Ricciardi
Giovanni
Carminu
Alfonso
Scarpa
Gaetano
28°QUERY
SELECT Dipendente.Nome, Dipendente.Cognome, Dipendente.Professione
FROM Dipendente
WHERE (((Dipendente.Professione)"Dottore" Or (Dipendente.Professione)"Impiegato"));
Query 28
Nome
Cognome
Professione
Marco
Chiariello
Tecnico
Carlo
Botta
Giardiniere
Gerardo
Russo
Pilota
Angelo
Angelucci
Tecnico
Giovanni
Ricciardi
Assistente
Andrea
Del Piero
Operaio
Raffaele
Cataldo
Barista
Michele
Riganò
Operaio
Alfonso
Carminu
Meccanico
Gaetano
Scarpa
Carrozziere
Salvatore
Aliberti
Imprenditore
Vincenzo
Senatore
Avvocato
30°QUERY
SELECT Dipendente.Cognome, Dipendente.Nome, Dipendente.Professione, Dipendente.[Reddito annuo lordo]
FROM Dipendente
WHERE (((Dipendente.[Reddito annuo lordo]) Between "10000" And "14000"));
Query 30
Cognome
Nome
Professione
Reddito annuo lordo
Russo
Gerardo
Pilota
12500
Angelucci
Angelo
Tecnico
14000
Riganò
Michele
Operaio
12500
Carminu
Alfonso
Meccanico
14000
31°QUERY
SELECT Dipendente.Professione, Azienda.[Settore di attività], Count((Dipendente.Professione)) AS numero
FROM Azienda INNER JOIN Dipendente ON Azienda.[Codice azienda] = Dipendente.[Azienda Appartenente]
GROUP BY Dipendente.Professione, Azienda.[Settore di attività], Dipendente.[Azienda Appartenente]
HAVING (((Azienda.[Settore di attività]) Like "automobilistico"));
Query 31
Professione
Settore di attività
numero
Barista
Automobilistico
1
Carrozziere
Automobilistico
1
Meccanico
Automobilistico
1
Operaio
Automobilistico
2

32°QUERY
SELECT dipendente.Nome, dipendente.Cognome, dipendente.[Reddito annuo lordo]
FROM dipendente
WHERE dipendente.[reddito annuo lordo]= ((Select( max(Dipendente.[Reddito annuo lordo])) from Dipendente));
Query 32
Nome
Cognome
Reddito annuo lordo
Carlo
Botta
18000
Vincenzo
Senatore
18000
33°QUERY
SELECT dipendente.Nome, dipendente.Cognome, dipendente.[Reddito annuo lordo], dipendente.Professione
FROM dipendente
WHERE (((dipendente.[Reddito annuo lordo])=((Select( min(Dipendente.[Reddito annuo lordo])) from Dipendente))) AND ((dipendente.Professione)="Operaio"));
Query 33
Nome
Cognome
Reddito annuo lordo
Professione
Michele
Riganò
12500
Operaio
34°QUERY
SELECT Azienda.Denominazione, Avg((Dipendente.[Reddito annuo lordo])) AS [Reddito Medio]
FROM Azienda INNER JOIN Dipendente ON Azienda.[Codice azienda] = Dipendente.[Azienda Appartenente]
GROUP BY Azienda.Denominazione;
Query 34
Denominazione
Reddito Medio
Alimenti e alimenti
17750
Elettronix
14000
Giga
17000
Salvati motors
15000
Vertuccio s.r.l.
14166,666

Esempio