Giovanna Rosone 08/04/2010

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Giovanna Rosone 08/04/2010"

Transcript

1 Giovanna Rosone 08/04/2010

2 Precedenza degli operatori La precedenza definisce l ordine con cui vengono eseguiti i calcoli matematici, non solo in Oracle, ma più in generale in matematica. Le regole sono semplici: Le operazioni racchiuse fra parentesi hanno la precedenza assoluta, poi vengono considerate le moltiplicazioni e le divisioni, quindi le addizioni e le sottrazioni. Anche gli operatori logici obbediscono alle regole di precedenza, in particolare AND ha il grado di precedenza maggiore. 2

3 Tipi di Funzione Funzioni numeriche Funioni di stringhe Funzioni di date Funzioni di conversione Funzioni di selezione 3

4 Funzioni numeriche

5 Classi di funzioni numeriche Le funzioni di Oracle si applicano a tre classi di numeri: Valori singoli O un numero vero e proprio O una variabile numerica PL/SQL Un numero tratto da una colonna o da una riga del database Gruppi di valori Sono numeri di una colonna tratti da una serie di righe Elenchi di valori serie di numeri che può comprendere Elenchi di numeri veri e propri 34, 4, 23.45, 45.3 Elenchi di variabili numeriche PL/SQL Elementi in colonne di una riga 5

6 Alcune funzioni numeriche a valori singoli Addizione Sottrazione Moltiplicazione Divisione Valore assoluto Parte intera superiore Parte intera inferiore Logaritmo naturale Logaritmo in base qualsiasi Esponenziale in base e Valore elevato a esponente Radice quadrata Modulo Sostituto di valore se il valore è nullo Arrotondamento a valore di precisione Valore troncato a precisione valore1+valore2 valore1-valore2 valore1*valore2 valore1/valore2 ABS(valore) CEIL(valore) FLOOR(valore) LN(valore) LOG(valore,base) EXP(valore) POWER(Valore, esponente) SQRT(valore) MOD(valore, divisore) NVL(valore, sostituto) ROUND(valore, precisione) TRUNC(valore, precisione) 6

7 La tabella DUAL Oracle fornisce la definizione di una piccola tabella, chiamata DUAL, di una riga e una colonna che permette di calcolare il risultati delle funzioni su valori specifici. L unico valore rappresentato nella tabella sarà il risultato della funzione (o composizione di funzioni) rappresentato come unica colonna Esempio: se si vuole calcolare Mod(63,5) basta scrivere Select mod(63,5) from DUAL In questo modo si può testare il funzionamento delle varie funzioni su dei valori particolari 7

8 Esercizi Calcolare 34 modulo 4 Calcolare il valore assoluto di Calcolare la parte intera inferiore di 34.3 Calcolare la parte intera inferiore di Calcolare la parte intera superiore di Calcolare la parte intera superiore di Arrotondare il valore alla 1 a cifra decimale Troncare il valore alla 2 a cifra decimale Calcolare Calcolare Calcolare la radice quadrata di Calcolare e 11.3 Calcolare il logaritmo naturale di 11.3 Calcolare il logaritmo in base 10 di

9 Esercizio Aggiungere nella tabella Articolo la colonna spesetrasporto che indica le spese di trasporto. ALTER TABLE articolo ADD spesetrasporto number(5,2) Aggiornare le spese di trasporto degli articoli con categoria Cat_A e Cat_C. In particolare, le spese di spedizione degli articoli con categoria Cat_A saranno di 15 euro, mentre quelli di categoria Cat_C saranno di 23 euro. UPDATE articolo SET SPESETRASPORTO = 15 WHERE CATEGORIA = 'Cat_A' UPDATE articolo SET SPESETRASPORTO = 23 WHERE CATEGORIA = 'Cat_C' 9

10 Esercizio Calcolare per ogni articolo il prezzo lordo, inclusivo di spese di trasporto. Per gli elementi per cui l IVA non è definita, imporre il valore del 10%, e considerare gratuite le spese di trasporto là dove non sono definite. Rinominare tale colonna con la dicitura Prezzo totale. Select DESCRIZIONE, PREZZOVENDITAUNITARIO*(1+NVL(ALIQUOTAIVA, 10)/100)+ NVL(SPESETRASPORTO, 0) as "Prezzo totale" FROM Articolo 10

11 Funzioni di gruppo Vi sono molte funzioni di gruppo, alcune delle quali le abbiamo già viste, come COUNT, SUM, AVG, MAX, MIN Ve ne sono altre, come le funzioni di tipo statistico, la deviazione standard e la varianza, ect. (vedi guida Oracle 9 o 10). Nelle funzioni di gruppo i valori nulli non sono considerati, tranne che per la funzione COUNT dove si può richiedere (mediante la specifica (*)) di considerare anche le righe nulle. 11

12 Funzioni di gruppo e funzioni su valori singoli (1) Le funzioni su valori singoli possono essere composte fra di loro a piacimento, rispettando il numero dei parametri. Esempio: Mod(abs(34-56), 7), ceil(sqrt(abs(234*(-24)))) L argomento di una funzione di gruppo può essere una composizione di funzioni su valori singoli applicati alle righe. Esempio: Select AVG(power(round(sqrt(PREZZOVENDITAUNITARIO* (1+ALIQUOTAIVA/100))), 2)) FROM Articolo Non si possono invece comporre due funzioni di gruppo Sum(AVG(temperature)) (Vedremo come ovviare a questo problema successivamente) 12

13 Funzioni numeriche di elenco Mentre le funzioni di gruppo operano su diverse righe, le funzioni di elenco operano su diverse colonne all interno di un unica riga. Le funzioni di elenco sono: Coalesce(valore1,valore2, ) Greatest(valore1,valore2, ) Least(valore1,valore2, ) Restituisce il primo valore non null nell elenco delle espressioni. Se tutti i valori sono nulli, restituisce NULL. Il valore più grande dell elenco, se non ci sono valori nulli Il valore più piccolo nell elenco, se non ci sono valori nulli 14

14 Data PA CT AG ME 14-Mar Mar Mar Mar Mar Calcolare per ogni giorno la temperatura massima, la temperatura minima e la prima temperatura non nulla nell elenco. Select data, Greatest (PA, CT, AG, ME) GST, Least (PA, CT, AG, ME) LST, Coalesce (PA, CT, AG, ME) COA From Temperature Data GST LST COA 14-Mar Mar Mar Mar Mar Perché non ha determinato il massimo e il minimo? 15

15 Esercizio Stabilire per ogni riga della tabella articolo, il massimo e il minimo fra il prezzo netto dell articolo e la somma del costo dell IVA e delle spese di trasporto. Inoltre, determinare il primo valore non null tra la colonna PREZZOVENDITAUNITARIO e la colonna SPESETRASPORTO. Select Greatest(PREZZOVENDITAUNITARIO, PREZZOVENDITAUNITARIO*ALIQUOTAIVA/100+SPESETRASPORTO), Least (PREZZOVENDITAUNITARIO, PREZZOVENDITAUNITARIO*ALIQUOTAIVA/100+SPESETRASPORTO), Coalesce(PREZZOVENDITAUNITARIO, SPESETRASPORTO) FROM Articolo 16

16 Funzioni su stringhe 17

17 Funzioni su stringhe In Oracle le funzioni su stringhe operano in due modi: alcune creano oggetti nuovi a partire dai vecchi, modificando i valori di input, per esempio trasformando i valori minuscoli in maiuscoli. Altre forniscono un informazione sulla stringa, come per esempio la sua lunghezza. 18

18 Alcune funzioni di stringa str1 str2, concat(str1, str2) ASCII(str) Chr(int) Length(str) Lower (str) Upper(str) Initcap(str) Concatenazione Intero corrispondente codice ASCIIdel 1 o carattere di str Carattere corrispondente all intero int dato in input nel codice ASCII Fornisce la lunghezza di una stringa str Rende minuscoli tutti i caratteri di str Rende maiuscoli tutti i caratteri di str Rende maiuscolo il primo carattere di una stringa str 19

