Data base relazionale ed SQL. Modello relazionale dei data base e il linguaggio standard per la loro gestione

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Data base relazionale ed SQL. Modello relazionale dei data base e il linguaggio standard per la loro gestione"

Transcript

1 Data base relazionale ed SQL Modello relazionale dei data base e il linguaggio standard per la loro gestione

2 Contenuti Modello relazionale Cenni sulla progettazione di un data base Normalizzazione delle relazioni A cosa serve e che cos e un DBMS I linguaggi per Data Base SQL

3 Il modello relazionale: concetti fondamentali/1 Il DB relazionale, proposto all inizio degli anni 70 da E.Codd, deve il suo nome al fatto che e basato sul concetto matematico di relazione. Dati n insiemi A1 An si dice relazione un sottoinsieme finito del loro prodotto cartesiano quindi l insieme delle ennuple a1... an con ai appartenente ad Ai (i = 1 n).

4 Il modello relazionale: concetti fondamentali/2 Il numero n si chiama grado della relazione Gli insiemi Ai si chiamano domini Il numero delle n-uple e la cardinalita della relazione.

5 Il modello relazionale: concetti fondamentali/3 Una relazione rappresenta un entita ed e rappresentata da una tabella. I nomi dei domini rappresentano gli attributi dell entita o anche le colonne della relazione Ciascuna n-upla rappresenta un istanza dell entita e quindi una riga della tabella

6 Confronto con gli archivi classici DB relazionale DB classico Tabella Righe Colonne File Record Campo

7 Esempio di relazione/1 A partire dai seguenti insiemi: 1 Insieme di tutte le stringhe che rappresentano nomi e cognomi 2 Insieme di tutte le stringhe che rappresentano le vie di Milano 3 Insieme delle stringhe che rappresentano numeri di telefono...

8 Esempio di relazione/2...si puo costruire la relazione Cittadino che puo essere formalmente definita come: Cittadino(nome, indirizzo, num-tel.) e in forma di tabella: Cittadino nome indirizzo num.tel. Stucchi Ciro Via Accursi Rossi Mario Via Veneto Valeri Carla Via Fonte

9 DB relazionali: requisiti fondamentali/1 1 - Ogni tabella e definita da un unico insieme di colonne corrispondenti agli attributi. 2 - Gli attributi contengono dati di tipo atomico (a singolo valore), non sono ammessi attributi i cui dati sono costituiti da un insieme di valori o da vettori. 3 - La successione delle righe nella tabella e irrilevante

10 DB relazionali: requisiti fondamentali/2 4 - Ogni colonna deve contenere dati omogenei cioe tutti gli elementi della colonna devono essere dello stesso tipo. 5 - In ogni tabella deve esistere un attributo o una combinazione di attributi di valore non nullo la cui combinazione identifica univocamente ciascuna riga della tabella (chiave primaria). 6 - Tutte le righe sono distinte tra loro.

11 Cenni di progettazione DB Livello concettuale: modella la realta dei dati con uno schema in cui vengono individuate le entita, le relazioni che intercorrono tra esse e gli attributi Livello logico: rappresenta il modo con cui i dati sono organizzati negli archivi elettronici. Lo schema logico e derivato dallo schema concettuale applicando opportune regole di derivazione. Livello fisico: e l implementazione del livello logico sui supporti per la registrazione fisica dei dati.

12 Dal modello concettuale a quello logico: regole di derivazione Ogni entita diventa una tabella. Ogni attributo diventa il nome di una colonna della tabella. L associazione 1 a 1 diventa un unica tabella che contiene gli attributi delle due entita. Nell associazione 1 a molti, la chiave primaria dell entita di partenza diventa chiave esterna dell entita di arrivo associata.

13 Operatori relazionali Gli operatori relazionali consentono di effettuare interrogazioni al DB per ottenere i dati desiderati estraendo da una tabella una sottotabella oppure combinando tra loro due o piu tabelle. I piu importanti sono: Selezione Proiezione Congiunzione

14 Operatori relazionali: selezione selezione La selezione (Select) applicata ad una tabella, genera una nuova tabella costituita da tutte le colonne della tabella originale e da un sottoinsieme di righe selezionate in base a delle condizioni prefissate. Le condizioni riguardano i valori che devono essere presenti in una o piu colonne della tabella.

15 Operatori relazionali: proiezione Proiezione L operazione di proiezione (project) applicata ad una tabella genera una tabella risultante contenente tutte le righe e solo un sottoinsieme delle colonne.

16 Operatori relazionali: congiunzione a1 a2 a3 b1 b2 b3 b1 b2 b3 c1 c2 c3 join a1 a2 a3 b1 b2 b3 c1 c2 c3 L operazione di congiunzione (join), applicata a due o piu tabelle aventi uno o piu attributi in comune, genera una tabella risultante contenente tutte le righe delle tabelle combinate secondo i valori uguali dell attributo comune.

17 Normalizzazione Normalizzare le tabelle di un DB relazionale significa verificare la struttura delle tabelle al fine di evitare ripetizione, ridondanza e quindi inconsistenza dei dati. Le tabelle normalizzate facilitano le operazioni di aggiunte, modifica e cancellazione dei dati. Sono individuati tre livelli basilari di normalizzazione o tre forme normali.

18 Prima forma normale/1 Una tabella e in prima forma normale (1 FN) se la sua struttura rispetta le seguenti regole: Gli attributi rappresentano informazioni elementari. I valori che compaiono in una colonna sono dello stesso tipo, cioe appartengono allo stesso dominio. Ogni riga e diversa da tutte le altre. L ordine con cui le righe compaiono nella tabella e irrilevante.

