Il linguaggio SQL. ing. Alfredo Cozzi 1

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Il linguaggio SQL. ing. Alfredo Cozzi 1"

Transcript

1 Il linguaggio SQL ing. Alfredo Cozzi 1

2 Il linguaggio SQL Il linguaggio SQL (Structured Query Language) è nato con l intento di soddisfare alle seguenti richieste nei db relazionali: - definire e creare il database - effettuare le diverse operazioni di gestione dei dati, quali l inserimento, la cancellazione e la variazione dei record di un archivio - interrogare il db a scopo informativo Il linguaggio SQL è un linguaggio non procedurale che è diventato uno standard tra i linguaggi per la gestione di database relazionali. Nato alla fine degli anni 70 è oggi usato in tutti i prodotti DBMS come linguaggio di comando per l utente della base di dati (Oracle, Informix, MySQL, SQLServer, Access) 2

3 Il linguaggio SQL Il linguaggio SQL consente all utente di: - definire la struttura delle relazioni del db e di controllare gli accessi al db (DDL) - modificare i dati contenuti nel db, con le operazioni di inserimento, variazione e cancellazione (DML) - porre interrogazioni al db (Query Language) Il linguaggio SQL fornisce inoltre gli opportuni comandi per definire i tabulati di uscita dei risultati (report), per ricuperare i dati quando accade un interruzione del programma, un guasto nei supporti magnetici, per definire le viste degli utenti sul db, per garantire la sicurezza dei dati nei confronti degli accessi di più utenti. 3

4 Identificatori e tipi di dati Gli identificatori sono costituiti da sequenze di caratteri di lunghezza massima uguale a 18 caratteri. Il nome di un attributo (una colonna di una tabella) è identificato per mezzo della notazione abituale: NomeTabella.NomeAttributo (il nome della tabella può essere omesso se non ci sono ambiguità nell identificazione dell attributo) Nella dichiarazione della struttura di una tabella occorre specificare il tipo di dati scelto per gli attributi. 4

5 Tipi standard I tipi standard del linguaggio SQL sono: - BOOLEAN (valore logico) - CHARACTER(n) (stringa di lunghezza n) o CHAR - DATE (data nella forma MM/GG/AA) - TIME (ora nella forma HH:MM) - INTEGER(p) (numero intero con precisione p) o INT - SMALLINT (numero intero con precisione 5) - INTEGER (numero intero con precisione 10) - DECIMAL (p,s) (numero decimale con precisione p e s cifre decimali) o NUMERIC - REAL (numero reale con mantissa di precisione 7) - FLOAT (numero reale con mantissa di precisione 15) - FLOAT(p) (numero reale con mantissa di precisione p) Per i dati numerici la precisione p indica il numero massimo di cifre che il numero può contenere 5

6 La definizione delle tabelle Le tabelle vengono definite con il comando CREATE TABLE, seguito dal nome della tabella e dall elenco degli attributi. Per ogni attributo bisogna specificare il nome e il tipo di dato. Gli attributi possono essere qualificati mediante diverse clausole con le quali è possibile definire: la chiave primaria, le chiavi esterne, l obbligatorietà e il valore di default di un campo Es. Creare la tabella degli Impiegati e dei Dipartimenti CREATE TABLE Impiegati (ID smallint primary key, Cognome char(30) not null, Nome char(20) not null, Stipendio decimal(9,2), Dipartimento char(5) references Dipartimenti(Codice)); Not null indica che in tutte le righe della tabella quella colonna deve essere riempita con un valore non nullo e rende il campo obbligatorio La clausola REFERENCES indica che l attributo Dipartimento è chiave esterna e definisce il vincolo di integrità referenziale con la tabella Dipartimenti 6

7 Per creare la tabella Dipartimenti: CREATE TABLE Dipartimenti (Codice char(5), Descrizione char(20) not null, Sede char(20), Manager smallint, Primary Key (Codice), Unique (Descrizione), Foreign Key (Manager) references Impiegati(ID) On Delete set null On Update cascade); La definizione delle tabelle -non ci possono essere due dipartimenti con lo stesso nome - è possibile dichiarare la chiave esterna in una riga a sé stante (Foreign Key) - Manager è chiave esterna associata alla tabella Impiegati - la cancellazione di una riga di Impiegati con un valore di ID associato a valori di Manager è permessa e i valori di ID corrispondenti assumono valore nullo (On Delete set null) - l aggiornamento di un ID associato a Manager si riflette a catena sui valori di Manager (On Update cascade) 7

8 La struttura di una tabella può essere modificata con il comando ALTER TABLE, per aggiungere una nuova colonna (ADD) a quelle già esistenti, oppure per togliere una colonna (DROP). Es. ALTER TABLE Impiegati ADD Nascita date; ALTER TABLE Impiegati DROP Residenza; L istruzione CREATE INDEX viene utilizzata per creare un nuovo indice su una tabella esistente, indicando il nome della tabella e il nome dell attributo o degli attributi ai quali associare l indice. Se non si vuole che ci siano valori duplicati per l attributo associato all indice in righe diverse, occorre usare la clausola UNIQUE. Es. Il comando seguente crea un indice di nome IndiceImpiegati sulla tabella Impiegati secondo gli attributi Cognome e Nome e non sono ammessi duplicati CREATE UNIQUE INDEX IndiceImpiegati ON Impiegati(Cognome Nome); Una tabella o indice possono essere eliminati con il comando DROP, seguito dal nome della tabella o dell indice. Es. DROP TABLE Impiegati; DROP INDEX IndiceImpiegati ON Impiegati; Nelle versioni moderne dei prodotti DBMS le operazioni di creazione di tabelle e indici, vengono effettuate come in Access attraverso un interfaccia interattiva che facilita il lavoro dell utente. 8

9 I comandi per la manipolazione dei dati I valori degli attributi nelle righe della tabella possono essere inseriti, aggiornati o cancellati rispettivamente con i comandi INSERT, UPDATE, DELETE. Es. Per inserire i valori di una nuova riga della tabella Impiegati: INSERT INTO Impiegati (ID, Nome, Cognome, Residenza, Stipendio, Dipartimento) VALUES(20, Mario, Rossini, Caserta, 3100, Mag ); Per assegnare il dipendente con ID=20, presente in anagrafica, al dipartimento di produzione: UPDATE Impiegati SET Dipartimento = Prod WHERE Matricola = 20; Per cancellare dalla tabella Dipendenti i dati del dipendente con ID=20: DELETE FROM Impiegati WHERE ID = 20; L uso della clausola Where nei comandi Update e Delete consente di operare su gruppi di record Es. se si vuole aumentare del 5% lo stipendio di tutti i dipendenti del dipartimento produzione: UPDATE Impiegati SET Stipendio = Stipendio * 1.05 WHERE Dipartimento = Prod ; 9

10 Il comando Select Con il comando Select è possibile estrarre dal database le informazioni desiderate. Vengono attivate le interrogazioni sulle relazioni e le operazioni relazionali per ottenere nuove tabelle. La struttura base del comando Select è la seguente: SELECT Colonne FROM Tabelle WHERE Condizioni Accanto alla parola Select vengono indicati i nomi degli attributi (le colonne) da elencare (se è necessario elencare tutti gli attributi basta scrivere il segno di * dopo la parola Select); dopo From vengono indicati i nomi della tabella o delle tabelle; dopo la clausola Where si specifica una condizione logica su uno o più attributi con lo scopo di filtrare le righe delle tabelle. Es. Effettuare interrogazioni sulla tabella Impiegati L elenco con cognome, nome e residenza dei dipendenti del dipartimento di codice Prod: SELECT Cognome, Nome, Residenza FROM Impiegati WHERE Dipartimento = Prod ; 10

11 L elenco dei dipendenti che lavorano alla produzione con residenza a Torino: SELECT Cognome, Nome, Residenza FROM Impiegati WHERE Dipartimento = Prod AND Residenza = Torino ; Tutti i dati dei dipendenti che abitano a Roma: SELECT * FROM Impiegati WHERE Residenza Roma ; Se viene specificato il predicato DISTINCT le righe duplicate nella tabella risultante vengono ridotte a una. Es. Se si desidera ottenere l elenco di tutte le località di residenza dei dipendenti senza duplicati: SELECT DISTINCT Residenza FROM Impiegati; 11