19 Alcune funzioni di stringa Substr (str, i,k) Estrae dalla stringa str la sottostringa che inizia nella posizione i ed è lunga k caratteri Instr(str, chr) Trova la posizione di un carattere chr in una stringa str LPAD(str,l [,car]) Riempie una stringa str fino a una certa lunghezza l aggiungendo a sinistra una serie di caratteri car RPAD(str,l [,car]) Riempie una stringa str fino a una certa lunghezza l aggiungendo a destra una serie di caratteri car LTRIM(str, chr) Elimina tutti i caratteri che rientrano in una serie specificata chr dalla parte sinistra di una stringa str RTRIM(str, chr) Elimina tutti i caratteri che rientrano in una serie specificata chr dalla parte sinistra di una stringa str TRIM(str, chr) Elimina tutti i caratteri che rientrano in una serie specificata chr dalla parte da entrambe le estremità di una stringa str 20

20 Concatenazione di stringhe Per concatenare due stringhe si può utilizzare o l operatore oppure la funzione CONCAT. Questi operatori vengono applicati ai nomi di colonne e ad elementi letterali. Esempio: Visualizzare in un unica colonna il nome e cognome di ogni Impiegato. Impiegato Matricola Nome Cognome Settore Luca Rossi segreteria Mara Bruni produzione Ugo Verdi marketing Fabio Neri produzione Select Nome Cognome From Impiegato Nome Cognome Luca Rossi Mara Bruni Ugo Verdi Fabio Neri 21

21 Concatenazione di stringhe Alternativamente si può usare la funzione CONCAT. Impiegato Matricola Nome Cognome Settore Luca Rossi segreteria Mara Bruni produzione Ugo Verdi marketing Fabio Neri produzione Select Concat(Concat(Nome, ), Cognome) From Impiegato Concat(Nome,, Cognome) Luca Rossi Mara Bruni Ugo Verdi Fabio Neri 22

22 Esercizio Scrivere la descrizione di ogni articolo, seguita dal suo codice fra parentesi. Ad esempio: HD (10C) Select (descrizione ' (' codart ')') FROM Articolo 23

23 Rpad ed Lpad Sono due funzioni che permettono di aggiungere dei simboli rispettivamente alla destra e alla sinistra della stringa considerata. Sintassi: Rpad(str, lungh [,chr]) Lpad(str, lungh [,chr]) Dove str è la stringa considerata, lungh indica la lunghezza della stringa risultante (di conseguenza il numero di simboli aggiunti sarà lungh - length(str)) e chr indica il tipo di carattere che si vuole aggiungere. Se tale carattere viene omesso, il default è lo spazio. Questa funzione ha senso quando si utilizza l interfaccia a riga di comando, dove le tabelle non sono graficamente ben definite come nella nostra interfaccia 24

24 Rpad, esempio Si vogliono aggiungere dei puntini alla fine di ogni nome per collegarli al cognome Impiegato Matricola Nome Cognome Settore Luca Rossi segreteria Mara Bruni produzione Ugo Verdi marketing Fabio Neri produzione Select Rpad(nome, 18,. ), Cognome From Impiegato Rpad(nome,18,. ) Cognome Luca... Rossi Mara... Bruni Ugo... Verdi Fabio... Neri 25

25 Lpad, esempio Si vogliono formattare i nomi, giustificandoli a destra Impiegato Matricola Nome Cognome Settore Luca Rossi segreteria Mara Bruni produzione Ugo Verdi marketing Fabio Neri produzione Select Lpad(nome, 18), Cognome From Impiegato Lpad(nome,14) Cognome Luca Rossi Mara Bruni Ugo Verdi Fabio Neri 26

26 Rtrim, Ltrim, Trim Queste funzioni servono ad eliminare alcuni caratteri rispettivamente all inizio, alla fine, e da entrambi i lati di una stringa. Sintassi: Rtrim(str, chr) Ltrim(str, chr) Trim(str,chr) Dove str è la stringa considerata e chr è un carattere o una sequenza di caratteri (un insieme) che si vuole eliminare rispettivamente dall inizio, dalla fine e da entrambi i lati della lista. Quindi eliminano i caratteri che rientrano in una serie specificata da una parte o dall altra o da entrambi. 27

27 Ltrim: esempio Libri Autore Titolo Collocazione D. Alighieri la divina Commedia D. Brown Il codice Da Vinci G. Garcia Marquez Cent anni di solitudine A. Camilleri Il ladro di merendine E. Morante La storia E. Hemingway Il vecchio e il mare Titolo Select Ltrim(titolo, '"' ) Titolo From Libri la divina Commedia Il codice Da Vinci. Cent anni di solitudine Il ladro di merendine. La storia. Il vecchio e il mare 28

28 Rtrim: esempio Libri Autore Titolo Collocazione D. Alighieri la divina Commedia D. Brown Il codice Da Vinci G. Garcia Marquez Cent anni di solitudine A. Camilleri Il ladro di merendine E. Morante La storia E. Hemingway Il vecchio e il mare Titolo Select Rtrim(titolo, '."') Titolo From Libri la divina Commedia Il codice Da Vinci Cent anni di solitudine Il ladro di merendine La storia Il vecchio e il mare 29

29 Ltrim ed Rtrim: esempio Libri Autore Titolo Collocazione D. Alighieri la divina Commedia D. Brown Il codice Da Vinci G. Garcia Marquez Cent anni di solitudine A. Camilleri Il ladro di merendine E. Morante La storia E. Hemingway Il vecchio e il mare Titolo Select Ltrim(Rtrim(titolo, '."'), '"') Titolo From Libri la divina Commedia Il codice Da Vinci Cent anni di solitudine Il ladro di merendine La storia Il vecchio e il mare 30

30 Ltrim, Rtrim: attenzione!! Libri Autore Titolo Collocazione D. Alighieri la divina Commedia D. Brown Il codice Da Vinci G. Garcia Marquez Cent anni di solitudine A. Camilleri Il ladro di merendine E. Morante La storia E. Hemingway Il vecchio e il mare Select Ltrim(titolo, '"Il ') Titolo From Libri Quello che c è tra apici è un insieme e non una sequenza. Vengono eliminati dall inizio tutti i simboli (case-sensitive) che appartengono all insieme, indipendentemente dall ordine. Titolo a divina Commedia codice Da Vinci Cent anni di solitudine adro di merendine La storia vecchio e il mare 31

31 Trim, Esempio Libri Autore Titolo Collocazione D. Alighieri la divina Commedia D. Brown Il codice Da Vinci G. Garcia Marquez Cent anni di solitudine A. Camilleri Il ladro di merendine E. Morante La storia E. Hemingway Il vecchio e il mare Select Trim('"'FROM titolo) as Titolo From Libri In questo modo si possono eliminare le virgolette ad entrambi i lati del titolo Titolo La divina Commedia Il codice Da Vinci. Cent anni di solitudine Il ladro di merendine. La storia. Il vecchio e il mare 32

32 Lower, Upper ed Initcap Lower(str) rende minuscolo ogni carattere della stringa str. Upper(str) rende maiuscolo ogni carattere della stringa str. Initcap(str) rende maiuscola la prima lettera di ogni parola della stringa str. 33

33 Esempio Libri Autore Titolo Collocazione D. Alighieri la divina Commedia D. Brown Il codice Da Vinci G. Garcia Marquez Cent anni di solitudine A. Camilleri Il ladro di merendine E. Morante La storia Select Upper(titolo), Lower(titolo), Initcap(titolo) From Libri Upper(titolo) Lower(Titolo) Initcap(titolo) LA DIVINA COMMEDIA la divina commedia La Divina Commedia IL CODICE DA VINCI il codice da vinci Il Codice Da Vinci CENT ANNI DI SOLITUDINE cent anni di solitudine Cent Anni Di Solitudine IL LADRO DI MERENDINE il ladro di merendine Il Ladro Di Merendine LA STORIA la storia La Storia 34