19 Prima forma normale/2 Esempio 1: la relazione: Studente(cognome, nome, classe) non e 1FN. Infatti l attributo classe e composto a sua volta da anno e sezione. Soluzione: la tabella normalizzata e : Studente(cognome, nome, anno, sezione).

20 Prima forma normale/3 Esempio 2: La relazione Dipendente(matricola, nome indirizzo, familiari-a-carico) non e 1FN infatti l attributo familiari-a-carico e costituito da un gruppo di attributi dello stesso tipo. Dipendente Matricola Nome Indirizzo Familiari a carico

21 Prima forma normale/4 Soluzione: Possiamo convertire la relazione in 2 tabelle: Dipendente(matricola,nome, indirizzo) Familiare(cod-fam, nome-fam, matr-dip) Dipendente Matricola Nome Indirizzo Familiare Cod-Fam Nome-fam Matr-dip

22 Prima forma normale/4 Le tabelle cosi individuate facilitano l inserimento di un nuovo figlio a carico del dipendente aggiungendo una nuova riga alla tabella Familiare, senza modificarne la struttura. Possiamo inoltre ritrovare le informazioni relative al capo famiglia con un operazione di congiunzione tra la tabella Dipendente e la tabella Familiare sull attributo comune Matricola del dipendente.

23 Seconda forma normale/1 Una relazione e in seconda forma normale (2FN) quando: e in prima forma normale tutti gli attributi non chiave dipendono dall intera chiave e non solo da una parte di essa (si riferisce a relazioni con chiavi multiple).

24 Esempio: Seconda forma normale/2 Consideriamo il problema dell inventario delle merci che si trovano in alcuni magazzini dislocati in varie localita. Le informazioni essenziali possono essere rappresentate con la seguente relazione: Merce(Cod, Magazzino, Qta, Indir_Magazzino) Codice Magazzino Quantita Ind.Mag.

25 Seconda forma normale/3 La chiave e composta da : Codice e Magazzino in quanto solo il codice non identifica la merce che puo trovarsi in magazzini differenti. L attributo indirizzo magazzino dipende solo da una parte della chiave, la tabella non e 2FN. Soluzione: Merce (Codice, Magazzino, Quantita ) Deposito (Magazzino,Ind-Mag) Codice Magazzino Quantita Magazzino Ind. Mag.

26 Terza forma normale/1 Una relazione e in terza forma normale (3FN) quando: e in seconda forma normale tutti gli attributi non chiave dipendono direttamente dalla chiave, cioe non possiede attributi non chiave che dipendono da altri attributi non chiave (la 3FN elimina la dipendenza transitiva degli attributi dalla chiave. )

27 Terza forma normale/2 Esempio: Consideriamo l anagrafica di un associazione di studenti di scuole diverse. Le informazioni relative a ciascun studente possono essere rappresentate dalla relazione: Studente(Matr., Nome, Scuola, telscuola) Matr. Nome Scuola Tel.Scuola

28 Terza forma normale/3 L attributo telscuola dipende da Scuola e quindi solo transitivamente da Matr. che e la chiave della tabella studente. Soluzione: Studente Matricola Nome Scuola Istituto Scuola Telefono

29 DBMS Il DBMS (Data Base Management System) e il SW che consente di costruire e gestire un DB realizzandolo su memoria di massa. Utenti finali Programmi applicativi DB DBMS

30 Funzioni del DBMS Implementazione del modello logico sul sistema di elaborazione Manipolazione e interrogazione sul DB Controllo dell integrita dei dati Sicurezza e protezione Gestione del Dizionario

31 Linguaggi del DBMS DDL (Data Definition Language) per la descrizione dei dati, delle tabelle e delle viste (creazione DB). DML (Data Manipulation Language) per il trattamento dei dati nel DB (inserimento,modifica o cancellazione dati) DCL (Data Control Language) per stabilire le autorizzazioni agli accessi e i tipi di permessi consentiti agli utenti. Query Language per le interrogazioni all DB.

32 SQL SQL (Structured Query Language) e un linguaggio non procedurale diventato uno standard tra i linguaggi per la gestione dei DB relazionali.

33 SQL: storia /1 Anni 70: IBM introduce System R che e un prototipo di ricerca Anni 80: il prototipo fu adottato con il nome SQL come linguaggio per i SW DBMS prodotti dall IBM (DB2 e SQL/DS) : l ANSI (American National Standards Institute) pubblico il primo standard SQL.

34 SQL: storia /2 1987: l ISO (International Standard Organization) pubblico il suo standard SQL. 1992: furono pubblicati gli aggiornamenti degli standard da ANSI (Ansi X3.135) e da ISO (ISO 9075)

35 SQL: storia /3 Oggi :I prodotti SW DBMS come Oracle, Informix, Dbase, Access utilizzano SQL come linguaggio di comandi per l utente del DB. N.B.: Ci sono delle differenze rispetto allo standard SQL facilmente individuate attraverso la documentazione elettronica o cartacea fornita con i prodotti SW.

36 SQL: caratteristiche SQL offre all utente comandi di: DDL (definizione della struttura del DB). DML (inserimento, variazione e cancellazione dei dati nel DB). DCL (gestione del controllo degli accessi e dei permessi per gli utenti). Query Language (interrogazioni al DB).

37 SQL: identificatori Identificatori: sono sequenze di caratteri che identificano tabelle e attributi. Lo standard prevede una lunghezza max di 18 caratteri. Devono inziare sempre con una lettera.