12 La tabella che si ottiene come risultato dell interrogazione con Select possiede un intestazione delle colonne che riporta i nomi degli attributi; è possibile modificare questa intestazione rinominando la colonna sfruttando la clausola AS. Es. SELECT ID AS Matricola, Nome, Cognome FROM Impiegati; Con il comando SELECT si può anche richiedere il calcolo di espressioni sugli attributi presenti nella tabella;la tabella risultante contiene una colonna aggiuntiva con i risultati del calcolo per ogni riga. Es. SELECT Cognome, Nome, Stipendio AS Attuale, Stipendio*1.05 AS Nuovo FROM Impiegati; In alcuni comandi vengono usati valori costanti nelle condizioni scritte dopo WHERE: SELECT Cognome, Nome, Residenza FROM Impiegati WHERE Stipendio >= 5500; Si potrebbe invece chiedere all utente il valore del confronto (in Access questo può essere fatto indicando tra parentesi quadre il nome del parametro): SELECT Cognome, Nome, Residenza FROM Impiegati WHERE Stipendio >= [Retribuzione annuale minima?]; Per ottenere l elenco dei dipendenti privi di dipartimento: SELECT ID AS Matricola, Cognome, Nome FROM Impiegati WHERE Dipartimento IS NULL; 12

13 Le operazioni relazionali nel linguaggio SQL Il comando SELECT può operare su più tabelle, indicandone i nomi dopo la clausola FROM e scrivendo dopo la parola WHERE la condizione che fa corrispondere le righe di una tabella con quelle dell altra. Nelle quasi totalità dei casi la congiunzione necessaria è un equi-join per cui la condizione da scrivere nella clausola WHERE consiste nell uguaglianza tra attributi in due tabelle; se poi si ha un join naturale, gli attributi hanno il medesimo nome. Si realizza in pratica l operazione di congiunzione di due tabelle secondo un attributo comune. Es. Ottenere l elenco di tutti i dipendenti con i dati del dipartimento dove lavorano: SELECT * FROM Impiegati, Dipartimenti WHERE Dipartimento = Codice; Per maggior chiarezza si può anche scrivere nel modo seguente: SELECT * FROM Impiegati, Dipartimenti WHERE Impiegati.Dipartimento = Dipartimenti.Codice; Poiché nella condizione scritta accanto a Where viene usato il segno uguale, la congiunzione precedente fornisce un esempio di equi-join, cioè vengono combinate solo le righe per le quali si possono trovare valori uguali negli attributi che si corrispondono. 13

14 Nella versione del linguaggio SQL adottata da Access l equi-join viene indicato come inner join: SELECT Impiegati.*, Dipartimenti.* FROM Dipartimenti INNER JOIN Impiegati ON Dipartimenti.Codice = Impiegati.Dipartimento; Ottenere l elenco dei dipendenti che lavorano in un dipartimento con sede a Roma, con cognome, nome e descrizione del dipartimento: SELECT Impiegati.Cognome, Impiegati.Nome, Dipartimenti.Descrizione FROM Impiegati, Dipartimenti WHERE Impiegati.Dipartimento = Dipartimenti.Codice AND Dipartimenti.Sede = Roma ; La prima condizione scritta dopo Where (Dipartimento = Codice)serve a specificare l uguaglianza tra gli attributi comuni delle tabelle coinvolte nella congiunzione, la seconda condizione (Sede = Roma ) specifica il criterio per operare la selezione sulle righe di Dipartimenti. Per semplificare la scrittura del comando Select è possibile fare ricorso agli alias per il nome della tabella, specificando dopo il nome originale della tabella la parola AS seguita dal nuovo nome: SELECT I.Cognome, I.Nome, D.Descrizione FROM Impiegati AS I INNER JOIN Dipartimenti AS D ON I.Dipartimento = D.Codice WHERE D.Sede = Roma ; 14

15 Join esterni SQL permette di costruire forme di join che rispondono all esigenza di congiungere due tabelle includendo nella congiunzione anche quelle righe di una delle due tabelle che non hanno una riga associata nell altra. Queste congiunzioni prendono il nome di join esterni e corrispondono alle operazioni di left join, right join, full join dell algebra relazionale. Si consideri per es. la congiunzione tra le tabelle Impiegati e Dipartimenti. Nella tabella prodotta dal join non compaiono le informazioni sui dipendenti che non sono stati assegnati a un dipartimento e le informazioni dei dipartimenti dove non lavora nessuno. Per considerare anche queste informazioni: SELECT Impiegati.Nome, Impiegati.Cognome, Dipartimenti.Descrizione FROM Impiegati LEFT JOIN Dipartimenti ON Dipartimenti.Codice = Impiegati.Dipartimento; Analogamente volendo considerare tutti i dipartimenti bisogna includere nel join tutte le righe della seconda tabella: SELECT Impiegati.Nome, Impiegati.Cognome, Dipartimenti.Descrizione FROM Impiegati RIGHT JOIN Dipartimenti ON Dipartimenti.Codice = Impiegati.Dipartimento; 15

16 Le funzioni di aggregazione All interno del comando Select possono essere usate funzioni predefinite che agiscono sui valori contenuti in insiemi di righe della tabella e che per questo motivo si chiamano funzioni di aggregazione. Le funzioni di aggregazione agiscono sui valori di una singola colonna e restituiscono un solo valore come il massimo o il minimo dei valori considerati. Funzione COUNT La funzione COUNT conta il numero di righe selezionate dall interrogazione; si deve specificare come argomento della funzione il nome dell attributo o il caratter *; nel primo caso vengono conteggiate le righe che hanno valore Null nella colonna dell attributo specificato, nel secondo caso viene calcolato il numero delle righe delle tabelle incluse quelle con i campi di tipo Null. Es. visualizza il numero di tutte le righe presenti nella tabella Impiegati: SELECT COUNT (*) FROM Impiegati; Specificando il nome dell attributo Dipartimento si ottiene il numero dei dipendenti che sono assegnati a un dipartimento: SELECT COUNT (Dipartimento) FROM Impiegati; 16

17 Restituire il numero di dipendenti residenti a Roma: SELECT COUNT (*) FROM Impiegati WHERE Residenza = Roma ; La stessa funzione nella versione COUNT(DISTINCT x) consente di ottenere il numero dei valori diversi tra loro nella colonna x che soddisfano alla condizione scritta dopo Where. Es. se si vuole conoscere da quante differenti città di residenza provengono i dipendenti del dipartimento Produzione: SELECT COUNT (DISTINCT Residenza) FROM Impiegati WHERE Dipartimento = Prod ; Oppure SELECT COUNT (DISTINCT Residenza) AS Provenienza FROM Impiegati WHERE Dipartimento = Prod ; 17

18 Funzione SUM La funzione SUM restituisce la somma di tutti i valori contenuti in una colonna specificata come argomento della funzione: naturalmente l attributo utilizzato nel calcolo deve essere di tipo numerico Es. Se si vuole ottenere la somma degli stipendi dei dipendenti che appartengono al dipartimento Marketing: SELECT SUM (Stipendio) FROM Impiegati WHERE Dipartimento = Mkt ; L argomento della funzione Sum può anche essere un espressione numerica contenente i nomi di attributi di tipo numerico. Si supponga di avere una tabella delle fatture che contiene gli attributi prezzo unitario dei prodotti e la quantità ordinata. Il totale delle fatture viene calcolato: SELECT SUM (PrezUnit * Qta) AS Totale FROM Fatture; 18

19 Funzione AVG La funzione AVG calcola la media dei valori contenuti in una deternimata colonna, con l eventuale aggiunta dell opzione Distinct. La funzione AVG non include nel calcolo i valori di tipo NULL presenti nella colonna. Es. Calcolare lo stipendio medio dei dipendenti che lavorano in dipartimenti con sede a Torino: SELECT AVG(Stipendio) FROM Impiegati, Dipartimenti WHERE Dipartimento = Codice AND Sede = Torino ; 19

20 Funzioni MIN e MAX Le funzioni MIN e MAX restituiscono rispettivamente il valore minimo e massimo tra i valori della colonna di una tabella specificata come argomento della funzione. Es. Calcolare i valori minimo e massimo degli stipendi di tutti i dipendenti: SELECT MIN (Stipendio), MAX(Stipendio) FROM Impiegati; Visualizza il primo cognome e l ultimo nell elenco dei dipendenti: SELECT MIN(Cognome), MAX(Cognome) FROM Impiegati; 20