34 Substr Substr(str, pos, ncar) estrae dalla stringa str la sottostringa che inizia dalla posizione pos e che ha ncar caratteri. Se ncar non è specificata, si sottointendono tutti i caratteri fino alla fine. E possibile anche inserire un numero negativo in pos, intendendo che il carattere di inizio viene contato a partire da pos elementi dalla fine. 35

35 Esempio Supponiamo che i primi due caratteri della collocazione rappresentino lo scaffale e che le ultime 4 rappresentino la collocazione nel suo scaffale Libri Autore Titolo Collocazione D. Alighieri La divina Commedia D. Brown Il codice Da Vinci G. Garcia Marquez Cent anni di solitudine A. Camilleri Il ladro di merendine E. Morante La storia Select substr(collocazione, 1, 2) Scaffale substr(collocazione, -4) Colloc From Libri Scaffale Colloc

36 Instr La funzione Instr(str, set [, inizio[, occorrenza]]) fornisce la posizione (se esiste) in cui la stringa set è presente nella stringa str a partire dalla posizione inizio. Se il parametro inizio non è specificato, assume valore 1 per default. Il parametro occorrenza indica l occorrenza che si vuole trovare della stringa set. Se per esempio occorrenza è 3, vengono saltate le prime due occorrenze. Select Instr(titolo, 'Il', 1,1) from Libri Select titolo, Instr(titolo, 'di') Dove From Libri Titolo La divina Commedia 5 Il codice Da Vinci. 6 Cent anni di solitudine 11 Il ladro di merendine. 11 La storia. 0 Dove 37

37 Funzioni di date e funzioni di conversione

38 Il tipo date In Oracle il tipo date è memorizzato in un formato che comprende giorno, mese, anno, ma anche ora, minuti e secondi. E poi possibile formattare la colonna in modo da mostrare solo la data, la data e l ora, la data l ora e i minuti, oppure la data l ora i minuti e i secondi. Se non viene specificata nessuna formattazione, appare solo la data con giorno, mese e anno. Per le frazioni di secondo è possibile utilizzare il tipo timestamp 39

39 Funzioni di date Add_Months (n, data) Current_Date Current_Timestamp Somma n mesi a data Data corrente nel fuso orario della sessione Indicatore orario nel fuso orario della sessione Extract (UT FROM data) Estrae una porzione di data (UT=unità di tempo) da un valore data Greatest(data1,data2, ) Least(data1, data2 ) Last_day(data) La più recente fra le date elencate La meno recente fra le date elencate La data dell ultimo giorno del mese a cui appartiene la data Months_Between(data2,data1) Fornisce data2-data1 in mesi (eventualmente numero frazionario) Next_Day(data, giorno ) Data del giorno successivo a date dove giorno= Monday, Tuesday etc Round(data, formato ) Senza un formato specificato arrotonda una data a 12 A.M. se l ora della data è prima di mezzogiorno, altrimenti alle 12 A.M del giorno successivo. 40

40 Sysdate, Current_date e Systimestamp Sysdate è una funzione che da come risultato la data e l ora correnti Systimestamp segnala la data di sistema nel formato del tipo di dati timestamp Select Sysdate From Dual Select Systimestamp From Dual 41

41 Differenza fra due date La differenza fra due date restituisce il tempo, espresso in giorni, che intercorre fra le due date. Esercizio Per ogni coppia di ordini distinti, trovare il tempo che intercorre fra essi. Select o.codordine, d.codordine, o.datavendita-d.datavendita From ordine o, ordine d Where o.codordine>d.codordine 42

42 Aggiunta di mesi Add_Months(data,n) aggiunge n mesi alla data considerata. Se n è un numero negativo, si ottiene la sottrazione di n mesi dalla data. Esercizio Nella tabella ordine, visualizzare una colonna scadenza, che avviene due mesi dopo la data in cui l ordine è effettuato Select ordine.*, Add_months(DATAVENDITA,2) Scadenza From ordine 43

43 Greatest e Least Greatest(data1, data2, ) seleziona la massima fra le date dell elenco. Least(data1,data2, ) seleziona la minima fra le date dell elenco. 44

44 Esempio Persone Nome Laurea Matrimonio Assunzione Rossi 14-Lug Set Mar-2003 Verdi 16-Apr Gen Set-2000 Bruni 2-Dic Set Gen-2003 Gialli 18-Dic Feb Lug-2003 Creare la tabella descritta sopra e inserire i dati. Per ogni persona, trovare la data più antica e la data più recente tra quella di laurea, quella di matrimonio e quella di assunzione. Select Nome, Greatest(Laurea, Matrimonio, Assunzione) Least(Laurea, Matrimonio, Assunzione) From Persone 45

45 Greatest e least coi letterali Se si applicano le funzioni greatest e least sui letterali, insorge un problema. Select Least ( 12-Gen-2004, 12-Dic-2007 ) From Dual La funzione least restituisce il valore 12-Dic Questo perché Oracle interpreta i valori tra virgolette come stringhe, e quindi utilizza l ordine lessicografico. Per ottenere il risultato corretto occorre usare la funzione di conversione TO_DATE Select Least (To_date( 12-Gen-2006 ), To_date( 12-Dic-2007 )) 46

46 Next_day Next_day(data, giorno sett ) calcola la data del prossimo giorno della settimana (giorno_sett) successivo alla data specificata. Esercizio: calcolare la data della prossima domenica Select next_day(sysdate, domenica ) From Dual 47

47 Last_day Last_day (data) restituisce l ultimo giorno del mese contenuto nella data. Esercizio: trovare quanti giorni aveva il mese di febbraio nell anno E nel 2000? E nel 1900? Select Last_day(to_date( 1-Feb-2004 )) from Dual Select Last_day(to_date( 1-Feb-2000 )) from Dual Select Last_day(to_date( 1-Feb-1900 )) from Dual 48

48 Months Between Months_Between(data1, data2) calcola i mesi che intercorrono tra la data2 e la data1 Esercizio: creare la seguente tabella e trovare l età delle persone nella tabella: Compleanni Nome Cognome Data di Nascita Piero Viola 25-Apr-1970 Giorgio Rossi 30-Giu-1966 Marco Neri 16-Set-1977 Luca Verdi 12-Gen-1972 Select Compleanni.*, Floor(months_between(Sysdate, "data di nascita")/12) eta From Compleanni 49

49 Esercizio Determinare chi è la persona più anziana, specificandone nome, cognome, data di nascita ed età. Compleanni Nome Cognome Data di Nascita Piero Viola 25-Apr-1970 Giorgio Rossi 30-Giu-1966 Marco Neri 16-Set-1977 Luca Verdi 12-Gen-1972 Select Compleanni.*, Floor(months_between(sysdate, "data di nascita")/12) eta From Compleanni Where Floor(months_between(sysdate,"data di nascita")/12) =(select max(floor(months_between(sysdate, "data di nascita")/12)) From Compleanni) 50

50 Round e Trunc Una variabile di tipo date in genere contiene anche l informazione su ora, minuti e secondi. A volte può essere importante omettere questi dettagli per evitare la presenza di cifre decimali nell utilizzo di alcune funzioni. Per questo a volte è utile fare degli arrotondamenti. 51

51 Round e Trunc A una data inserita come letterale è assegnata come ora predefinita le 12 A.M. dell inizio della giornata. Sysdate contiene sia la data che l ora. In questo caso secondo l applicazione si può applicare: ROUND, che arrotonda l ora alla mezzanotte precedente, se l ora è precedente a mezzogiorno, o alla mezzanotte seguente se l ora è successiva a mezzogiorno. Altrimenti si può usare la funzione TRUNC che imposta sempre l ora alla mezzanotte precedente dello stesso giorno. 52