38 SQL: dati /1 Dati: nella dichiarazione di una tabella occorre specificare il tipo di dati scelto per gli attributi. Alcuni dei tipi standard sono: Charachter (n) (Stringa di lunghezza n) Date (MM/GG/AA) Time (HH:MM) Integer(p) (Numero intero con precisione p) Smallint (Numero intero con precisione 5)

39 SQL: dati /2 Integer (Numero intero con precisione 10) Float(p)(Numero reale con mantissa di precisione p) Real (Numero reale con mantissa di precisione 7) Double precision (Numero reale con mantissa di precisione 15) ecc.

40 SQL: dati/3 Alcune versioni di SQL in specifici ambienti DBMS differiscono dallo standard. Esempio: In Access per Windows si possono trovare i seguenti tipi di dati : BIT (sta per BOOLEAN) Counter (contatore: si autoincrementa ad ogni inserimento di riga nella tabella)

41 SQL: dati/4 Currency (valuta: utile per eseguire calcoli su valori monetari e su numeri a virgola fissa) Longtext (memo: testi di notevoli dimensioni fino a caratteri) Datatime(al posto di DATA e TIME) Single (al posto di REAL)

42 SQL: dati/5 Double (al posto di DOUBLE PRECISION e FLOAT) Long (al posto di INTEGER) Text (al posto di CHARACTER)

43 Definizione tabelle/1 Create table nome tabella (nome attributo1 tipo, nome attributo2 tipo, nome attributo3 tipo,... );

44 Definizione tabelle/2 Create table Personale (Matricola char(5), Cognome char(30), Nome char(20), CodFisc char(16) not null, Assunto date, Filiale smallint, Funzione char(15), Livello smallint, StipBase integer, Via char(25), Cap char(5), Citta char(20), Prov char(2), Dirigente char(5));

45 Definizione tabelle/3 La clausola NOT NULL accanto alla definizione di un attributo indica che in tutte le righe della tabella quella colonna deve essere riempita con un valore non nullo. ATTENZIONE: il valore null e diverso da zero per i dati numerici e dalla stringa vuota per i dati alfanumerici. Assumono valore null tutti gli attributi che hanno un valore non definito o non disponibile.

46 Definizione tabelle/4 Si puo utilizzare lo stesso nome di attributo in tabelle diverse. Per distinguere gli attributi con nome uguale si usa la notazione: Tabella.Attributo

47 Modifica struttura delle tabelle Per modificare la struttura di una tabella gia definita si usa il comando ALTER TABLE con le clausole ADD e DROP. Alter Table Personale add Nascita date; Aggiunge l attributo Nascita di tipo data alla tabella personale. Alter Table Personale drop StipBase ; Toglie l attributo StipBase dalla tabella personale.

48 Indici/1 Create index nome-indice on nome-tabella (Lista-attributi); Se si vuole che gli attributi associati all indice non possano essere duplicati in righe diverse della tabella si utilizza la clausola UNIQUE. Create unique index nome-indice on nome-tabella (Lista-attributi);

49 Indici/2 Create unique index Ipers on Personale (Cognome, Nome); Crea un indice di nome Ipers sulla tabella Personale secondo gli attributi Cognome e Nome. La clausola UNIQUE indica che nella tabella non possono esistere coppie di valori uguali per gli attributi Cognome e Nome.

50 Cancellazione Tabelle e Indici Drop table Personale; Elimina definitivamente la tabella Personale dal DB. Analogamente: Drop index Ipers on Personale; Elimina l indice Ipers dalla tabella Personale;

51 Manipolazione dei Dati Insert e un comando che permette di inserire nuovi dati in una tabella. Update permette di aggiornare dati gia esistenti Delete permette di cancellare dati da una tabella.

52 Manipolazione dei Dati Insert into Personale INSERT (Matricola, Cognome, Nome, CodFisc, Nascita, Assunto,Filiale, Funzione, Livello, StipBase, Via, Cap, Citta, Prov) values ( AB541, ROSSI, MARIO, RSSMRA65M20R341E, 08/20/1965, 08/15/1997, 3, IMPIEGATO, 5, , VIA ROMA 34, 00010, MENTANA, RM ); Inserisce una nuova riga nella tabella Personale.

53 Manipolazione dei Dati UPDATE Update Personale set Livello = 6 where Matricola = AA345 ; Cambia il livello del dipendente con matricola AA345 a 6. Update Personale set StipBase= StipBase * 1.05 where Livello > 5; Aumenta del 5% lo stipendio base di tutti i dipendenti al di sopra del quinto livello.

54 Manipolazione dei Dati Delete from Personale DELETE where Matricola = AA345 ; Cancella la riga relativa al dipendente con matricola AA345. Delete from Personale where StipBase< 760; Elimina dalla tabella Personale tutti i dati relativi ai dipendenti con uno stipendio base minore di 760.

55 Il comando Select/1 In SQL le operazioni di interrogazioni al DB vengono effettuate tramite il potente e versatile comando Select. Tramite questo comando l utente non ha bisogno di sapere dove sono collocati fisicamente i dati: deve specificare al sistema solo quali dati vuole ottenere. Il risultato di ogni interrogazione e una tabella contenente i dati richiesti dall utente.

56 Il comando Select/2 Select [all / distinct] lista colonne from nome tabella o vista [where condizione di ricerca] [group by nome colonna [nome colonna...]] [having condizione di ricerca] [order by nome colonna [asc / desc] [, nome colonna [asc / desc]]...];

57 Il comando Select/3 From Select * La clausola where definisce una tabella intermedia formata solo dalle righe che soddisfano la condizione imposta. L asterisco sostituisce la lista di tutti gli attributi della tabella specificata dopo la parola from.