21 Ordinamenti e raggruppamenti Nel comando Select si può inserire la clausola ORDER BY per ottenere i risultati di un interrogazione ordinati secondo i valori contenuti in una o più colonne, tra quelle elencate accanto alla parola Select. La clausola Order By deve essere l ultimo elemento di un comando Select. Es. mostrare l elenco alfabetico dei dipendenti con cognome, nome, residenza: SELECT Cognome, Nome, Residenza FROM Impiegati ORDER BY Cognome, Nome; Produrre l elenco dei dipendenti in ordine decrescente di stipendio e a parità di stipendio in ordine crescente di cognome: SELECT Cognome, Stipendio FROM Impiegati ORDER BY Stipendio DESC, Cognome; 21

22 GROUP BY La clausola GROUP BY permette di raggruppare un insieme di righe aventi lo stesso valore nelle colonne indicate dalla clausola. L opzione produce una riga di risultati per ogni raggruppamento. Es. Elencare i dipartimenti dove lavorano i dipendenti, con la somma degli stipendi e il numero dei dipendenti per ogni dipartimento: SELECT Dipartimento, COUNT(ID), SUM(Stipendio) FROM Impiegati GROUP BY Dipartimento; L interrogazione viene eseguita per passi: 1)le righe vengono raggruppate per Dipartimento, 2) le funzioni di aggregazione vengono applicate ai singoli raggruppamenti. Se si desidera che compaia il nome per esteso del dipartimento bisogna includere anche la tabella Dipartimenti nell interrogazione e effettuare il raggruppamento sul campo Descrizione: SELECT Dipartimento, COUNT(*), SUM(Stipendio) FROM Impiegati, Dipartimenti WHERE Impiegati.Dipartimento = Dipartimenti.Codice GROUP BY Dipartimento; 22

23 Condizioni sui raggruppamenti La struttura del comando Select con raggruppamenti può essere ulteriormente ampliata con la clausola HAVING con la quale è possibile sottoporre al controllo di una o più condizioni i gruppi creati con la clausola Group by (HAVING serve a visualizzare le sole righe di raggruppamento che soddisfano alle scritte accando a HAVING). HAVING pone condizioni sui gruppi, WHERE pone condizioni sulle singole righe. Es. Visualizzare per i soli dipartimenti con più di due addetti, il numero degli addetti e la somma degli stipendi: SELECT Dipartimento, COUNT(ID), SUM(Stipendio) FROM Impiegati GROUP BY Dipartimento HAVING COUNT(ID) > 2; Visualizzare l elenco dei dipartimenti con sede a Torino con più di un addetto, per questi dipartimenti viene elencato oltre al nome anche il numero di impiegati e la somma degli stipendi: SELECT Descrizione, COUNT(*), SUM(Stipendio) FROM Impiegati, Dipartimenti WHERE Impiegati.Dipartimento = Dipartimenti.Codice AND Sede = Torino GROUP BY Descrizione HAVING COUNT(*) > 1; 23

24 Sintetizzando le diverse clausole: SELECT Elenco colonne da mostrare FROM Tabelle da cui estrarre le righe WHERE Condizioni sulle congiunzioni o sulle righe estratte GROUP BY Campi da considerare per raggruppamenti HAVING Condizioni sui raggruppamenti ORDER BY Ordinamenti sulle colonne elencate nella clausola SELECT n.b. le sole clausole che devono comparire obbligatoriamente in un comando Select sono le prime due dell elenco, le altre sono facoltative le clausole utilizzate devono essere elencate rispettando l ordinamento del precedente elenco le interrogazioni che si possono costruire con le operazioni relazionali si esprimono con le sole clausole Select, From e Where. 24

25 Le condizioni di ricerca Le condizioni di ricerca sono utilizzate insieme alle clausole Where e Having per determinare i criteri di selezione rispettivamente delle righe e dei raggruppamenti. Nella scrittura delle condizioni si usano i segni di confronto =, <, >, <>, >=, <=. Una condizione di ricerca è costruita anche mettendo insieme più condizioni legate tra loro con gli operatori AND e OR, precedute eventualmente dall operatore NOT. Le condizioni di ricerca si possono esprimere utilizzando anche altre parole del linguaggio SQL: BETWEEN: questo operatore controlla se un valore è compreso all interno di un intervallo di valori, inclusi gli estremi. Es. ottenere l elenco dei dipendenti che hanno retribuzione compresa tra e euro SELECT Cognome, Nome, Funzione FROM Impiegati WHERE Stipendio BETWEEN AND 45000; 25

26 l operatore IN controlla se un valore appartiene a uno dei valori di una lista che viene precisata dopo la parola In all interno della condizione. Es. Ottenere tutti i dati dei dipendenti che risiedono a Torino, Venezia e Palermo: SELECT * FROM Impiegati WHERE Residenza IN ( Torino, Venezia, Palermo ); LIKE: questo operatore confronta il valore di un attributo di tipo carattere con un modello di stringa che può contenere caratteri jolly (o metacaratteri). I caratteri jolly sono _ (underline) per indicare uno e un solo carattere qualsiasi in quella posizione della stringa, %(percento) per indicare una sequenza di zero o più caratteri. Es. ottenere il cognome e il dipartimento dei dipendenti con il cognome che inizia con R SELECT Cognome, Dipartimento FROM Impiegati WHERE Cognome LIKE R% ; il predicato IS NULL confronta il valore in una colonna con il valore Null. L uso di questo predicato è il solo modo per controllare la presenza del valore NULL in una colonna. Es. ottenere l elenco dei dipendenti per i quali è indicato lo stipendio: SELECT Cognome, Nome FROM Impiegati WHERE Stipendio IS NOT NULL; 26