52 Esercizio Trovare quanti giorni mancano alla prossima domenica, arrotondando la data di sistema alla mezzanotte precedente. Supponiamo che siano le 16:59 del 9 aprile 2010 e che quindi la prossima domenica sarà l 11 aprile. Select Round(NEXT_DAY(sysdate, 'Domenica'))- Round(sysdate) From Dual Restituisce Mentre Select Round(NEXT_DAY(sysdate, 'Domenica'))-sysdate From Dual Restituisce In realtà, il risultato potrebbe variare in base al formato predefinito nella vostra installazione di Oracle. 53

53 Funzioni di conversione

54 Formattazione La funzione to_date converte una stringa di caratteri in una data. La funzione to_char converte una data o un numero in una stringa di caratteri. La funzione to_number trasforma una stringa in un numero 55

55 Sintassi To_char(data [, formato ]) o To_char(numero) To_date(stringa [, formato ]) To_number(stringa) Nella conversione to_date, stringa è una stringa letterale, un numero vero e proprio o una colonna di un database che contiene una stringa o un numero. In ogni caso il formato di stringa deve essere quello definito da formato. Solo se stringa è nel formato predefinito, si può evitare di descrivere il formato. Il valore predefinito è DD-MON-YYYY 56

56 Modificare il formato Il formato della sessione può essere modificato mediante l istruzione Alter session set NLS_DATE_FORMAT = nuovo_formato I vari tipi di formato si trovano nel manuale ORACLE 9 nella tabella a pagina

57 To_char, Esempio Compleanni Nome Cognome Data di Nascita Piero Viola 25-Apr-1970 Giorgio Rossi 30-Giu-1966 Marco Neri 16-Set-1977 Luca Verdi 12-Gen-1972 Select "data di nascita", to_char("data di nascita", 'MM/DD/YY') Formattato From Compleanni Data di Nascita Formattato 25-Apr /25/70 30-Giu /30/66 16-Set /16/77 12-Gen /12/72 58

58 Trasformazione di data come letterale Per trasformare il formato di una data inserita come letterale possiamo scrivere: Select to_char(to_date('12-mar-1970'), 'DD Month YY') formattato From dual Dual Formattato 12 Marzo 70 59

59 Visualizzare l orario La funzione to_char permette anche di visualizzare l orario. Infatti una variabile date contiene anche l orario, anche se per default viene visualizzato solo giorno mese e anno. Un modo per visualizzare l orario è di trasformarlo in formato carattere, specificando nella formattazione che si intende visualizzare l orario Select to_char(sysdate, hh:mi:ss ) from dual Select to_char("data di nascita", 'hh24, mi, ss') From Compleanni N.B. Minuti è indicato da mi e non da mm (mese) 60

60 To_char sui numeri La funzione to_char può anche essere applicata a un oggetto di tipo number. In questo caso un tipo numerico viene trasformato in una stringa. Questo permetterà di applicare a un tipo numerico funzioni definite su stringhe Esempio Supponiamo che in una tabella rubrica il numero civico e il CAP siano definiti come number. Per visualizzare l indirizzo completo comprensivo di numero civico e cap si può scrivere Select Via ', ' to_char(num) ' - ' to_char(cap) From Rubrica 61

61 In realtà In realtà se noi scriviamo Select Via ', ' num ' - ' cap From Rubrica Otteniamo lo stesso risultato. Questo perché spesso Oracle opera queste conversioni in maniera automatica 62

62 To date L istruzione to_date serve a convertire una stringa o un numero in una data. Ovviamente la stringa o la data deve essere in un formato compatible con quello della data. Sintassi: To_date(string [,formato]) In questo caso formato può essere omesso solo nel caso in cui la stringa rappresenta una data nel formato predefinito Select to_date( 15-Mag-2007 ) from Dual 63

63 Date non in formato predefinito Se, per esempio, la stringa contiene una data nella forma MM/GG/AA, allora devo specificare in quale formato inserisco la stringa da trasformare in data. Esempio: Select to_date( 05/15/07, MM/GG/AA ) from dual La data sarà comunque visualizzata nel formato predefinito 15-Mag-2007 n.b. 07 può significare 2007 o Questo dipenderà dalle impostazioni predefinite del database 64

64 Trasformazione di un numero in data Anche un numero, se espresso in una certa forma, può rappresentare una data. La funzione to_date, applicata a un numero, e specificandone il formato, converte il numero in una data Select to_date((120370), 'DDMMYY') Data From dual Dual Data 12-Mar

65 Limitazioni della stringa Ovviamente non qualunque stringa può essere trasformata in data. La stringa è infatti soggetta alle seguenti limitazioni: 1. Non sono consentite stringhe letterali che non hanno a che fare con date. Esempio to_date( Donald Duck ); 2. I giorni non possono essere scritti in lettere. Devono essere dei numeri; 3. Sono consentiti i segni di interpunzione (per separare le varie unità di misura) 4. Se viene utilizzata Month il mese nella stringa deve essere scritto per esteso in lettere. Se è utilizzato Mon, deve essere un abbreviazione di tre lettere. Le lettere maiuscole o minuscole vengono ignorate. 66

66 To number To number trasforma una stringa in un numero, se la stringa contiene solo cifre. select to_number(' ')+1 from dual 67

67 Conversione automatica Spesso Oracle effettua automaticamente alcune conversioni. Ci sono comunque certi casi in cui le conversioni automatiche non vengono effettuate. 68

68 Conversione automatica, regole Qualsiasi number o date può essere convertito in stringa di caratteri. Dunque una qualsiasi funzione di stringa può essere applicata a una colonna di tipo date o number, senza bisogno di convertirle. Un valore char o varchar è convertito in number solo se contiene cifre, un punto decimale e un segno (meno) prima delle cifre Un valore char è convertito in data solo se è espresso nel formato predefinito DD-Mon-YYYY. Questo vale per tutte le funzioni tranne che per GREATEST e LEAST per cui vengono considerati in ogni caso come stringhe e vale per Between solo se la colonna a sinistra di between è di tipo date 69

69 Decode e Case

70 La funzione decode La funzione Decode realizza in SQL il costrutto if then else presente nei vari linguaggi di programmazione. 71

71 Decode, sintassi DECODE(valore, if 1,then 1,if 2,then 2,, if n,then n, else) Qui valore rappresenta un qualsiasi attributo della tabella, o qualsiasi risultato di un calcolo. Il valore viene calcolato per ogni riga. Se è uguale a if 1 allora il risultato è then 1, se è uguale a if 2, il risultato è then 2, etc. Se il valore non è uguale a nessuno dei valori, allora il risultato è else Ciascuno degli if, then, else può essere una colonna o il risultato di una funzione o calcolo. Fra parentesi è possibile racchiudere fino a 255 elementi 72

72 Esempio Biblio-Prestiti Nome Titolo Dataprest Datarest Biblioteca Autore Titolo Editore Genere Pagine Anno Collocazione Si vuole dare una diversa scadenza per i prestiti in base al genere di libro, in quanto ci sono dei libri che si leggono più in fretta e degli altri per cui occorre piu tempo. La penale da pagare dipenderà anche dal genere 73

73 Esempio Prestiti Nome Titolo Dataprest Datarest Biblioteca Autore Titolo Editore Genere Pagine Anno Collocazione Per ogni persona che prende in prestito un libro, elencare nome, ritardo rispetto alla scadenza e mora, considerando che il prestito per i romanzi scade dopo 14 giorni, per i libri per bambini dopo 25 giorni, per i saggi dopo 20 giorni e per tutti gli altri libri dopo 18 giorni, e che la mora è di 0.5 euro al giorno per i romanzi, di 0.2 euro al giorno per i libri per bambini, di 0.5 per i saggi e di 0.8 per tutti gli altri libri 74