58 Il comando Select/4 Select * from Personale where prov = MI ; Ottiene tutti i dati dei dipendenti che abitano in provincia di Milano. Equivale a: Select all * from Personale where prov = MI ;

59 Il comando Select/5 Select distinct Funzione from Personale; Ottiene tutte le professioni presenti tra i dipendenti della tabella Personale specificando una sola volta il tipo di funzione anche se e riferita a piu dipendenti.

60 Il comando Select/6 Select Funzione from Personale; Ottiene tutte le professioni presenti tra i dipendenti della tabella Personale, ripetendo la stessa funzione tante volte quanti sono i dipendenti che svolgono quella funzione.

61 Il comando Select/7 Select Cognome, Nome, StipBase as Attuale, StipBase*1.05 as Nuovo from Personale; Visualizza le colonne relative a StipBase con l intestazione Attuale e accanto una colonna con l intestazione Nuovo con i risultati del calcolo dell espressione specificata (cioe in questo caso lo stipendio base aumentato del 5% per ciascun dipendente) il risultato dell interrogazione e visualizzato nel seguente modo:

62 Il comando Select/8 Nome Cognome Attuale Nuovo Rossi Paolo Bianchi Fabrizio Neri Aldo Verdi Antonio

63 Operazioni relazionali: selezione La selezione (Select) applicata ad una tabella, genera una nuova tabella costituita da tutte le colonne della tabella originale e da un sottoinsieme di righe selezionate in base a delle condizioni prefissate. Le condizioni in SQL sono espresse tramite la clausola where. Select * from Personale where Funzione = Dirigente ; selezione

64 Operazioni relazionali: proiezione L operazione di proiezione applicata ad una tabella genera una tabella risultante contenente tutte le righe e solo un sottoinsieme delle colonne. Select Cognome, Nome from Personale; Proiezione

65 Create table Filiali (CodFil smallint, Descrizione char(20), Indirizzo char(25)); Operazioni relazionali: congiunzione/1 Tra la tabella Filiali e la tabella Personale viene stabilita un associazione uno a molti e l attributo Filiale nella tabella Personale diventa chiave esterna. Select * from Personale, Filiali where Filiale = CodFil;

66 Operazioni relazionali: congiunzione/2 Per maggiore chiarezza: Select * from Personale, Filiali where Filiale = CodFil; Personale Matricola Cognome Nome... Filiale... AB001 Rossi Paolo 03 AB003 Verdi Luigi 07 AC002 Carli Amedeo Filiali CodFil Descrizione Indirizzo 03 Sede di Potenza Via Piave 3 04 Sede di Roma Via Napoli 4 05 Sede di Verona Via Roma 5 07 Sede di Padova Via Loreto 6 08 Sede di Palermo Via Monti

67 Operazioni relazionali: congiunzione/3 L operazione di congiunzione genera la tabella contenente tutte le righe di Personale e quelle di Filiali combinate secondo i valori uguali dell attributo comune che e il codice della filiale cui appartiene il dipendente. Personale join Filiali Matricola Cognome Nome... Filiale AB001 Rossi Paolo 03 AB003 Verdi Luigi 07 AC002 Carli Amedeo Descrizione Indirizzo Sede di Potenza Via Piave 3 Sede di Padova Via Loreto 6 Sede di Palermo Via Monti

68 Operazioni relazionali: congiunzione/4 Select Tab1.Cognome,Tab1.Nome, Tab2.Cognome from Personale as Tab1, Personale as Tab2 where Tab1.Dirigente = Tab2.Matricola; Questo comando permette di realizzare una self join. L attributo Dirigente della tabella Personale contiene la matricola della persona che svolge il ruolo di dirigente rispetto a quel dipendente. Le informazioni sui dirigenti sono contenute nella stessa tabella Personale perche anche essi sono dipendenti.

69 Operazioni relazionali: congiunzione/5 Sono da notare l utilizzo degli alias (as) per indicare con due nomi diversi la stessa tabella. Personale Matricola Cognome Nome... Funzione... Dirigente AB101 Rossi Paolo... Impiegato AD501 AB348 Verdi Mario... Manager AD506 AD506 Lucci Luigi... Dirigente AD601 AD501 Ferreri Marco Dirigente AM807 AD601 Risi Anna Dirigente AM AM807 Bianco Laura Amm.Del. null

70 Operazioni relazionali: congiunzione/6 L interrogazione che realizza la self join produce una lista di questo tipo in cui sono elencati il nome e il cognome degli impiegati e il cognome del rispettivo dirigente: Cognome Nome Cognome (Dirigente) Rossi Paolo Ferreri Verdi Mario Lucci Lucci Luigi Risi Ferreri Marco Bianco Risi Anna Bianco Bianco Laura null

71 Operazioni relazionali: congiunzione/7 Select Personale.Cognome, Personale.Nome, Filiali.Descrizione, Filiali.Indirizzo from Personale, Filiali where Personale.Filiale = Filiali.CodFil and Personale.Funzione = Impiegato ; Il risultato e l elenco con il cognome, nome di tutti i dipendenti che hanno la funzione di impiegato inseam alla descrizione e l indirizzo della filiale dove lavorano.

72 Operazioni relazionali/1 Le Tabelle risultanti dalle operazioni relazionali NON vengono memorizzate in alcun modo ma solo visualizzate. Se si desidera memorizzare questi risultati in una tabella si utilizza la clausola into.

73 Operazioni relazionali/2 Select * into Manager from Personale where Funzione = Dirigente ; Crea una nuova tabella di nome Manager con gli stessi attributi, formati e nomi della tabella Personale contenente le informazioni solo dei dipendenti che hanno la funzione di Dirigente.