27 Interrogazioni nidificate Si supponga di voler conoscere il nome del manager di Mario Rossi (Mario Rossi con ID=1 lavora nel dipartimento di codice Prod che ha come manager una persona con ID=12 -> Anita Bianco): SELECT C.Cognome, C.Nome FROM Impiegati I, Dipartimenti D, Impiegati C WHERE I.Dipartimento=D.Codice AND D.Manager=C.ID AND I.Nome= Mario AND I.Cognome= Rossi ; Le interrogazioni nidificate permettono di risolvere lo stesso problema nel seguente modo: 1. Estrarre da Impiegati il codice del dipartimento dove lavora Mario Rossi 2. Usare il codice dipartimento trovato al punto1 per estrarre da Dipartimenti l identificativo del manager del dipartimento 3. Dall identificativo ricavato al punto 2 è possibile risalire al nome del manager per mezzo della tabella Impiegati SELECT Cognome, Nome FROM Impiegati 3 WHERE ID= ); (SELECT Manager FROM Dipartimenti 2 WHERE Codice= ) ( SELECT Dipartimento FROM Impiegati 1 WHERE Cognome= Rossi AND Nome= Mario 1 27

28 Elencare cognome e nome dei dipendenti che hanno lo stipendio inferiore allo stipendio medio di tutti i dipendenti: SELECT Cognome, Nome FROM Impiegati WHERE Stipendio < (SELECT AVG (Stipendio) FROM Impiegati ); Elencare i dipendenti per i quali lo stipendio risulta maggiore del valore medio di tutti gli stipendi; l elenco deve contenere cognome, nome e descrizione del dipartimento del dipendente oltre allo scarto rispetto al valore medio degli stipendi: SELECT Cognome, Nome, Descrizione, Stipendio (SELECT AVG(Stipendio) FROM Impiegati) FROM Impiegati, Dipartimenti WHERE Dipartimento = Codice AND Stipendio = (SELECT AVG(Stipendio) Produrre l elenco dei dipendenti che sono manager: SELECT Cognome, Nome, ID FROM Impiegati WHERE ID IN (SELECT DISTINCT Manager FROM Impiegati); FROM Dipartimenti); 28

29 ANY ANY viene utilizzata in una clausola Where in espressioni del tipo: x > ANY Elenco; il predicato ANY è vero se il confronto è vero per almeno uno dei valori dell elenco Es. ottenere le informazioni dei dipendenti del dipartimento Amministrazione con lo stipendio superiore a quello di almeno un impiegato del Marketing: SELECT Cognome, Nome FROM Impiegati WHERE Dipartimento = Amm AND Stipendio > ANY ( SELECT Stipendio FROM Impiegati WHERE Dipartimento = Mkt ); ALL ALL viene utilizzato in una clausola Where in espressioni del tipo x <= ALL Elenco; il predicato ALL restituisce vero se il confronto è vero per ciascuno dei valori restituiti. La condizione di ricerca è falsa se il confronto è falso per almeno uno tra i valori restituiti dalla sottoquery. Sostituendo ALL a ANY nella precedente interrogazione si possono estrarre tutte le righe dei dipendenti dell Amministrazione che hanno lo stipendio maggiore di quello di tutti gli impiegati del Marketing Valgono le seguenti equivalenze: Attributo IN (Select ) equivale a: Attributo = ANY (Select ) Attributo NOT IN (Select ) equivale a: Attributo <> ALL (Select ) 29

30 EXISTS EXISTS viene utilizzato in una clausola WHERE in espressioni del tipo EXISTS Elenco Il predicato EXISTS controlla se vengono restituite righe dall esecuzione delle sottoquery; la condizione di ricerca è vera se la Select nidificata produce una o più righe come risultato. Es. Ottenere l elenco dei dipendenti con cognome e nome e scostamento dalla media degli stipendi del dipartimento Marketing, solo se esistono dipendenti che lavorano in quel dipartimento: SELECT Cognome, Nome, Stipendio (SELECT AVG(Stipendio) FROM Impiegati WHERE EXIXTS (SELECT * FROM Impiegati FROM Impiegati WHERE Dipartimento = Mkt ); WHERE Dipartimento = Mkt ) 30

31 Le viste logiche Il linguaggio SQL consente di decidere le modalità con le quali gli utenti possono vedere le tabelle del DB creando una finestra, detta VIEW (vista), su alcuni o su tutti i dati contenuti in una o più tabelle. La vista viene identificata con un nome assegnato in fase di creazione con il comando CREATE VIEW. L utente può operare sulla vista come se fosse una tabella del DB (non rimane distratto dai dati che sono ininfluenti sul tipo di elaborazione che deve fare). La creazione della vista viene realizzata con l uso dell istruzione Select all interno del comando Create View. Es. creare una vista di nome ImpiegatiCapi contenente i dati dei manager: CREATE VIEW ImpiegatiCapi AS SELECT ID, Nome Cognome, Dipartimento FROM Impiegati WHERE ID IN (10,12,13,14); Essendo 10,12,13,14 gli identificativi dei manager. Una vista può essere eliminata con il comando DROP VIEW seguito dal nome assegnato alla vista in fase di creazione. Es. per eliminare la vista creata con il nome ImpiegatiCapi : DROP VIEW ImpiegatiCapi ; 31

32 Le viste logiche possono semplificare la progettazione di query complesse. Es. costruiamo la vista logica di nome PersonaleDipartimenti che elenca, per ogni dipartimento, il totale degli stipendi erogati e il numero dei dipendenti che lavorano nel dipartimento: CREATE VIEW PersonaleDipartimenti (Dipart,NumDipendenti,TotStipendi) AS SELECT Dipartimento, Count(*), SUM(Stipendio) FROM Impiegati GROUP BY Dipartimenti; Il comando Create View crea una vista logica con tre attributi di nome Dipart, NumDipendenti, TotStipendi con i quali si fa riferimento ai 3 valori prodotti dalla Select. Partendo dalla vista logica è facile costruire le seguenti interrogazioni: dipartimento che spende di più: SELECT Dipart FROM PersonaleDipendenti WHERE TotStipendi = (SELECT MAX(TotStipendi) FROM PersonaleDipartimenti); numero medio di dipendenti per dipartimento: SELECT AVG(NumDipendenti) FROM PersonaleDipartimenti; 32

33 Esempi di interrogazioni Attività sportive studentesche Le informazioni relative alle attività sportive studentesche devono essere organizzate in una base di dati. Gli studenti frequentano gli istituti superiori e possono partecipare a una o più manifestazioni sportive. Per ogni attività sportiva le scuole indicano un professore che svolge la funzione di riferimento e di allenatore: ogni professore segue una sola manifestazione, ma una stessa manifestazione può essere seguita da professori diversi di scuole diverse. Definire il modello del DB e rappresentare le seguenti interrogazioni: - numero di studenti che partecipano a una determinata manifestazione sportiva - elenco anagrafico degli allenatori di un attività sportiva - elenco delle scuole con il numero di studenti che partecipano alle attività sportive - elenco delle scuole con studenti che partecipano a una determinata manifestazione sportiva - elenco allenatori e scuole di appartenenza in ordine alfabetico - numero degli studenti partecipanti di una determinata scuola per ciascuna delle manifestazioni sportive 33

34 Analisi di dati Le entità che possono essere individuate nel problema sono: - Istituto, per gli istituti di appartenenza di studenti e professori - Studente, per gli studenti delle diverse scuole che partecipano alle manifestazioni - Professore, per rappresentare i docenti che svolgono le funzioni di allenatore - Manifestazione, per le attività sportive Gli attributi di Istituto sono: codice dell istituto, denominazione, indirizzo, telefono Gli attributi di Studente sono: codice dello studente, cognome, nome, data di nascita, classe Gli attributi di Professore sono: codice del professore, cognome, nome Gli attributi di Manifestazione sono: codice della manifestazione, descrizione, luogo, data inizio per i tornei e i campionati o di svolgimento per le gare di una giornata 34

35 Modello E/R Studente N N 1 Frequentare Istituto 1 Partecipare Impiegare N Manifestazione 1 N Coordinatore N Professore 35

36 Modello Logico Utilizzando le regole di derivazione si passa dal modello concettuale al modello logico, cioè alle tabelle: le associazioni uno a molti si rappresentano introducendo le chiavi esterne; nelle tabelle Studenti e Istituto per indicare l istituto di appartenenza; nella tabella Professori viene aggiunta anche un altra chiave esterna per l associazione con l entità Manifestazioni; l associazione molti a molti genera una nuova tabella Iscrizioni che contiene le chiavi primarie di Studenti e Manifestazioni più la data di iscrizione Tabelle Istituti (CodiceIstituto, Denominazione, Indirizzo, Telefono) Studenti (CodiceStud, CognStud, NomeStud, DataNascita, Classe, CodiceIstituto) Manifestazioni (CodiceManif, Descrizione, Luogo, DataInizio) Professori (CodiceProf CognProf, NomeProf, CodiceIstituto, CodiceManif) Iscrizione (CodiceStud, CodiceManif, DataIscrizione) 36

37 Interrogazioni - Numero di studenti che partecipano a una determinata manifestazione sportiva SELECT COUNT(*) FROM Manifestazioni, Iscrizioni WHERE Manifestazioni.CodiceManif = Iscrizioni.CodiceManif AND Descrizione = [manifestazione da controllare]; - Elenco delle scuole con il numero di studenti che partecipano alle attività sportive SELECT Denominazione, COUNT (DISTINCT CodiceStud) FROM Studenti, Istituti WHERE Studenti.CodiceIstituto = Istituto.CodiceIstituto GROUP BY Denominazione; -Elenco delle scuole con studenti che partecipano a una determinata manifestazione sportiva SELECT Denominazione, Indirizzo, Telefono FROM Manifestazioni, Iscrizioni, Studenti, Istituti WHERE Manifestazioni.CodiceManif = Iscrizioni.CodiceManif AND Studenti.CodiceStud = Iscrizioni.CodiceStud AND Sudenti.CodiceIstituto = Istituti.CodiceIstituto AND Descrizione = [manifestazione da controllare] GROUP BY Denominazione, Indirizzo, Telefono; 37

DBMS (Data Base Management System)

DBMS (Data Base Management System) Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire

Dettagli

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone SQL: il DDL Parti del linguaggio SQL Definizione di basi di dati (Data Definition Language DDL) Linguaggio per modificare

Dettagli

Il linguaggio SQL Basi di dati 1. Il linguaggio SQL. Angelo Montanari. Dipartimento di Matematica e Informatica Università di Udine

Il linguaggio SQL Basi di dati 1. Il linguaggio SQL. Angelo Montanari. Dipartimento di Matematica e Informatica Università di Udine Il linguaggio SQL Basi di dati 1 Il linguaggio SQL Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Il linguaggio SQL Basi di dati 2 Introduzione SQL (Structured Query Language)

Dettagli

Introduzione a MySQL

Introduzione a MySQL Introduzione a MySQL Cinzia Cappiello Alessandro Raffio Politecnico di Milano Prima di iniziare qualche dettaglio su MySQL MySQL è un sistema di gestione di basi di dati relazionali (RDBMS) composto da

Dettagli

Esercitazione su SQL

Esercitazione su SQL Esercizio 1. Esercitazione su SQL Si consideri la base di dati relazionale composta dalle seguenti relazioni: impiegato Matricola Cognome Stipendio Dipartimento 101 Sili 60 NO 102 Rossi 40 NO 103 Neri

Dettagli

Dal modello concettuale al modello logico

Dal modello concettuale al modello logico Dal modello concettuale al modello logico Traduzione dal modello Entita - Associazione al modello Relazionale Ciclo di sviluppo di una base di dati (da parte dell utente) Analisi dello scenario Modello

Dettagli

Introduzione ad Access

Introduzione ad Access Introduzione ad Access Luca Bortolussi Dipartimento di Matematica e Informatica Università degli studi di Trieste Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale

Dettagli

Basi di Dati. S Q L Lezione 5

Basi di Dati. S Q L Lezione 5 Basi di Dati S Q L Lezione 5 Antonio Virdis a.virdis@iet.unipi.it Sommario Gestione eventi Gestione dei privilegi Query Complesse 2 Esercizio 9 (lezione 4) Indicare nome e cognome, spesa e reddito annuali

Dettagli

Algebra Relazionale. algebra relazionale

Algebra Relazionale. algebra relazionale Algebra Relazionale algebra relazionale Linguaggi di Interrogazione linguaggi formali Algebra relazionale Calcolo relazionale Programmazione logica linguaggi programmativi SQL: Structured Query Language

Dettagli

Import Dati Release 4.0

Import Dati Release 4.0 Piattaforma Applicativa Gestionale Import Dati Release 4.0 COPYRIGHT 2000-2005 by ZUCCHETTI S.p.A. Tutti i diritti sono riservati.questa pubblicazione contiene informazioni protette da copyright. Nessuna

Dettagli

Trovare l aeroporto italiano con il maggior numero di piste

Trovare l aeroporto italiano con il maggior numero di piste AEROPORTO (Città, Nazione, NumPiste) VOLO (IdVolo, GiornoSett, CittàPart, OraPart, CittàArr, OraArr, TipoAereo) AEREO (TipoAereo, NumPasseggeri, QtaMerci) Datalog - Aeroporti da cui non partono aerei per

Dettagli

Database, SQL & MySQL. Dott. Paolo PAVAN Maggio 2002

Database, SQL & MySQL. Dott. Paolo PAVAN Maggio 2002 Database, SQL & MySQL Dott. Paolo PAVAN Maggio 2002 1 Struttura RDBMS MYSQL - RDBMS DATABASE TABELLE 2 Introduzione ai DATABASE Database Indica in genere un insieme di dati rivolti alla rappresentazione

Dettagli

Database Manager Guida utente DMAN-IT-01/09/10

Database Manager Guida utente DMAN-IT-01/09/10 Database Manager Guida utente DMAN-IT-01/09/10 Le informazioni contenute in questo manuale di documentazione non sono contrattuali e possono essere modificate senza preavviso. La fornitura del software

Dettagli

Il linguaggio SQL: transazioni

Il linguaggio SQL: transazioni Il linguaggio SQL: transazioni Sistemi Informativi T Versione elettronica: 4.8.SQL.transazioni.pdf Cos è una transazione? Una transazione è un unità logica di elaborazione che corrisponde a una serie di

Dettagli

(anno accademico 2008-09)

(anno accademico 2008-09) Calcolo relazionale Prof Alberto Belussi Prof. Alberto Belussi (anno accademico 2008-09) Calcolo relazionale E un linguaggio di interrogazione o e dichiarativo: at specifica le proprietà del risultato

Dettagli

Piattaforma Applicativa Gestionale. Import dati. Release 7.0

Piattaforma Applicativa Gestionale. Import dati. Release 7.0 Piattaforma Applicativa Gestionale Import dati Release 7.0 COPYRIGHT 2000-2012 by ZUCCHETTI S.p.A. Tutti i diritti sono riservati. Questa pubblicazione contiene informazioni protette da copyright. Nessuna

Dettagli

GUIDA RAPIDA emagister-agora Edizione BASIC

GUIDA RAPIDA emagister-agora Edizione BASIC GUIDA RAPIDA emagister-agora Edizione BASIC Introduzione a emagister-agora Interfaccia di emagister-agora Configurazione dell offerta didattica Richieste d informazioni Gestione delle richieste d informazioni

Dettagli

Manipolazione di testi: espressioni regolari

Manipolazione di testi: espressioni regolari Manipolazione di testi: espressioni regolari Un meccanismo per specificare un pattern, che, di fatto, è la rappresentazione sintetica di un insieme (eventualmente infinito) di stringhe: il pattern viene

Dettagli

Cross Software ltd Malta Pro.Sy.T Srl. Il gestionale come l'avete sempre sognato... Pag. 1

Cross Software ltd Malta Pro.Sy.T Srl. Il gestionale come l'avete sempre sognato... Pag. 1 Il gestionale come l'avete sempre sognato... Pag. 1 Le funzionalità di X-Cross La sofisticata tecnologia di CrossModel, oltre a permettere di lavorare in Internet come nel proprio ufficio e ad avere una

Dettagli

PHP: form, cookies, sessioni e. Pasqualetti Veronica

PHP: form, cookies, sessioni e. Pasqualetti Veronica PHP: form, cookies, sessioni e mysql Pasqualetti Veronica Form HTML: sintassi dei form 2 Un form HTML è una finestra contenente vari elementi di controllo che consentono al visitatore di inserire informazioni.

Dettagli

Progettazione di un DB....in breve

Progettazione di un DB....in breve Progettazione di un DB...in breve Cosa significa progettare un DB Definirne struttura,caratteristiche e contenuto. Per farlo è opportuno seguire delle metodologie che permettono di ottenere prodotti di

Dettagli

Le funzionalità di un DBMS

Le funzionalità di un DBMS Le funzionalità di un DBMS Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: DBMS.pdf Sistemi Informativi L-A DBMS: principali funzionalità Le

Dettagli

Le formule possono essere scritte utilizzando un insieme di funzioni predefinite che Excel mette a disposizione, raggruppate per argomento.

Le formule possono essere scritte utilizzando un insieme di funzioni predefinite che Excel mette a disposizione, raggruppate per argomento. Excel: le funzioni Le formule possono essere scritte utilizzando un insieme di funzioni predefinite che Excel mette a disposizione, raggruppate per argomento. DEFINIZIONE: Le funzioni sono dei procedimenti

Dettagli

SQL. Dipartimento del Tesoro

SQL. Dipartimento del Tesoro Dipartimento del Tesoro SQL 1 Database...4 1.1 COS È UN DATABASE...4 1.2 DAGLI ARCHIVI AI DBMS...5 1.3 VANTAGGI OFFERTI DAI DBMS...6 1.4 INDIPENDENZA DEI DATI DALL APPLICAZIONE...7 1.5 RISERVATEZZA NELL

Dettagli

I file di dati. Unità didattica D1 1

I file di dati. Unità didattica D1 1 I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità

Dettagli

Un client su arduino invia i dati acquisiti ad un database

Un client su arduino invia i dati acquisiti ad un database Un client su arduino invia i dati acquisiti ad un database PROBLEMA Si vogliono inviare, periodicamente, i dati acquisiti da alcuni sensori ad un database presente su di un server. Arduino con shield Ethernet

Dettagli

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it UML: Class Diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Class Diagram Forniscono una vista strutturale

Dettagli

if t>=0 x=1; else x=0; end fornisce, nella variabile x, il valore della funzione gradino a tempi continui, calcolata in t.

if t>=0 x=1; else x=0; end fornisce, nella variabile x, il valore della funzione gradino a tempi continui, calcolata in t. Il programma MATLAB In queste pagine si introduce in maniera molto breve il programma di simulazione MAT- LAB (una abbreviazione di MATrix LABoratory). Introduzione MATLAB è un programma interattivo di

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione

Dettagli

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate.

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate. Comandi filtro: sed Il nome del comando sed sta per Stream EDitor e la sua funzione è quella di permettere di editare il testo passato da un comando ad un altro in una pipeline. Ciò è molto utile perché

Dettagli

SOGEAS - Manuale operatore

SOGEAS - Manuale operatore SOGEAS - Manuale operatore Accesso La home page del programma si trova all indirizzo: http://www.sogeas.net Per accedere, l operatore dovrà cliccare sulla voce Accedi in alto a destra ed apparirà la seguente

Dettagli

Le variabili. Olga Scotti

Le variabili. Olga Scotti Le variabili Olga Scotti Cos è una variabile Le variabili, in un linguaggio di programmazione, sono dei contenitori. Possono essere riempiti con un valore che poi può essere riletto oppure sostituito.

Dettagli

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it FIRESHOP.NET Gestione Utility & Configurazioni Rev. 2014.3.1 www.firesoft.it Sommario SOMMARIO Introduzione... 4 Impostare i dati della propria azienda... 5 Aggiornare il programma... 6 Controllare l integrità

Dettagli

Fondamenti di Teoria delle Basi di Dati

Fondamenti di Teoria delle Basi di Dati Fondamenti di Teoria delle Basi di Dati Riccardo Torlone Parte 6: Potenza espressiva del calcolo Calcolo su domini, discussione Pregi: dichiaratività Difetti: "verbosità": tante variabili! espressioni

Dettagli

I.Stat Guida utente Versione 1.7 Dicembre 2010

I.Stat Guida utente Versione 1.7 Dicembre 2010 I.Stat Guida utente Versione 1.7 Dicembre 2010 1 Sommario INTRODUZIONE 3 I concetti principali di I.Stat 4 Organizzazione dei dati 4 Ricerca 5 GUIDA UTENTE 6 Per iniziare 6 Selezione della lingua 7 Individuazione

Dettagli

lavorare con dati tabellari in ArcGis

lavorare con dati tabellari in ArcGis lavorare con dati tabellari in ArcGis 1. gestione delle tabelle 2. aggregazione di dati tabellari 3. relazioni con tabelle esterne 4. modifica di dati tabellari (1) gestione delle tabelle Tipi di tabelle

Dettagli

Il caso StraSport (tratto da: Golfarelli, Rizzi. Data Warehouse. Teoria e pratica della progettazione. McGraw-Hill)

Il caso StraSport (tratto da: Golfarelli, Rizzi. Data Warehouse. Teoria e pratica della progettazione. McGraw-Hill) Il caso StraSport (tratto da: Golfarelli, Rizzi. Data Warehouse. Teoria e pratica della progettazione. cgraw-hill) Progettazione concettuale Scelta dei fatti: Fatto ORDINATO FATTURATO BUDGET Relazione

Dettagli

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email.

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at]email. La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net di Emanuele Mattei (emanuele.mattei[at]email.it) Introduzione In questa serie di articoli, vedremo come utilizzare