74 Esempio, soluzione Prestiti Nome Titolo Dataprest Datarest Biblioteca Autore Titolo Editore Genere Pagine Anno Collocazione Select nome, titolo, Decode(Genere, Romanzo, Datarest-Dataprest-14, Bambini, Datarest-Dataprest-25, Saggio, Datarest-Dataprest-20, Datarest-Dataprest-18) Ritardo, Decode(Genere, Romanzo, (Datarest-Dataprest-14)*0.5 Bambini (Datarest-Dataprest-25)*0.3, Saggio, (Datarest-Dataprest-20)*0.5, (Datarest-dataprest-18)*0.8) Mora From prestiti, Biblioteca Where Prestiti.titolo=Biblioteca.titolo and datarest-dataprest> Decode(Genere, Romanzo,14, Bambini, 25, Saggio, 20, 18) 75

75 Decode annidati Così come nei linguaggi di programmazione, le funzioni decode possono essere annidate una dentro l altra. Supponiamo per esempio che fra i libri della stessa categoria vogliamo discriminare il ritardo rispetto al nome dell autore. Infatti potrebbero esserci degli autori che sono più difficili da leggere. In tal caso ci sarà un decode che dipende dal genere e degli altri che dipendono dal nome dell autore. 76

76 Esempio Select nome, titolo, Decode (Genere, Romanzo, Decode(Autore, A. Camilleri, Datarest-Dataprest-10, Dante, Datarest-Dataprest-30, Datarest-Dataprest-15) Bambini, Decode (Autore, G. Stilton, Datarest-Dataprest-20 J.K. Rowling, Datarest-Dataprest-45, Datarest Dataprest -25) Saggio, Datarest-Dataprest-20, Datarest-Dataprest-18) Ritardo, Decode (Genere, ) Mora From Prestiti, Biblioteca Where Prestiti.titolo=Biblioteca.titolo and datarest-dataprest> Decode(Genere, Romanzo,Decode, Bambini, Decode 25, Saggio, 20, 18) 77

77 Case A partire da Oracle 9, è possibile usare anche la funzione Case. Sintassi: Case attributo when valore 1 then 1 when valore 2 then 2... when valore n then n else end 78

78 Esempio Select nome, titolo, Case Genere when Romanzo then Datarest-Dataprest-14 when Bambini then Datarest-Dataprest-25 when Saggio then Datarest-Dataprest-20 else Datarest-Dataprest-18 end as Ritardo, Case Genere when Romanzo then (Datarest-Dataprest-14)*0.5 when Bambini then (Datarest-Dataprest-25)*0.3 when Saggio, (Datarest-Dataprest-20)*0.5 else (Datarest-dataprest-18)*0.8 end as Mora From prestiti P, Biblioteca B Where P.titolo=B.titolo and datarest-dataprest> Case Genere when Romanzo then 14 when Bambini then 25, when Saggio then 20 else 18 end 79

79 Case annidati Come per il decode, è possibile annidare diversi costrutti case. Esercizio: Riscrivere la query dell esempio dei decode annidati utilizzando il costrutto CASE 80

80 Esercizio Consideriamo il nostro Database e supponiamo che ci chiedano uno sconto sugli articoli. Lo sconto viene effettuato solo sugli articoli che costano più di 50 euro, nella misura seguente: Sugli articoli che appartengono alla categoria Cat_A è possibile applicare uno sconto del 15%, Sugli articoli che appartengono alla categoria Cat_B è possibile applicare uno sconto del 10%, Sugli articoli che appartengono alla categoria Cat_C è possibile applicare uno sconto del 18%, Calcolare lo sconto effettuato su ciascun articolo. Rinominare l ultima colonna con la dicitura Sconto. 81

81 Esercizio, Soluzione Decode select DESCRIZIONE, PREZZOVENDITAUNITARIO, decode (CATEGORIA, 'Cat_A', PREZZOVENDITAUNITARIO*15/100, 'Cat_B', PREZZOVENDITAUNITARIO*10/100, 'Cat_C', PREZZOVENDITAUNITARIO*18/100) as Sconto From Articolo where PREZZOVENDITAUNITARIO>50 82

82 Esercizio, soluzione Case select DESCRIZIONE, PREZZOVENDITAUNITARIO, Case CATEGORIA when 'Cat_A' then PREZZOVENDITAUNITARIO*15/100 when 'Cat_B' then PREZZOVENDITAUNITARIO*10/100 when 'Cat_C' then PREZZOVENDITAUNITARIO*18/100 end as Sconto From Articolo where PREZZOVENDITAUNITARIO>50 83

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7 ESEMPI DI QUERY SQL Dati di esempio... 2 Query su una sola tabella... 2 Esempio 1 (Ordinamento)... 2 Esempio 2 (Scelta di alcune colonne)... 3 Esempio 3 (Condizioni sui dati)... 3 Esempio 4 (Condizioni

Dettagli

FORMULE: Operatori matematici

FORMULE: Operatori matematici Formule e funzioni FORMULE Le formule sono necessarie per eseguire calcoli utilizzando i valori presenti nelle celle di un foglio di lavoro. Una formula inizia col segno uguale (=). La formula deve essere

Dettagli

Microsoft Excel. Il foglio elettronico Microsoft Excel Cartelle, Fogli di lavoro e celle Contenuto delle celle. Numeri, date, formule, testo, funzioni

Microsoft Excel. Il foglio elettronico Microsoft Excel Cartelle, Fogli di lavoro e celle Contenuto delle celle. Numeri, date, formule, testo, funzioni Microsoft Excel Sommario Il foglio elettronico Microsoft Excel Cartelle, Fogli di lavoro e celle Contenuto delle celle Numeri, date, formule, testo, funzioni Formattazione dei dati Creazione di serie di

Dettagli

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS CONTENUTI: CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS Creazione database vuoto Creazione tabella Inserimento dati A) Creazione di un database vuoto Avviamo il programma Microsoft Access. Dal menu

Dettagli

Giovanna Rosone 04/03/2010. 04/03/2010 SQL, Istruzioni per la modifica dello schema

Giovanna Rosone 04/03/2010. 04/03/2010 SQL, Istruzioni per la modifica dello schema Giovanna Rosone 04/03/2010 04/03/2010 SQL, Istruzioni per la modifica dello schema 1 Riepilogo Impiegato Pagamenti Nome colonna PAG_COD PAG_MATR Tipo dati CHAR(6) CHAR(6) Nome colonna Tipo dati PAG_STIPENDIO

Dettagli

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Si consiglia di creare il data base, inserire i dati nelle tabelle, provare

Dettagli

Matematica in laboratorio

Matematica in laboratorio Unità 1 Attività guidate Attività 1 Foglio elettronico Divisibilità tra numeri naturali Costruisci un foglio di lavoro per determinare se a è divisibile per b, essendo a e b due numeri naturali, con a

Dettagli

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. (Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System

Dettagli

EXCEL FUNZIONI PRINCIPALI

EXCEL FUNZIONI PRINCIPALI EXCEL FUNZIONI PRINCIPALI Funzione SE() Sintassi: SE(VERIFICA, VALORE SE VERO, VALORE SE FALSO): verifica un valore e ritorna una risposta in base al risultato vero/falso Esempio: =SE(A2=15; "OK"; "NO")

Dettagli

OSSIF WEB. Manuale query builder

OSSIF WEB. Manuale query builder OSSIF WEB Manuale query builder - Maggio 2010 1) Sommario 1) SOMMARIO... 2 INTRODUZIONE... 3 Scopo del documento... 3 Struttura del documento... 3 Descrizione dell interfaccia grafica... 3 SELEZIONE DI

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

Corso sul linguaggio SQL

Corso sul linguaggio SQL Corso sul linguaggio SQL Modulo L2B (SQL) 2.2 Comandi sulle tabelle 1 Prerequisiti Introduzione ai DB Tabelle, relazioni e attributi Chiave primaria Chiave esterna Vincoli di integrità 2 1 Introduzione

Dettagli

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7 Il trattamento dei dati database: il linguaggio SQL seconda parte Prof. Valle D.ssa Folgieri Lez9 15.11.06 Trattamento dati. Database: il

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli

LUdeS Informatica 2 EXCEL. Seconda parte AA 2013/2014

LUdeS Informatica 2 EXCEL. Seconda parte AA 2013/2014 LUdeS Informatica 2 EXCEL Seconda parte AA 2013/2014 STAMPA Quando si esegue il comando FILE STAMPA, Excel manda alla stampante tutte le celle del foglio di lavoro corrente che hanno un contenuto. Il numero

Dettagli

Informatica. Rappresentazione dei numeri Numerazione binaria

Informatica. Rappresentazione dei numeri Numerazione binaria Informatica Rappresentazione dei numeri Numerazione binaria Sistemi di numerazione Non posizionali: numerazione romana Posizionali: viene associato un peso a ciascuna posizione all interno della rappresentazione

Dettagli

SISTEMI DI NUMERAZIONE E CODICI

SISTEMI DI NUMERAZIONE E CODICI SISTEMI DI NUMERAZIONE E CODICI Il Sistema di Numerazione Decimale Il sistema decimale o sistema di numerazione a base dieci usa dieci cifre, dette cifre decimali, da O a 9. Il sistema decimale è un sistema

Dettagli

Corso sul linguaggio SQL

Corso sul linguaggio SQL Corso sul linguaggio SQL Modulo L2B (SQL) 2.1 Comandi sui database 1 Prerequisiti Introduzione ai DB Linguaggi per database Tipi fondamentali di dati 2 1 Introduzione In questa Unità introduciamo il linguaggio

Dettagli

APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL

APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL In informatica il Pascal è un linguaggio di programmazione creato da Niklaus Wirth ed é un linguaggio di programmazione strutturata. I linguaggi di programmazione

Dettagli

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi Vogliamo creare una struttura per permettere di memorizzari i voti della classe in tutte le materie Per fare questo untilizziamo tre tabelle Alunni,materie,voti Alunni Materie Voti Creo un record per ogni

Dettagli

Alcune regole di base per scrivere un programma in linguaggio C

Alcune regole di base per scrivere un programma in linguaggio C Alcune regole di base per scrivere un programma in linguaggio C Un programma il linguaggio C (listato) viene scritto in formato testo ed archiviato in un file: *.c Per scrivere un listato C si utilizza

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

Dettagli

Potenzialità statistiche Excel

Potenzialità statistiche Excel Potenzialità statistiche Excel INTRODUZIONE A MS EXCEL Prof. Raffaella Folgieri Email folgieri@mtcube.com Fogli di calcolo MS Excel Prof. Folgieri 1 I Fogli Elettronici (Microsoft Excel) Sono strumenti

Dettagli

Operazioni sui database

Operazioni sui database Operazioni sui database Le operazioni nel modello relazionale sono essenzialmente di due tipi: Operazioni di modifica della base di dati (update) Interrogazioni della base di dati per il recupero delle

Dettagli

Convertitori numerici in Excel

Convertitori numerici in Excel ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA Convertitori numerici in Excel Prof. G. Ciaschetti Come attività di laboratorio, vogliamo realizzare dei convertitori numerici con Microsoft Excel

Dettagli

CONCETTO DI ANNIDAMENTO

CONCETTO DI ANNIDAMENTO LEZIONE14 SQL ANNIDAMENTI PAG. 1 / 5 PROF. ANDREA ZOCCHEDDU LEZIONE14 SQL ANNIDAMENTI CONCETTO DI ANNIDAMENTO LINGUAGGIO SQL QUERY ANNIDATE Per annidamento si intende la possibilità che, all interno di

Dettagli

Utilizzo delle formule in Excel

Utilizzo delle formule in Excel Utilizzo delle formule in Excel Excel è dotato di un potente motore di calcolo che può essere utilizzato per elaborare i dati immessi dagli utenti. I calcoli sono definiti mediante formule. Ogni formula

Dettagli

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro, EXCEL PER WINDOWS95 1.Introduzione ai fogli elettronici I fogli elettronici sono delle applicazioni che permettono di sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area

Dettagli

Capitolo 13. Interrogare una base di dati

Capitolo 13. Interrogare una base di dati Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per

Dettagli

MODULO 4: FOGLIO ELETTRONICO (EXCEL)

MODULO 4: FOGLIO ELETTRONICO (EXCEL) MODULO 4: FOGLIO ELETTRONICO (EXCEL) 1. Introduzione ai fogli elettronici I fogli elettronici sono delle applicazioni che permettono di sfruttare le potenzialità di calcolo dei Personal computer. Essi

Dettagli

Alessandro Pellegrini

Alessandro Pellegrini Esercitazione sulle Rappresentazioni Numeriche Esistono 1 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono Alessandro Pellegrini Cosa studiare prima Conversione

Dettagli

II.f. Altre attività sull euro

II.f. Altre attività sull euro Altre attività sull euro II.f È consigliabile costruire modelli in carta o cartoncino di monete e banconote, e farli usare ai bambini in varie attività di classe fin dal primo o al più dal secondo anno.

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

M:\Manuali\VARIE\GENERAZIONE REPORT PARAMETRICI.doc GENERAZIONE REPORT PARAMETRICI

M:\Manuali\VARIE\GENERAZIONE REPORT PARAMETRICI.doc GENERAZIONE REPORT PARAMETRICI M:\Manuali\VARIE\GENERAZIONE REPORT PARAMETRICI.doc GENERAZIONE REPORT PARAMETRICI Di seguito, riportiamo le istruzioni per la gestione delle query parametriche utile ad eventuali ricerche di casi particolari,

Dettagli

Gestione ed analisi di base dati nell epidemiologia. delle malattie infettive

Gestione ed analisi di base dati nell epidemiologia. delle malattie infettive Università degli Studi di Torino - Facoltà di Medicina Veterinaria Laboratorio di epidemiologia delle malattie infettive Scuola Specializzazione in Sanità Animale, Allevamento e Produzioni Zootecniche

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

Al giorno d oggi, i sistemi per la gestione di database

Al giorno d oggi, i sistemi per la gestione di database Introduzione Al giorno d oggi, i sistemi per la gestione di database implementano un linguaggio standard chiamato SQL (Structured Query Language). Fra le altre cose, il linguaggio SQL consente di prelevare,

Dettagli

Lezioni di Laboratorio sui Data Base

Lezioni di Laboratorio sui Data Base Lezioni di Laboratorio sui Data Base Docente Tutor: Dott. Gianluigi Roveda Informatica per l'impresa Prima Parte: Open Office - Base PREMESSA Questo lavoro è stato realizzato a partire dalle slides del

Dettagli

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report Facoltà di Lingue e Letterature Straniere Le QUERY 2 Che cos è una Query? Una Query rappresenta uno strumento per interrogare un database.

Dettagli

Esercizio data base "Biblioteca"

Esercizio data base Biblioteca Rocco Sergi Esercizio data base "Biblioteca" Database 2: Biblioteca Testo dell esercizio Si vuole realizzare una base dati per la gestione di una biblioteca. La base dati conterrà tutte le informazioni

Dettagli

User Tools: DataBase Manager

User Tools: DataBase Manager Spazio di lavoro Per usare T-SQL Assistant selezionare il link Simple Query e spostare a piacere la piccola finestra dove un menu a tendina mostra i diversi comandi SQL selezionabili, il pulsante Preview

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari

Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari Felice Iavernaro Dipartimento di Matematica Università di Bari http://dm.uniba.it/ iavernaro 6 Giugno 2007 Felice Iavernaro (Univ.

Dettagli

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL Basi di dati Il Linguaggio SQL Data Definition Language (DDL) Data Definition Language: insieme di istruzioni utilizzate per modificare la struttura della base di dati Ne fanno parte le istruzioni di inserimento,

Dettagli

Il linguaggio SQL: query innestate