74 Funzioni statistiche Sono funzioni predefinite usate all interno del comando select. Agiscono su valori contenuti in insiemi di righe. Le funzioni che esamineremo sono: COUNT SUM AVG MIN, MAX

75 Funzioni statistiche: COUNT /1 Count: calcola il numero di righe presenti in una tabella.richiede come argomento * o il nome di un attributo: Select count (*) from Personale; Restituisce il numero di righe presenti nella tabella personale.

76 Funzioni statistiche: COUNT/2 Select count (Funzione) from Personale; Restituisce il numero di righe nelle quali e specificata l attributo Funzione della tabella Personale. In questo caso NON vengono conteggiate le righe in cui il campo Funzione e null.

77 Funzioni statistiche: COUNT /3 La clausola distinct permette di ottenere il numero di valori diversi dell attributo specificato. Select count(distinct Funzione) from Personale where Prov = MI ; Restituisce il numero di differenti professioni dei dipendenti che abitano in provincia di Milano.

78 Funzioni statistiche: SUM /1 La funzione SUM restituisce la somma di tutti i valori contenuti in una colonna di tipo numerico. Gli attributi che sono null vengono considerati zero. Select sum (StipBase) from Personale where Livello = 5; Restituisce la somma degli stipendi base di tutti i dipendenti di quinto livello.

79 Funzioni statistiche: SUM /2 L argomento della funzione SUM puo essere anche un espressione numerica. Select sum (StipBase * 1.05) as Totale from Personale where Livello = 5; Restituisce la somma degli stipendi base aumentati del 5% di tutti i dipendenti di quinto livello con l intestazione specificata dalla clausola as.

80 Funzioni statistiche: AVG La funzione AVG (dall inglese Average) calcola la media aritmetica dei valori contenuti in una colonna di tipo numerico. I valori di tipo null non sono inclusi nel calcolo. Select AVG (StipBase) from Personale where Livello = 5; Restituisce la media degli stipendi base di tutti i dipendenti di quinto livello

81 Funzioni statistiche: MIN e MAX /1 Le funzioni MIN e MAX restituiscono rispettivamente il valore minimo e il valore massimo tra i valori della colonna specificata come argomento. Select MIN (StipBase), MAX (StipBase ) from Personale; Calcola il valore minimo e il valore massimo degli stipendi di tutti i dipendenti.

82 Funzioni statistiche: MIN e MAX /2 I valori possono essere anche di tipo alfanumerico. Select MIN (Cognome), MAX (Cognome ) from Personale; Restituisce il primo e l ultimo cognome dei dipendenti in ordine alfabetico.

83 Operatore di ordinamento /1 La clausola order by all interno di un comando select (solitamente alla fine), consente di ottenere i risultati dell interrogazione in ordine crescente (i numeri dal minore al maggiore e le stringhe dalla A alla Z) oppure decrescente (i numeri dal maggiore al minore e le stringhe dalla Z alla A).

84 Operatore di ordinamento /2 L ordinamento crescente si ottiene specificando la parola chiave ASC. L ordinamento decrescente si ottiene specificando la parola chiave DESC. L ordinamento e crescente per default il che significa che bisogna specificare la clausola DESC se si vuole un ordinamento decrescente e niente se si vuole un ordinamento crescente.

85 Operatore di ordinamento /3 Select Cognome, Nome, Funzione, Livello from Personale order by Cognome, Nome; Produce l elenco alfabetico dei dipendenti con il cognome, nome, funzione e livello. A parita di cognome le righe sono ordinate per nome.

86 Operatore di ordinamento /4 Select Cognome, StipBase from Personale order by StipBase desc, Cognome; Produce l elenco dei dipendenti in ordine decrescente di stipendio. A parita di stipendio in ordine alfabetico di cognome.

87 Operatore di raggruppamento/1 La clausola group by consente di raggruppare un insieme di righe aventi lo stesso valore nelle colonne indicate. Con l uso delle funzioni di aggregazione si possono elaborare le informazioni contenute in ogni gruppo di righe producendo una riga di risultato per ciascuno.

88 Operatore di raggruppamento /2 In presenza di una group by tutti gli attributi che compaiono accanto alla parola Select devono essere inclusi nella clausola group by oppure devono essere argomento di una funzione di aggregazione. Select Funzione, sum (StipBase), count(*) from Personale group by Funzione;

89 Operatore di raggruppamento /3 Le righe aventi lo stesso valore nel campo Funzione sono concettualmente raggruppate. Per ciascuno dei gruppi cosi formati si calcola la somma degli stipendi base e il numero delle righe di quel gruppo. Il risultato e l elenco delle funzioni con la somma degli stipendi e il numero dei dipendenti che svolgono quella funzione.

90 Operatore di raggruppamento /4 Select Livello, count (Livello) as Conteggio from Personale where Funzione = Impiegato group by Livello; Questo comando produce in output la lista dei livelli esistenti tra i dipendenti che hanno funzione di impiegato con il numero di dipendenti per ciascun livello. La clausola as permette di visualizzare il risultato della funzione count con l intestazione Conteggio.

91 Operatore di raggruppamento /5 La clausola having viene usata a completamento del group by per sottoporre al controllo di una o piu condizioni i gruppi creati. E analoga al where con la differenza che con where vengono poste condizioni sulle righe della tabella, con la clausola having il controllo delle condizioni e fatto su gruppi di righe.