Dettagli

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni Funzioni Le funzioni Con il termine funzione si intende, in generale, un operatore che, applicato a un insieme di operandi, consente di calcolare un risultato, come avviene anche per una funzione matematica

Dettagli

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity CORSO DI ALGORITMI E PROGRAMMAZIONE JDBC Java DataBase Connectivity Anno Accademico 2002-2003 Accesso remoto al DB Istruzioni SQL Rete DataBase Utente Host client Server di DataBase Host server Accesso

Dettagli

BIBLIOWIN 5.0WEB Versione 5.0.2

BIBLIOWIN 5.0WEB Versione 5.0.2 BIBLIOWIN 5.0WEB Versione 5.0.2 Premessa. In questa nuova versione è stata modificata la risoluzione (dimensione) generale delle finestre. Per gli utenti che navigano nella modalità a Finestre, la dimensione

Dettagli

CA RC/Update for DB2 for z/os

CA RC/Update for DB2 for z/os SCHEDA PRODOTTO CA RC/Update for DB2 for z/os CA RC/Update for DB2 for z/os CA RC/Update for DB2 for z/os (CA RC/Update) è uno strumento di gestione di dati e oggetti DB2 che consente agli amministratori

Dettagli

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Lezione 1 Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Definizione di utente e di programmatore L utente è qualsiasi persona che usa il computer anche se non è in grado di programmarlo