Il linguaggio SQL: query innestate Il linguaggio SQL: query innestate Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLc-subquery.pdf Sistemi Informativi L-A DB di riferimento

Dettagli

Uso di base delle funzioni in Microsoft Excel

Uso di base delle funzioni in Microsoft Excel Uso di base delle funzioni in Microsoft Excel Le funzioni Una funzione è un operatore che applicato a uno o più argomenti (valori, siano essi numeri con virgola, numeri interi, stringhe di caratteri) restituisce

Dettagli

Azioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati

Azioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati Azioni Select e join non consentono di modificare il contenuto del DB Azioni desiderate Inserzione di nuovi dati Aggiornamento di dati Cancellazione di dati Aggiunta di un record insert into utenti(nome,tel,codice_u)

Dettagli

USO DI EXCEL CLASSE PRIMAI

USO DI EXCEL CLASSE PRIMAI USO DI EXCEL CLASSE PRIMAI In queste lezioni impareremo ad usare i fogli di calcolo EXCEL per l elaborazione statistica dei dati, per esempio, di un esperienza di laboratorio. Verrà nel seguito spiegato:

Dettagli

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database Microsoft Access Introduzione alle basi di dati Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale limitato Meccanismi di sicurezza, protezione di dati e gestione

Dettagli

COSTER. Import/Export su SWC701. SwcImportExport

COSTER. Import/Export su SWC701. SwcImportExport SwcImportExport 1 Con SWC701 è possibile esportare ed importare degli impianti dal vostro database in modo da tenere aggiornati più Pc non in rete o non facente capo allo stesso DataBase. Il caso più comune

Dettagli

Guida all uso di Java Diagrammi ER

Guida all uso di Java Diagrammi ER Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con

Dettagli

GESGOLF SMS ONLINE. Manuale per l utente

GESGOLF SMS ONLINE. Manuale per l utente GESGOLF SMS ONLINE Manuale per l utente Procedura di registrazione 1 Accesso al servizio 3 Personalizzazione della propria base dati 4 Gestione dei contatti 6 Ricerca dei contatti 6 Modifica di un nominativo

Dettagli

RISOLUTORE AUTOMATICO PER SUDOKU

RISOLUTORE AUTOMATICO PER SUDOKU RISOLUTORE AUTOMATICO PER SUDOKU Progetto Prolog - Pierluigi Tresoldi 609618 INDICE 1.STORIA DEL SUDOKU 2.REGOLE DEL GIOCO 3.PROGRAMMAZIONE CON VINCOLI 4.COMANDI DEL PROGRAMMA 5.ESEMPI 1. STORIA DEL SUDOKU

Dettagli

Data Management Software. Il linguaggio SQL. Raggruppamenti. Paolo Avallone Sr Consulting IT Specialist DB2, Data Management Marzo 2004

Data Management Software. Il linguaggio SQL. Raggruppamenti. Paolo Avallone Sr Consulting IT Specialist DB2, Data Management Marzo 2004 DB2 Data Management Software Il linguaggio SQL Raggruppamenti Paolo Avallone Sr Consulting IT Specialist DB2, Data Management Marzo 2004 LEGGERE LE SEGUENTI ATTENZIONI Le informazioni contenute in questa

Dettagli

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO SISTEMI DI NUMERAZIONE DECIMALE E BINARIO Il sistema di numerazione decimale (o base dieci) possiede dieci possibili valori (0, 1, 2, 3, 4, 5, 6, 7, 8 o 9) utili a rappresentare i numeri. Le cifre possiedono

Dettagli

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Dettagli

Excel. Excel. Videata iniziale Fogli elettronici. Fogli elettronici. Come si inserisce un dato

Excel. Excel. Videata iniziale Fogli elettronici. Fogli elettronici. Come si inserisce un dato Excel Excel he cos è? È un programma che appartiene alla famiglia dei fogli elettronici. Dove si esegue? Excel gira in ambiente Windows. che cosa serve? Serve a realizzare tabelle numeriche. Videata iniziale

Dettagli

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment Obiettivi d esame PHP Developer Fundamentals on MySQL Environment 1.0 Ambiente di sviluppo 1.1 Web server e database MySQL Comprendere la definizione dei processi che si occupano di fornire i servizi web

Dettagli

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c Caratteristiche MATLAB Linguaggio di programmazione orientato all elaborazione di matrici (MATLAB=MATrix LABoratory) Le variabili sono matrici (una variabile scalare equivale ad una matrice di dimensione

Dettagli

Access. P a r t e p r i m a

Access. P a r t e p r i m a Access P a r t e p r i m a 1 Esempio di gestione di database con MS Access 2 Cosa è Access? Access e un DBMS che permette di progettare e utilizzare DB relazionali Un DB Access e basato sui concetti di

Dettagli

Parte IV. I fogli elettronici e Excel

Parte IV. I fogli elettronici e Excel Parte IV I fogli elettronici e Excel Caratteristiche principali dei fogli elettronici Organizzazione dei dati in forma tabellare. Ogni cella può contenere: numeri, testi, formule il cui calcolo è aggiornato

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Laboratorio di Informatica Introduzione a Python Dottore Paolo Parisen Toldin - parisent@cs.unibo.it Argomenti trattati Che cosa è python Variabili Assegnazione Condizionale Iterazione in una lista di

Dettagli

Il foglio elettronico: Excel

Il foglio elettronico: Excel Il foglio elettronico: Excel Laboratorio di Informatica Corso di Laurea triennale in Biologia Dott. Fabio Aiolli (aiolli@math.unipd.it) Dott.ssa Elisa Caniato (ecaniato@gmail.com) Anno accademico 2007-2008

Dettagli

www.filoweb.it STAMPA UNIONE DI WORD

www.filoweb.it STAMPA UNIONE DI WORD STAMPA UNIONE DI WORD Molte volte abbiamo bisogno di stampare più volte lo stesso documento cambiando solo alcuni dati. Potremmo farlo manualmente e perdere un sacco di tempo, oppure possiamo ricorrere

Dettagli

Dati relazionali e XML

Dati relazionali e XML Dati relazionali e Introduzione (1) Memorizzazione dei dati Utilizzo dei dati Applicazione DBMS relazionale Applicazione Applicazione 2 Introduzione (2) Memorizzazione dei dati Utilizzo dei dati Applicazione

Dettagli

Esercitazione del 05-03-2007

Esercitazione del 05-03-2007 FUNZIONI Esercitazione del 05-03-2007 1. Aprire una nuova cartella di lavoro. 2. Inserire nel foglio di lavoro di Excel le seguenti colonne: A B 1000 100 1100 200 1200 300 1300 400 1400 500 1500 600 1600

Dettagli

Concetti fondamentali dei database database Cos'è un database Principali database

Concetti fondamentali dei database database Cos'è un database Principali database Concetti fondamentali dei database Nella vita di tutti i giorni si ha la necessità di gestire e manipolare dati. Le operazioni possono essere molteplici: ricerca, aggregazione con altri e riorganizzazione

Dettagli

Basi di dati 9 febbraio 2010 Compito A

Basi di dati 9 febbraio 2010 Compito A Basi di dati 9 febbraio 2010 Compito A Domanda 0 (5%) Leggere e rispettare le seguenti regole: Scrivere nome, cognome, matricola (se nota), corso di studio e lettera del compito (ad esempio, A) sui fogli

Dettagli

ESEMPIO 1: eseguire il complemento a 10 di 765

ESEMPIO 1: eseguire il complemento a 10 di 765 COMPLEMENTO A 10 DI UN NUMERO DECIMALE Sia dato un numero N 10 in base 10 di n cifre. Il complemento a 10 di tale numero (N ) si ottiene sottraendo il numero stesso a 10 n. ESEMPIO 1: eseguire il complemento

Dettagli

Dispensa di database Access

Dispensa di database Access Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di

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

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1 Pagina 1 Sommario...1 Apertura...2 Visualizzazioni...2 Elenco...2 Testo sul pulsante e altre informazioni...3 Comandi...3 Informazioni...4 Flow chart...5 Comandi...6 Pulsanti Principali e Pulsanti Dipendenti...6

Dettagli

Database Lezione 1. Sommario. - Introduzione - Tabelle e chiave primaria - Query - Calcoli ed alias - Ordinamento

Database Lezione 1. Sommario. - Introduzione - Tabelle e chiave primaria - Query - Calcoli ed alias - Ordinamento Sommario - Introduzione - Tabelle e chiave primaria - Query - Calcoli ed alias - Ordinamento Introduzione - Un database è un archivio strutturato di dati che può essere manipolato con dei comandi nel linguaggio

Dettagli

Cos è ACCESS? E un programma di gestione di database (DBMS) Access offre: un ambiente user frendly da usare (ambiente grafico)

Cos è ACCESS? E un programma di gestione di database (DBMS) Access offre: un ambiente user frendly da usare (ambiente grafico) Cos è ACCESS? E un programma di gestione di database (DBMS) Access offre: un ambiente user frendly da usare (ambiente grafico) 1 Aprire Access Appare una finestra di dialogo Microsoft Access 2 Aprire un

Dettagli

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza vers.3 in lavorazione Docente SAFFI FABIO Contenuti 01.Esercizi generici sul diagramma di flusso - flow chart... 2

Dettagli

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.

Dettagli

Aritmetica: operazioni ed espressioni

Aritmetica: operazioni ed espressioni / A SCUOLA DI MATEMATICA Lezioni di matematica a cura di Eugenio Amitrano Argomento n. : operazioni ed espressioni Ricostruzione di un abaco dell epoca romana - Museo RGZ di Magonza (Germania) Libero da

Dettagli

Istruzioni DML di SQL

Istruzioni DML di SQL Istruzioni DML di SQL Pag. 99 par.4 1 Sintassi: Costrutto: INSERT INTO (Inserimento di dati in tabelle) INSERT INTO [(, ,, )] VALUES (, ,

Dettagli

L analisi dei dati. Capitolo 4. 4.1 Il foglio elettronico

L analisi dei dati. Capitolo 4. 4.1 Il foglio elettronico Capitolo 4 4.1 Il foglio elettronico Le più importanti operazioni richieste dall analisi matematica dei dati sperimentali possono essere agevolmente portate a termine da un comune foglio elettronico. Prenderemo

Dettagli

RAPPRESENTAZIONE GRAFICA DEGLI ALGORITMI

RAPPRESENTAZIONE GRAFICA DEGLI ALGORITMI RAPPRESENTAZIONE GRAFICA DEGLI ALGORITMI Diagramma di flusso L algoritmo può essere rappresentato in vari modi, grafici o testuali. Uno dei metodi grafici più usati e conosciuti è il cosiddetto diagramma

Dettagli

Introduzione ai database relazionali

Introduzione ai database relazionali Introduzione ai database relazionali Tabelle Un database (DB) è costituito da un insieme di file che memorizzano dati opportunamente organizzati Nei database relazionale tale organizzazione è costituita

Dettagli

5.3 TABELLE 5.3.1 RECORD 5.3.1.1 Inserire, eliminare record in una tabella Aggiungere record Eliminare record

5.3 TABELLE 5.3.1 RECORD 5.3.1.1 Inserire, eliminare record in una tabella Aggiungere record Eliminare record 5.3 TABELLE In un sistema di database relazionali le tabelle rappresentano la struttura di partenza, che resta poi fondamentale per tutte le fasi del lavoro di creazione e di gestione del database. 5.3.1

Dettagli

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0) PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0) (Da effettuare non prima del 01/01/2011) Le istruzioni si basano su un azienda che ha circa 1000 articoli, che utilizza l ultimo