92 Operatore di raggruppamento /6 Select Funzione, AVG(StipBase) from Personale group by Funzione having count(*) > 2; Con questo comando si ottiene la lista delle diverse funzioni dei dipendenti insieme alla media degli stipendi per ciascuna funzione, purche i dipendenti con quella funzione siano piu di due.

93 Condizioni di ricerca /1 Le condizioni di ricerca utilizzate da having e where possono essere costruite con gli operatori di confronto: <, >, =, <>, <=, >= e con gli operatori logici and, or e not. L ordine di applicazione degli operatori e il seguente: il not viene applicato prima di and e and prima di or.

94 Condizioni di ricerca /2 Altri strumenti di ricerca sono parole del linguaggio SQL che indicano operatori o predicati: between in like is null

95 Condizioni di ricerca /3 Select Cognome, Nome, Funzione from Personale where Assunto between 01/01/85 and 12/31/95; Questo comando ottiene l elenco dei dipendenti con cognome, nome e funzione che sono stati assunti tra le date indicate.

96 Condizioni di ricerca /4 Select * from Personale where Prov in ( MI, MS, BS, BO ); Questo comando ottiene l elenco di tutti i dati dei dipendenti risiedono in una delle province indicate tra le parentesi..

97 Condizioni di ricerca /5 L operatore like confronta il valore di un attributo di tipo carattere con un modello di stringa che puo contenere caratteri jolly o metacaratteri. I caratteri jolly sono: _ (underscore) che indica un singolo carattere % (percento)per indicare una sequenza qualsiasi di caratteri.

98 Condizioni di ricerca /6 like xyz% : vengono ricercate tutte le stringhe che iniziano per xyz. like % xyz :vengono ricercate tutte le stringhe che finiscono per xyz. like % xyz% : vengono ricercate tutte le stringhe che contengono i caratteri xyz. like _ABC : controlla tutte le stringhe di 4 caratteri che finiscono con ABC.

99 Condizioni di ricerca /7 Select Cognome, Nome from Personale where Cognome like Ros% ; Questo comando ottiene la lista con il cognome e nome dei dipendenti il cui cognome che inizia con Ros (Rossi, Rossini, Rosi, ecc.)

100 Condizioni di ricerca /8 Select Cognome, Nome from Personale where Cap is not null; Questo comando ottiene la lista con cognome e nome di tutti i dipendenti per i quali e indicato il cap cioe e avvalorato e non nullo. Select Cognome, Nome from Personale where Prov is null; Questo comando ottiene la lista con cognome e nome di tutti i dipendenti per i quali non e indicata la provincia.

101 Data Control Language/1 Grant concede permessi specificando: tipo di accesso (per esempio lettura, scrittura o modifica dati) tabelle del DB sulle quali e consentito l accesso elenco degli utenti ai quali e permesso di accedere.

102 Data Control Language/2 Grant update on Personale to user1, user2; Questo comando concede il diritto di modifica sulla tabella dei dipendenti agli utenti user1,user2. Revoke annulla i permessi. Revoke update on Personale to user1, user2; Questo comando revoca il diritto di modifica sulla tabella dei dipendenti agli utenti user1,user2.

103 Data Control Language/3 I permessi che possono essere concessi o revocati agli utenti sono: ALTER per modificare la struttura delle tabelle DELETE per eliminare righe dalle tabelle INDEX per creare indici INSERT per inserire nuove righe nelle tabelle SELECT per leggere i dati delle tabelle UPDATE per aggiornare i dati nelle tabelle ALL per tutti i permessi precedenti

104 Data Control Language/4 Grant update (Livello, StipBase) on Personale to user3; Questo comando concede il diritto di modifica sulle colonne Livello e StipBase della tabella Personale all utente user3. Grant select (Livello, StipBase) on Personale to user3; Questo comando concede il diritto di lettura delle colonne Livello e StipBase della tabella Personale all utente user3.