Dettagli

2009 Elite Computer. All rights reserved

2009 Elite Computer. All rights reserved 1 PREMESSA OrisDent 9001 prevede la possibilità di poter gestire il servizio SMS per l'invio di messaggi sul cellulare dei propri pazienti. Una volta ricevuta comunicazione della propria UserID e Password

Dettagli

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice Pseudo codice Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova linguaggio testuale mix di linguaggio naturale ed elementi linguistici con sintassi ben definita e semantica

Dettagli

Percorsi di matematica per il ripasso e il recupero

Percorsi di matematica per il ripasso e il recupero Giacomo Pagina Giovanna Patri Percorsi di matematica per il ripasso e il recupero 1 per la Scuola secondaria di secondo grado UNITÀ CMPIONE Edizioni del Quadrifoglio à t i n U 1 Insiemi La teoria degli

Dettagli

Codifica dei numeri negativi

Codifica dei numeri negativi E. Calabrese: Fondamenti di Informatica Rappresentazione numerica-1 Rappresentazione in complemento a 2 Codifica dei numeri negativi Per rappresentare numeri interi negativi si usa la cosiddetta rappresentazione

Dettagli

LA NOTAZIONE SCIENTIFICA

LA NOTAZIONE SCIENTIFICA LA NOTAZIONE SCIENTIFICA Definizioni Ricordiamo, a proposito delle potenze del, che = =.000 =.000.000.000.000 ovvero n è uguale ad seguito da n zeri. Nel caso di potenze con esponente negativo ricordiamo

Dettagli

Appendice I. Principali procedure ed istruzioni per la gestione di files, l'analisi statistica di tipo descrittivo e la correlazione semplice

Appendice I. Principali procedure ed istruzioni per la gestione di files, l'analisi statistica di tipo descrittivo e la correlazione semplice . Principali procedure ed istruzioni per la gestione di files, l'analisi statistica di tipo descrittivo e la correlazione semplice Ordinamento di osservazioni: PROC SORT PROC SORT DATA=fa il sort è numerico

Dettagli

FUNZIONI AVANZATE DI EXCEL

FUNZIONI AVANZATE DI EXCEL FUNZIONI AVANZATE DI EXCEL Inserire una funzione dalla barra dei menu Clicca sulla scheda "Formule" e clicca su "Fx" (Inserisci Funzione). Dalla finestra di dialogo "Inserisci Funzione" clicca sulla categoria

Dettagli

Manuale Software. www.smsend.it

Manuale Software. www.smsend.it Manuale Software www.smsend.it 1 INTRODUZIONE 3 Multilanguage 4 PANNELLO DI CONTROLLO 5 Start page 6 Profilo 7 Ordini 8 Acquista Ricarica 9 Coupon AdWords 10 Pec e Domini 11 MESSAGGI 12 Invio singolo sms

Dettagli

GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno

GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno La Vista CAS L ambiente di lavoro Le celle Assegnazione di una variabile o di una funzione / visualizzazione

Dettagli

Appunti di Logica Matematica

Appunti di Logica Matematica Appunti di Logica Matematica Francesco Bottacin 1 Logica Proposizionale Una proposizione è un affermazione che esprime un valore di verità, cioè una affermazione che è VERA oppure FALSA. Ad esempio: 5

Dettagli

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1) Strutture Strutture e Unioni DD cap.10 pp.379-391, 405-406 KP cap. 9 pp.361-379 Strutture Collezioni di variabili correlate (aggregati) sotto un unico nome Possono contenere variabili con diversi nomi

Dettagli

Energy Studio Manager Manuale Utente USO DEL SOFTWARE

Energy Studio Manager Manuale Utente USO DEL SOFTWARE Energy Studio Manager Manuale Utente USO DEL SOFTWARE 1 ANALYSIS.EXE IL PROGRAMMA: Una volta aperto il programma e visualizzato uno strumento il programma apparirà come nell esempio seguente: Il programma

Dettagli

Funzioni di base. Manualino OE6. Outlook Express 6

Funzioni di base. Manualino OE6. Outlook Express 6 Manualino OE6 Microsoft Outlook Express 6 Outlook Express 6 è un programma, incluso nel browser di Microsoft Internet Explorer, che ci permette di inviare e ricevere messaggi di posta elettronica. È gratuito,

Dettagli

Gli asteroidi. Informazioni e contatti: http://vo-for-education.oats.inaf.it - iafrate@oats.inaf.it

Gli asteroidi. Informazioni e contatti: http://vo-for-education.oats.inaf.it - iafrate@oats.inaf.it Esempio sull'utilizzo dell'osservatorio Virtuale Gli asteroidi Informazioni e contatti: http://vo-for-education.oats.inaf.it - iafrate@oats.inaf.it Distribuzione degli asteroidi Il Sistema Solare è composto