Dettagli

Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico

Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico Processo di risoluzione di un problema ingegneristico 1. Capire l essenza del problema. 2. Raccogliere le informazioni disponibili. Alcune potrebbero essere disponibili in un secondo momento. 3. Determinare

Dettagli

Progettazione di Database. Un Esempio

Progettazione di Database. Un Esempio Progettazione di Database Un Esempio Data Base Management System Applicazione 1 Applicazione 2 Applicazione 3 DBMS A B C D E Il Modello Relazionale Una relazione è costituita su un insieme di domini, non

Dettagli

Alcuni consigli per un uso di base delle serie di dati automatiche in Microsoft Excel

Alcuni consigli per un uso di base delle serie di dati automatiche in Microsoft Excel Alcuni consigli per un uso di base delle serie di dati automatiche in Microsoft Excel Le serie Una serie di dati automatica è una sequenza di informazioni legate tra loro da una relazione e contenute in

Dettagli

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere;

Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere; Maschere e Query Le Maschere (1/2) Per visualizzare e immettere i dati in una tabella è possibile utilizzare le maschere; Le maschere sono simili a moduli cartacei: ad ogni campo corrisponde un etichetta

Dettagli

Elementi di informatica

Elementi di informatica Elementi di informatica Sistemi di numerazione posizionali Rappresentazione dei numeri Rappresentazione dei numeri nei calcolatori rappresentazioni finalizzate ad algoritmi efficienti per le operazioni

Dettagli

Il calendario di Windows Vista

Il calendario di Windows Vista Il calendario di Windows Vista Una delle novità introdotte in Windows Vista è il Calendario di Windows, un programma utilissimo per la gestione degli appuntamenti, delle ricorrenze e delle attività lavorative

Dettagli

Richiesta pagina PHP (es: index.php)

Richiesta pagina PHP (es: index.php) PHP PHP = personal home page SERVER Richiesta pagina PHP (es: index.php) Server Web (Apache) in ascolto sulla porta 80, si accorge che la pagina richiesta è una pagina PHP in base all'estensione o con

Dettagli

Capitolo 2. Operazione di limite

Capitolo 2. Operazione di limite Capitolo 2 Operazione di ite In questo capitolo vogliamo occuparci dell operazione di ite, strumento indispensabile per scoprire molte proprietà delle funzioni. D ora in avanti riguarderemo i domini A

Dettagli

Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi

Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi Università degli Studi di L Aquila Facoltà di Ingegneria Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi Prof. Gaetanino Paolone Dott. Ottavio Pascale a.a.2003-2004 Progetto Campo

Dettagli

Procedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM

Procedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM Procedure memorizzate SQL-2003/PSM Procedure memorizzate nel database Programmazione general-purpose Leggere sezione 8.2 di Garcia-Molina et al. Lucidi derivati da quelli di Jeffrey D. Ullman 1 Una estensione

Dettagli

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; ESERCIZI 2 LABORATORIO Problema 1 Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; Chiede all'utente un numero e, tramite ricerca

Dettagli

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

Dettagli

Rappresentazione delle informazioni

Rappresentazione delle informazioni Rappresentazione delle informazioni Abbiamo informazioni (numeri, caratteri, immagini, suoni, video... ) che vogliamo rappresentare (e poter elaborare) in un calcolatore. Per motivi tecnologici un calcolatore

Dettagli

Una sperimentazione. Probabilità. Una previsione. Calcolo delle probabilità. Nonostante ciò, è possibile dire qualcosa.

Una sperimentazione. Probabilità. Una previsione. Calcolo delle probabilità. Nonostante ciò, è possibile dire qualcosa. Una sperimentazione Probabilità Si sta sperimentando l efficacia di un nuovo farmaco per il morbo di Parkinson. Duemila pazienti partecipano alla sperimentazione: metà di essi vengono trattati con il nuovo

Dettagli

Definizione di domini

Definizione di domini Definizione di domini Come nei linguaggi ad alto livello (es. C) è possibile definire nuovi domini (tipi di dati) a partire da quelli predefiniti, anche se il costruttore è più limitato. create domain

Dettagli

Uso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26

Uso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26 Uso delle variabili di alias SQL slide aggiuntive Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione educazione Non solo per disambiguare la notazione

Dettagli