105 Data Control Language/5 Create View Impiegati as select * from Personale where Funzione = Impiegato ; Crea una finestra (vista) su tutte le righe della tabella Personale relative ai dipendenti con funzione di impiegati. Drop view Impiegati; Cancella la vista Impiegati.

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

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

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 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(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

+ / 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

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

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

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

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine

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

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

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

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

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

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

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

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

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

Rapida Introduzione all uso del Matlab Ottobre 2002

Rapida Introduzione all uso del Matlab Ottobre 2002 Rapida Introduzione all uso del Matlab Ottobre 2002 Tutti i tipi di dato utilizzati dal Matlab sono in forma di array. I vettori sono array monodimensionali, e così possono essere viste le serie temporali,

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

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

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL 1 Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono

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

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

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table Universita' di Ferrara Dipartimento di Matematica e Informatica Algoritmi e Strutture Dati Rappresentazione concreta di insiemi e Hash table Copyright 2006-2015 by Claudio Salati. Lez. 9a 1 Rappresentazione

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

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

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

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

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

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof.

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof. Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 009-10 prof. Viviana Bono Blocco 9 Metodi statici: passaggio parametri, variabili locali, record

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

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

Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto

Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE

Dettagli

Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment

Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment Bloodshed Dev-C++ Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio IDE = Integrated Development Environment Gerardo Pelosi 01 Ottobre 2014 Pagina 1 di 8 Dev-C++ - Installazione Potete

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

MANUALE Gest-L VERSIONE 3.2.3

MANUALE Gest-L VERSIONE 3.2.3 MANUALE Gest-L VERSIONE 3.2.3 Installazione GEST-L 4 Versione per Mac - Download da www.system-i.it 4 Versione per Mac - Download da Mac App Store 4 Versione per Windows 4 Prima apertura del programma

Dettagli

Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi

Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi alternative: function nome { lista-comandi } oppure nome ( ) {

Dettagli

Guida rapida all uso di ECM Titanium

Guida rapida all uso di ECM Titanium Guida rapida all uso di ECM Titanium Introduzione Questa guida contiene una spiegazione semplificata del funzionamento del software per Chiputilizzare al meglio il Tuning ECM Titanium ed include tutte

Dettagli

Floating Point N = M BE. Notazione in virgola mobile. base. esempi 34.76 104 3.6891 106 = 36.891 105 =368.91 104 12.78 10-3 1.

Floating Point N = M BE. Notazione in virgola mobile. base. esempi 34.76 104 3.6891 106 = 36.891 105 =368.91 104 12.78 10-3 1. Floating Point Notazione in virgola mobile N = M BE mantissa base esponente esempi 34.76 104 3.6891 106 = 36.891 105 =368.91 104 12.78 10-3 1.6273 102 forma normalizzata: la mantissa ha una sola cifra

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

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

Editor vi. Editor vi

Editor vi. Editor vi Editor vi vi 1 Editor vi Il vi è l editor di testo standard per UNIX, è presente in tutte le versioni base e funziona con qualsiasi terminale a caratteri Permette di visualizzare una schermata alla volta

Dettagli

Calcolo combinatorio

Calcolo combinatorio Probabilità e Statistica Esercitazioni a.a. 2009/2010 C.d.L.S.: Ingegneria Civile-Architettonico, Ingegneria Civile-Strutturistico Calcolo combinatorio Ines Campa e Marco Longhi Probabilità e Statistica

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

Dati importati/esportati

Dati importati/esportati Dati importati/esportati Dati importati Al workspace MATLAB script Dati esportati file 1 File di testo (.txt) Spreadsheet Database Altro Elaborazione dati Grafici File di testo Relazioni Codice Database

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

INTERPUMP GROUP SPA-VIA E. FERMI 25 42040 S.ILARIO (RE) http: //www.interpumpgroup.it

INTERPUMP GROUP SPA-VIA E. FERMI 25 42040 S.ILARIO (RE) http: //www.interpumpgroup.it PROCEDURA E-COMMERCE BUSINESS TO BUSINESS Guida alla Compilazione di un ordine INTERPUMP GROUP SPA-VIA E. FERMI 25 42040 S.ILARIO (RE) http: //www.interpumpgroup.it INDICE 1. Autenticazione del nome utente

Dettagli

Progettazione Logica

Progettazione Logica PROGETTAZIONE Ricordiamo le fasi della progettazione di una Base di Dati Progett. CONCETTUALE Progett. LOGICA Progett. FISICA Ci occuperemo adesso della progettazione logica R.Gori - G.Leoni BD Relazionali

Dettagli

ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE

ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE ALGEBRA: LEZIONI DAL 13 OTTOBRE AL 3 NOVEMBRE 1 DIPENDENZA E INDIPENDENZA LINEARE Se ho alcuni vettori v 1, v 2,, v n in uno spazio vettoriale V, il sottospazio 1 W = v 1,, v n di V da loro generato è

Dettagli

Introduzione al linguaggio C Gli array

Introduzione al linguaggio C Gli array Introduzione al linguaggio C Gli array Vettori nome del vettore (tutti gli elementi hanno lo stesso nome, c) Vettore (Array) Gruppo di posizioni (o locazioni di memoria) consecutive Hanno lo stesso nome

Dettagli

Cos è Excel. Uno spreadsheet : un foglio elettronico. è una lavagna di lavoro, suddivisa in celle, cosciente del contenuto delle celle stesse

Cos è Excel. Uno spreadsheet : un foglio elettronico. è una lavagna di lavoro, suddivisa in celle, cosciente del contenuto delle celle stesse Cos è Excel Uno spreadsheet : un foglio elettronico è una lavagna di lavoro, suddivisa in celle, cosciente del contenuto delle celle stesse I dati contenuti nelle celle possono essere elaborati ponendo

Dettagli

Configurazione Area51 e Bilance Bizerba

Configurazione Area51 e Bilance Bizerba Configurazione Area51 e Bilance Bizerba Ultimo Aggiornamento: 20 settembre 2014 Installazione software Bizerba... 1 Struttura file bz00varp.dat... 5 Configurazione Area51... 6 Note tecniche... 8 Gestione

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

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

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

FAQ sul prestito locale, interbibliotecario (ILL) e intersistemico (ISS) in SOL

FAQ sul prestito locale, interbibliotecario (ILL) e intersistemico (ISS) in SOL FAQ sul prestito locale, interbibliotecario (ILL) e intersistemico (ISS) in SOL PRESTITO LOCALE 1. Dove posso trovare informazioni dettagliate sul prestito locale e sulla gestione dei lettori? 2. Come

Dettagli

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 1.1 Che cos è un algoritmo CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 Gli algoritmi sono metodi per la soluzione di problemi. Possiamo caratterizzare un problema mediante i dati di cui si dispone all inizio

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

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN)

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) System Overview di Mattia Bargellini 1 CAPITOLO 1 1.1 Introduzione Il seguente progetto intende estendere

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

BPEL: Business Process Execution Language

BPEL: Business Process Execution Language Ingegneria dei processi aziendali BPEL: Business Process Execution Language Ghilardi Dario 753708 Manenti Andrea 755454 Docente: Prof. Ernesto Damiani BPEL - definizione Business Process Execution Language

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

ALGEBRA I: NUMERI INTERI, DIVISIBILITÀ E IL TEOREMA FONDAMENTALE DELL ARITMETICA