Dettagli

Quali dati potremmo modificare? Impostazioni sul campionato, risultati, designazioni, provvedimenti disciplinari, statistiche e tanto ancora.

Quali dati potremmo modificare? Impostazioni sul campionato, risultati, designazioni, provvedimenti disciplinari, statistiche e tanto ancora. WCM Sport è un software che tramite un sito web ha l'obbiettivo di aiutare l'organizzazione e la gestione di un campionato sportivo supportando sia i responsabili del campionato sia gli utilizzatori/iscritti

Dettagli

Esiste la versione per Linux di GeCo? Allo stato attuale non è prevista la distribuzione di una versione di GeCo per Linux.

Esiste la versione per Linux di GeCo? Allo stato attuale non è prevista la distribuzione di una versione di GeCo per Linux. FAQ su GeCo Qual è la differenza tra la versione di GeCo con installer e quella portabile?... 2 Esiste la versione per Linux di GeCo?... 2 Quali sono le credenziali di accesso a GeCo?... 2 Ho smarrito

Dettagli

(accuratezza) ovvero (esattezza)

(accuratezza) ovvero (esattezza) Capitolo n 2 2.1 - Misure ed errori In un analisi chimica si misurano dei valori chimico-fisici di svariate grandezze; tuttavia ogni misura comporta sempre una incertezza, dovuta alla presenza non eliminabile

Dettagli

HORIZON SQL PREVENTIVO

HORIZON SQL PREVENTIVO 1/7 HORIZON SQL PREVENTIVO Preventivo... 1 Modalità di composizione del testo... 4 Dettaglia ogni singola prestazione... 4 Dettaglia ogni singola prestazione raggruppando gli allegati... 4 Raggruppa per

Dettagli

Laboratorio Database. Docente Prof. Giuseppe Landolfi

Laboratorio Database. Docente Prof. Giuseppe Landolfi Laboratorio Database Docente Prof. Giuseppe Landolfi Manuale Laboratorio Database Scritto dal Prof.Giuseppe Landolfi per S.M.S Pietramelara Access 2000 Introduzione Che cos'è un Database Il modo migliore

Dettagli

API (FORMATO JSON) PER IMPORT DATI IN CONTABILITA' FACILE ONLINE

API (FORMATO JSON) PER IMPORT DATI IN CONTABILITA' FACILE ONLINE API (FORMAO JSON) PER IMPOR DAI IN CONABILIA' FACILE ONLINE Lo Staff della Geritec SRL mette a disposizione delle API per lo scambio DAI tra applicativi di terze parti e Contabilità facile online (di seguito

Dettagli

INFORMATIVA FINANZIARIA

INFORMATIVA FINANZIARIA Capitolo 10 INFORMATIVA FINANZIARIA In questa sezione sono riportate le quotazioni e le informazioni relative ai titoli inseriti nella SELEZIONE PERSONALE attiva.tramite la funzione RICERCA TITOLI è possibile

Dettagli

SCUOLANET UTENTE DOCENTE

SCUOLANET UTENTE DOCENTE 1 ACCESSO A SCUOLANET Si accede al servizio Scuolanet della scuola mediante l'indirizzo www.xxx.scuolanet.info (dove a xxx corrisponde al codice meccanografico della scuola). ISTRUZIONI PER IL PRIMO ACCESSO

Dettagli

1) Le Espressioni regolari

1) Le Espressioni regolari ESPRESSIONI REGOLARI e FILTRI SED, GREP e AWK 1) Le Espressioni regolari Un'espressione regolare è un modello che descrive un insieme di stringhe. Le espressioni regolari sono costruite, in maniera analoga

Dettagli

Gli algoritmi. Gli algoritmi. Analisi e programmazione

Gli algoritmi. Gli algoritmi. Analisi e programmazione Gli algoritmi Analisi e programmazione Gli algoritmi Proprietà ed esempi Costanti e variabili, assegnazione, istruzioni, proposizioni e predicati Vettori e matrici I diagrammi a blocchi Analisi strutturata

Dettagli

Mobile Messaging SMS. Copyright 2015 VOLA S.p.A.

Mobile Messaging SMS. Copyright 2015 VOLA S.p.A. Mobile Messaging SMS Copyright 2015 VOLA S.p.A. INDICE Mobile Messaging SMS. 2 SMS e sistemi aziendali.. 2 Creare campagne di mobile marketing con i servizi Vola SMS.. 3 VOLASMS per inviare SMS da web..

Dettagli

Calc è il programma per la gestione di fogli di calcolo della suite OpenOffice.org.

Calc è il programma per la gestione di fogli di calcolo della suite OpenOffice.org. Calc è il programma per la gestione di fogli di calcolo della suite OpenOffice.org. Nuovo documento Anteprima di stampa Annulla Galleria Apri Controllo ortografico Ripristina Sorgente dati Salva Controllo

Dettagli

AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata

AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata Giampiero Carboni Davide Travaglia David Board Rev 5058-CO900C Interfaccia operatore a livello di sito FactoryTalk

Dettagli

I FILTRI SED, GREP (e AWK) Tratto da http://www.pluto.it/files/ildp/guide/abs/textproc.html SED

I FILTRI SED, GREP (e AWK) Tratto da http://www.pluto.it/files/ildp/guide/abs/textproc.html SED I FILTRI SED, GREP (e AWK) Tratto da http://www.pluto.it/files/ildp/guide/abs/textproc.html SED SED è un programma in grado di eseguire delle trasformazioni elementari in un flusso di dati di ingresso,

Dettagli

Data warehouse.stat Guida utente

Data warehouse.stat Guida utente Data warehouse.stat Guida utente Versione 3.0 Giugno 2013 1 Sommario INTRODUZIONE 3 I concetti principali 4 Organizzazione dei dati 4 Ricerca 5 Il browser 5 GUIDA UTENTE 6 Per iniziare 6 Selezione della

Dettagli

Le statistiche sono state raggruppate nelle seguenti aree di attività/processi della struttura sanitaria:

Le statistiche sono state raggruppate nelle seguenti aree di attività/processi della struttura sanitaria: Statistiche e Query partire dalla versione 63_01_006 LabPro ver 5.0 si è arricchito di 2 nuove funzionalità rispettivamente di estrazioni flessibili personalizzabili dei dati storicizzati nel database

Dettagli

Lab. 1 - Introduzione a Matlab

Lab. 1 - Introduzione a Matlab Lab. 1 - Introduzione a Matlab Alcune informazioni su Matlab Matlab è uno strumento per il calcolo scientifico utilizzabile a più livelli, dalla calcolatrice tascabile, alla simulazione ed analisi di sistemi

Dettagli

RefWorks Guida all utente Versione 4.0

RefWorks Guida all utente Versione 4.0 Accesso a RefWorks per utenti registrati RefWorks Guida all utente Versione 4.0 Dalla pagina web www.refworks.com/refworks Inserire il proprio username (indirizzo e-mail) e password NB: Agli utenti remoti

Dettagli

SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO

SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO CLSMS SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO Sommario e introduzione CLSMS SOMMARIO INSTALLAZIONE E CONFIGURAZIONE... 3 Parametri di configurazione... 4 Attivazione Software...

Dettagli

Informatica Applicata

Informatica Applicata Ing. Irina Trubitsyna Concetti Introduttivi Programma del corso Obiettivi: Il corso di illustra i principi fondamentali della programmazione con riferimento al linguaggio C. In particolare privilegia gli

Dettagli

SMS API. Documentazione Tecnica YouSMS SOAP API. YouSMS Evet Limited 2015 http://www.yousms.it

SMS API. Documentazione Tecnica YouSMS SOAP API. YouSMS Evet Limited 2015 http://www.yousms.it SMS API Documentazione Tecnica YouSMS SOAP API YouSMS Evet Limited 2015 http://www.yousms.it INDICE DEI CONTENUTI Introduzione... 2 Autenticazione & Sicurezza... 2 Username e Password... 2 Connessione

Dettagli

Simplex Gestione Hotel

Simplex Gestione Hotel Simplex Gestione Hotel Revisione documento 01-2012 Questo documento contiene le istruzioni per l'utilizzo del software Simplex Gestione Hotel. E' consentita la riproduzione e la distribuzione da parte

Dettagli

Specifiche tecniche per la trasmissione telematica della certificazione Unica 2015