ALGEBRA I: NUMERI INTERI, DIVISIBILITÀ E IL TEOREMA FONDAMENTALE DELL ARITMETICA ALGEBRA I: NUMERI INTERI, DIVISIBILITÀ E IL TEOREMA FONDAMENTALE DELL ARITMETICA 1. RICHIAMI SULLE PROPRIETÀ DEI NUMERI NATURALI Ho mostrato in un altra dispensa come ricavare a partire dagli assiomi di

Dettagli

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica A.A. 2007-08 CORSO DI INGEGNERIA DEL SOFTWARE Prof. Giulio Destri http://www.areasp.com (C) 2007 AreaSP for

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

Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009. Lab 02 Tipi semplici in C

Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009. Lab 02 Tipi semplici in C Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009 Lab 02 Tipi semplici in C Obiettivo dell esercitazione Acquistare familiarità con i tipi di dato semplici supportati

Dettagli

Architettura dei Calcolatori

Architettura dei Calcolatori Architettura dei Calcolatori Sistema di memoria parte prima Ing. dell Automazione A.A. 2011/12 Gabriele Cecchetti Sistema di memoria parte prima Sommario: Banco di registri Generalità sulla memoria Tecnologie

Dettagli

Gestore Comunicazioni Obbligatorie. Progetto SINTESI. Comunicazioni Obbligatorie. Modulo Applicativo COB. - Versione Giugno 2013 -

Gestore Comunicazioni Obbligatorie. Progetto SINTESI. Comunicazioni Obbligatorie. Modulo Applicativo COB. - Versione Giugno 2013 - Progetto SINTESI Comunicazioni Obbligatorie Modulo Applicativo COB - Versione Giugno 2013-1 Versione Giugno 2013 INDICE 1 Introduzione 3 1.1 Generalità 3 1.2 Descrizione e struttura del manuale 3 1.3 Requisiti

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

2. GESTIONE DOCUMENTI NON SBN

2. GESTIONE DOCUMENTI NON SBN Istituto centrale per il catalogo unico delle biblioteche italiane e per le informazioni bibliografiche APPLICATIVO SBN-UNIX IN ARCHITETTURA CLIENT/SERVER 2. GESTIONE DOCUMENTI NON SBN Manuale d uso (Versione

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

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico 1996-1997

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico 1996-1997 1 RAPPRESENTAZIONE BINARIA DEI NUMERI Andrea Bobbio Anno Accademico 1996-1997 Numeri Binari 2 Sistemi di Numerazione Il valore di un numero può essere espresso con diverse rappresentazioni. non posizionali:

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

Le Stringhe. Un introduzione operativa. Luigi Palopoli

Le Stringhe. Un introduzione operativa. Luigi Palopoli Le Stringhe p.1/19 Le Stringhe Un introduzione operativa Luigi Palopoli ReTiS Lab - Scuola Superiore S. Anna Viale Rinaldo Piaggio 34 Pontedera - Pisa Tel. 050-883444 Email: palopoli@sssup.it URL: http://feanor.sssup.it/

Dettagli

Cos è una stringa (1) Stringhe. Leggere e scrivere stringhe (1) Cos è una stringa (2) DD Cap. 8 pp. 305-341 KP Cap. 6 pp. 241-247

Cos è una stringa (1) Stringhe. Leggere e scrivere stringhe (1) Cos è una stringa (2) DD Cap. 8 pp. 305-341 KP Cap. 6 pp. 241-247 Cos è una stringa (1) Stringhe DD Cap. 8 pp. 305-341 KP Cap. 6 pp. 241-247 Una stringa è una serie di caratteri trattati come una singola unità. Essa potrà includere lettere, cifre, simboli e caratteri

Dettagli

Informatica Industriale Modello funzionale: Informazione Progettazione concettuale

Informatica Industriale Modello funzionale: Informazione Progettazione concettuale DIIGA - Università Politecnica delle Marche A.A. 2006/2007 Informatica Industriale Modello funzionale: Informazione Progettazione concettuale Luca Spalazzi spalazzi@diiga.univpm.it www.diiga.univpm.it/~spalazzi/

Dettagli

Definizione. File di dati. Insieme di record omogenei memorizzati in memoria di massa. Record. Bianchi. Anna Roma 1980. Verdi. Luca Milano 1960.

Definizione. File di dati. Insieme di record omogenei memorizzati in memoria di massa. Record. Bianchi. Anna Roma 1980. Verdi. Luca Milano 1960. File di dati Definizione File di dati Insieme di record omogenei memorizzati in memoria di massa Bianchi Verdi Neri Verdi Anna Roma 1980 Luca Milano 1960 Andrea Torino 1976 Paola Bari 1954 Record Operazioni

Dettagli

Gestione dei File in C

Gestione dei File in C Gestione dei File in C Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania mpalesi@diit.unict.it http://www.diit.unict.it/users/mpalesi Sommario In questo documento saranno introdotte

Dettagli

EQUAZIONI E DISEQUAZIONI POLINOMIALI E COLLEGAMENTI CON LA GEOMETRIA ELEMENTARE

EQUAZIONI E DISEQUAZIONI POLINOMIALI E COLLEGAMENTI CON LA GEOMETRIA ELEMENTARE EQUAZIONI E DISEQUAZIONI POLINOMIALI E COLLEGAMENTI CON LA GEOMETRIA ELEMENTARE 1. EQUAZIONI Definizione: un equazione è un uguaglianza tra due espressioni letterali (cioè in cui compaiono numeri, lettere

Dettagli

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA in termini generali: Dati in input un insieme S di elementi (numeri, caratteri, stringhe, ) e un elemento

Dettagli