Specifiche tecniche per la trasmissione telematica della certificazione Unica 2015 ALLEGATO A Specifiche tecniche per la trasmissione telematica della certificazione Unica 2015 per i redditi di lavoro dipendente/assimilati e di lavoro autonomo/provvigioni e diversi Specifiche tecniche

Dettagli

Panasonic. Analog Pbx System KX-TES 824 (NE) e TEA308 (NE) Chiamate senza restrizioni (PIN,Codice Conto e Cambio COS)

Panasonic. Analog Pbx System KX-TES 824 (NE) e TEA308 (NE) Chiamate senza restrizioni (PIN,Codice Conto e Cambio COS) Panasonic Analog Pbx System KX-TES 824 (NE) e TEA308 (NE) Chiamate senza restrizioni (PIN,Codice Conto e Cambio COS) Centrale Telefonica KX-TES 824 e TEA308 Informazione Tecnica N 010 Panasonic Italia

Dettagli

APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO. Francesco Marchione e Dario Richichi

APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO. Francesco Marchione e Dario Richichi APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO Francesco Marchione e Dario Richichi Istituto Nazionale di Geofisica e Vulcanologia Sezione di Palermo Indice Introduzione...

Dettagli

Business Intelligence

Business Intelligence aggregazione dati Business Intelligence analytic applications query d a t a w a r e h o u s e aggregazione budget sales inquiry data mining Decision Support Systems MIS ERP data management Data Modeling

Dettagli

Dal punto di vista organizzativo sono possibili due soluzioni per il sistema di rete.

Dal punto di vista organizzativo sono possibili due soluzioni per il sistema di rete. Premessa. La traccia di questo anno integra richieste che possono essere ricondotte a due tipi di prove, informatica sistemi, senza lasciare spazio ad opzioni facoltative. Alcuni quesiti vanno oltre le

Dettagli

Elenco delle funzioni di OpenOffice.org Calc

Elenco delle funzioni di OpenOffice.org Calc Elenco delle funzioni di OpenOffice.org Calc OpenOffice.org Calc è un foglio elettronico che potete utilizzare per eseguire calcoli, nonché per analizzare e per gestire i vostri dati. Con Calc potete inoltre

Dettagli

Documentazione Servizio SMS WEB. Versione 1.0

Documentazione Servizio SMS WEB. Versione 1.0 Documentazione Servizio SMS WEB Versione 1.0 1 Contenuti 1 INTRODUZIONE...5 1.1 MULTILANGUAGE...5 2 MESSAGGI...7 2.1 MESSAGGI...7 2.1.1 INVIO SINGOLO SMS...7 2.1.2 INVIO MULTIPLO SMS...9 2.1.3 INVIO MMS

Dettagli

l Editor vi vi (visual editor) è stato scritto per essere utilizzabile con qualsiasi tipo di terminale.

l Editor vi vi (visual editor) è stato scritto per essere utilizzabile con qualsiasi tipo di terminale. l Editor vi Negli ambienti Unix esistono molti editor di testo diversi; tuttavia vi è l unico che siamo sicuri di trovare in qualsiasi variante di Unix. vi (visual editor) è stato scritto per essere utilizzabile

Dettagli

Funzioni matlab per la gestione dei file. Informatica B Prof. Morzenti

Funzioni matlab per la gestione dei file. Informatica B Prof. Morzenti Funzioni matlab per la gestione dei file Informatica B Prof. Morzenti File Contenitori di informazione permanenti Sono memorizzati su memoria di massa Possono continuare a esistere indipendentemente dalla

Dettagli

APPUNTI DI MATEMATICA LE DISEQUAZIONI NON LINEARI

APPUNTI DI MATEMATICA LE DISEQUAZIONI NON LINEARI APPUNTI DI MATEMATICA LE DISEQUAZIONI NON LINEARI Le disequazioni fratte Le disequazioni di secondo grado I sistemi di disequazioni Alessandro Bocconi Indice 1 Le disequazioni non lineari 2 1.1 Introduzione.........................................

Dettagli

Progettazione di Database

Progettazione di Database Progettazione di Database Progettazione Concettuale: strutturazione della realtà che si vuole rappresentare secondo uno schema concettuale Dallo schema concettuale si ricava lo schema del database relazionale

Dettagli

MANUALE D USO G.ALI.LE.O GALILEO. Manuale d uso. Versione 1.1.0. [OFR] - Progetto GALILEO - Manuale d uso

MANUALE D USO G.ALI.LE.O GALILEO. Manuale d uso. Versione 1.1.0. [OFR] - Progetto GALILEO - Manuale d uso [OFR] - - G.ALI.LE.O Versione 1.1.0 MANUALE D USO pag. 1 di 85 [OFR] - - pag. 2 di 85 [OFR] - - Sommario 1 - Introduzione... 6 2 - Gestione ALbI digitale Ordini (G.ALI.LE.O.)... 7 2.1 - Schema di principio...

Dettagli

ALLEGATO N. 2 STANDARD TECNICI DELL ARCHIVIO UNICO INFORMATICO

ALLEGATO N. 2 STANDARD TECNICI DELL ARCHIVIO UNICO INFORMATICO ALLEGATO N. 2 STANDARD TECNICI DELL ARCHIVIO UNICO INFORMATICO 1 INDICE 1) ASPETTI GENERALI 2) CONTENUTO DELL ARCHIVIO UNICO INFORMATICO 2.1) OPERAZIONI 2.2) RAPPORTI 2.3) LEGAMI TRA SOGGETTI 3) CRITERI

Dettagli

Accuratezza di uno strumento

Accuratezza di uno strumento Accuratezza di uno strumento Come abbiamo già accennato la volta scora, il risultato della misurazione di una grandezza fisica, qualsiasi sia lo strumento utilizzato, non è mai un valore numerico X univocamente

Dettagli

Algebra di Boole ed Elementi di Logica

Algebra di Boole ed Elementi di Logica Algebra di Boole ed Elementi di Logica 53 Cenni all algebra di Boole L algebra di Boole (inventata da G. Boole, britannico, seconda metà 8), o algebra della logica, si basa su operazioni logiche Le operazioni

Dettagli

Rappresentazione dei numeri in un calcolatore

Rappresentazione dei numeri in un calcolatore Corso di Calcolatori Elettronici I A.A. 2010-2011 Rappresentazione dei numeri in un calcolatore Lezione 2 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rappresentazione dei numeri

Dettagli

ELENCO MIGLIORIE INCLUSE DALLA 10.0.0 ALLA 14.3.0

ELENCO MIGLIORIE INCLUSE DALLA 10.0.0 ALLA 14.3.0 ELENCO MIGLIORIE INCLUSE DALLA 10.0.0 ALLA 14.3.0 NUOVE PRINCIPALI FUNZIONALITÀ 14.3.0 GENERAZIONE FILE EFFETTI IN FORMATO SEPA Dal programma 'Incassi e Pagamenti Automatici' è ora possibile generare file

Dettagli

Logica del primo ordine

Logica del primo ordine Università di Bergamo Facoltà di Ingegneria Intelligenza Artificiale Paolo Salvaneschi A7_4 V1.3 Logica del primo ordine Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio

Dettagli

SOMMARIO. 2003 Gruppo 4 - All right reserved 1

SOMMARIO. 2003 Gruppo 4 - All right reserved 1 SOMMARIO STUDIO DEL DOMINIO DI APPLICAZIONE...2 Introduzione...2 Overview del sistema...2 Specificità del progetto 2...2 Utente generico...3 Studente...3 Docente...3 Amministratore di sistema...3 GLOSSARIO...4

Dettagli

Gestione dei Centri di Assistenza Tecnica. Un prodotto: LOGICA.Studio. Pagina 1

Gestione dei Centri di Assistenza Tecnica. Un prodotto: LOGICA.Studio. Pagina 1 Gestione dei Centri di Assistenza Tecnica Un prodotto: LOGICA.Studio Pagina 1 Ultima release 13/08/2010 La stampa di questo manuale è prevista su formato A5 in fronte/retro Pagina 2 INDICE Introduzione

Dettagli

Corso di Fondamenti di Informatica

Corso di Fondamenti di Informatica Corso di Fondamenti di Informatica L uso delle funzioni in C++ Claudio De Stefano - Corso di Fondamenti di Informatica 1 Funzioni Nel C++ è possibile scomporre problemi complessi in moduli più semplici

Dettagli