Database - SQL. Database. Introduzione

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Database - SQL. Database. Introduzione"

Transcript

1 Database Introduzione

2 Mo1vazioni In numerosi contes1 applica1vi la ges1one delle informazioni riveste un ruolo chiave: Banking: informazioni sui clien1, i con1 corren1, i mutui, bonifici e transazioni bancarie in genere Linee aeree: prenotazioni ed orario dei voli. Università: info su studen1, corsi, docen1, esami sostenu1, diplomi. Carte di credito: ges1one transazioni, monitoraggio dei limi1 di spesa, invio estrae conto Telecomunicazioni: memorizzare le chiamate effehuate estrarre bollehe periodiche, ges1re sistemi di carte prepagate Finanza: aggiornare la quotazione delle società di borsa in base agli scambi, memorizzare informazioni su quotazione e volumi a fine giornata Supermerca1: info su clien1 (carte fedeltà), prodoe, ordini, acquis1 pagamento e spedizione Risorse umane: info su impiega1, salario base, benefit, tasse, pagamento s1pendi Pagine Web: motori di ricerca, riviste online, blogs, forum,

3 Mo1vazioni Nei sistemi informa1ci le informazioni vengono rappresentate per mezzo di da1 I da1 non sono l informazione

4 Esempio: ci viene deho che i da1 rela1vi alla disponibilità di prodoe nel magazzino di una società che vende televisori sono contenu1 nel file qui mostrato 4:TOSHIBA:15VL34G:1:349,00 5:SINUDYNE:20250MFV:1:399,00 2:SAMSUNG:LE15S51B:1:399,00 2:SHARP:LC15SH1E:1:399,00 1:PHILIPS:20PF7835:1:449,00 0:JVC:LT17E31BU:1:449,00 4:QUASAR:Plasma 42":2:1.299,00 3:SAMSUNG:PS42V4S:2:1.790,00 0:PANASONIC:TH37PA50:2:1.790,00 2:PHILIPS:BDS4221:2:1.799,00 4:ROADSTAR:CTV1434TS:2:79,90 3:SINUDYNE:14605:2:89,90 0:PHILIPS:14PT1547:2:99,00 3:ROADSTAR:CTV2039TS:2:109,00 5:ROADSTAR:CTV2034TS:2:119,90 Che informazioni posso estrarre da ques1 da1?

5 Nell esempio, l informazione è estraha associando una seman1ca alla struhura con cui i da1 sono memorizza1: Il carahere : è usato per separare da1 diversi Il primo dato rappresenta il numero di prodoe disponibili Il secondo dato rappresenta la marca del prodoho Il terzo dato rappresenta il modello di prodoho Il quarto dato rappresenta il 1po di prodoho (1:LCD, 2:PLASMA, 3:CRT) Il quinto dato rappresenta il costo del prodoho

6 La ges1one del magazzino potrebbe essere effehuata ahraverso un programma gest_tv (per esempio scriho in linguaggio c, C++ o Java) che leggendo e scrivendo sul file di testo consenta di: Visualizzare il numero di prodoe in magazzino Aggiornare il numero di prodoe in magazzino Aggiornare il costo dei prodoe Aggiungere/rimuovere prodoe dal magazzino

7 L u1lizzo di file per la memorizzazione di informazioni, comporta grosse limitazioni legate a: Esecuzione di 2 o più processi gest- TV da terminali diversi Quan1tà dei da1 da memorizzare Solidità rispeho a crash di sistema Protezione di uten1 ed operazioni Aggiornamento delle funzionalità di gest- TV

8 Base di da1 Queste cri1cità possono essere superate ahraverso l introduzione di un modulo sofware (DBMS) che operi da intermediario tra le applicazioni ed i da1 sul disco Un database è quindi un insieme di da1 ges1to da un DBMS

9 DataBase Management System DBMS Sistema (prodoho sofware) in grado di ges1re collezioni di da1 che siano (anche): grandi persisten1 garantendo affidabilità privatezza efficienza condivisione

10 Modello dei da1 Tipologie di modelli: Modelli logici: u1lizza1 nei DBMS per l organizzazione dei da1 (relazionale, re1colare, gerarchico, a oggee ) descrivono i da1 in modo da specificare come i programmi possono estrarli Rendono i da1 indipenden1 dalle struhure fisiche di memorizzazione Modelli concequali: permehono di rappresentare i da1 in modo indipendente da ogni DBMS (il più noto è il modello En1ty- Rela1onship) Cercano di descrivere i concee del mondo reale Sono u1lizza1 nella prima fase della progehazione

11 Modello relazionale Il modello logico più diffuso è quello relazionale Informazioni organizzate in una o più relazioni (tabelle): insiemi di record a struhura fissa

12 Linguaggi per basi di da1 Un altro contributo all efficacia dei DBMS è dato dalla disponibilità di vari linguaggi e interfacce per la loro ges1one: comandi testuali interaevi (SQL) comandi SQL immersi in un linguaggio ospite (Pascal, C, C++, Cobol, JAVA, etc.) comandi SQL immersi in un linguaggio ad hoc, con anche altre funzionalità (p.es. per grafici o stampe struhurate), anche con l ausilio di strumen1 di sviluppo (p. es. per la ges1one di maschere) con interfacce grafiche (senza linguaggio testuale)

13 Alcuni DBMS in commercio Oracle IBM DB2 Microsof SQLServer Informix Sybase Ingres Interbase Access MySQL PostgreSQL Firebird SapDB / MaxDB

14 Database Modello relazionale

15 DBMS e modelli logici Modelli logici tradizionali: gerarchico re1colare relazionale Più recen1: a oggee object- rela1onal

16 Il modello relazionale Proposto da E. F. Codd nel 1970 per favorire l indipendenza dei da1 è disponibile in DBMS reali dal 1981 Si basa su uno sviluppo del conceho matema1co di relazione Le relazioni hanno una naturale rappresentazione per mezzo di tabelle

17 Tabelle e relazioni Una tabella rappresenta una relazione (nel modello relazionale) se: i valori di ogni colonna sono fra loro omogenei le righe sono diverse fra loro le intestazioni delle colonne sono diverse tra loro In una tabella che rappresenta una relazione l ordinamento tra le righe è irrilevante l ordinamento tra le colonne è irrilevante

18 Tabelle e relazioni Ogni colonna di una tabella descrive un "ruolo" (proprietà) della relazione: Il nome di ogni colonna viene chiamato ATTRIBUTO Ogni riga di una tabella, cos1tuisce una tupla della relazione Un insieme di tuple si dice n- upla

19 Modello basato su valori Il modello relazionale è un modello basato sui valori: i riferimen1 fra da1 in relazioni diverse sono rappresenta1 per mezzo dei valori di alcuni ahribu1

20 Modello basato su valori Esempio: organizzare le informazioni rela1ve agli studen1 di un CdL: Nome, Cognome e Data di nascita di ciascuno studente Nome dei corsi del CdL Esami supera1 da ciascuno studente e rela1vo voto

21 Modello basato su valori

22 Modello basato su valori Vengono introdoe dei da1 aggiun1vi (dei codici), non necessariamente richies1 all aho della descrizione del contesto da modellare Il valore dei codici è usato per correlare i da1 presen1 su tabelle diverse Nei modelli gerarchico e re1colare al posto di tali codici erano impiega1 dei puntatori

23 StruQure nidificate Spesso i da1 da rappresentare non sono in relazione uno ad uno: Uno studente e gli esami che ha sostenuto Un cantautore e le canzoni che ha composto Una persona ed i suoi recapi1 telefonici In ques1 casi, per una rappresentazione efficiente dei da1 bisogna fare ricorso a più tabelle

24 StruQure nidificate Esempio: rappresentare i da1 sui cantautori e le canzoni che hanno composto Informazioni vincolate a ciascun cantautore: nome, cognome, cod.fiscale, data nascita Informazioni vincolate a ciascuna canzone: 1tolo, anno composizione

25 StruQure nidificate Sarebbe vantaggioso combinare tuhe le informazioni in una sola tabella? NO: Ridondanza, con conseguen1 anomalie di funzionamento Vengono mescola1 in una sola tabella due gruppi di da1 dis1n1: quelli specifici sugli autori e quelli specifici sulle canzoni

26 StruQure nidificate Bisogna mantenere su tabelle dis1nte i da1 di ciascun gruppo logico Come fare per tenere traccia delle canzoni scrihe da ciascun cantautore? Si usa una tabella in più contenente

27 Informazione incompleta ll modello relazionale impone ai da1 una struhura rigida: le informazioni sono rappresentate per mezzo di ennuple solo alcuni forma1 di ennuple sono ammessi: quelli che corrispondono agli schemi di relazione (ai domini degli ahribu1) TuHavia, i da1 disponibili possono non corrispondere al formato previsto

28 Informazione incompleta: mo[vazioni Per esempio, il dato sul numero di telefono potrebbe non essere disponibile Come faccio ad immehere le informazioni a disposizione nella base da1 se alcune sono incomplete?

29 Informazione incompleta nel modello relazionale Soluzione: si introduce un nuovo valore valore nullo: denota l assenza di un valore del dominio (e non è un valore del dominio) E necessario imporre restrizioni sulla presenza di valori nulli

30 Informazione incompleta nel modello relazionale Essendo il modello relazionale basato su valori, la presenza di valori nulli può rendere non correlabili informazioni presen1 su relazioni diverse

31 Tipi di valore nullo Il valore nullo può essere impiegato in tre casi differen1: valore sconosciuto (esiste ma non lo conosco) valore inesistente (so che non esiste) valore senza informazione (non so se esiste o no) TuHavia, i DBMS non dis1nguono i 1pi di valore nullo

32 Una base di da[ "scorreqa"

33 Vincolo di integrità Proprietà che deve essere soddisfaha dalle istanze per rappresentare informazioni correhe rela1vamente ad un determinato contesto Un vincolo è una funzione booleana (un predicato) che associa ad ogni istanza il valore vero o falso

34 Vincoli di integrità Ad una base da1 possono essere associa1 un insieme di vincoli In questo caso saranno correhe le istanze della base da1 che soddisfano TUTTI i vincoli

35 Da[ inconsisten[

36 Chiave insieme di ahribu1 che iden1ficano le ennuple di una relazione Una generica relazione può avere più chiavi: anche insiemi di ahribu1 disgiun1 Un ahributo (o un insieme di ahribu1) si dice superchiave se è univoco (non ci sono valori uguali fra loro) Una superchiave si dice minimale se è composta da 1 solo ahributo

37 Matricola è una chiave: è superchiave con1ene un solo ahributo e quindi è minimale

38 Esistenza delle chiavi Data una relazione, questa può non avere chiavi? NO!

39 Importanza delle chiavi l esistenza delle chiavi garan1sce l accessibilità a ciascun dato della base di da1 le chiavi permehono di correlare i da1 in relazioni diverse: modello basato su valori

40 Chiavi e valori nulli La presenza di valori nulli nei valori della chiave rende cri1ca: Iden1ficazione delle ennuple Definizione di corrispondenze tra ennuple in relazioni diverse

41 Chiave primaria Chiave su cui non sono ammessi valori nulli

42 Integrità referenziale informazioni in relazioni diverse sono correlate ahraverso valori comuni in par1colare, valori delle chiavi (primarie) le correlazioni debbono essere "coeren1"

43

44 Vincolo di integrità referenziale Un vincolo di integrità referenziale ( foreign key ) fra gli ahribu1 X di una relazione R1 e un altra relazione R2 impone ai valori su X in R1 di comparire come valori della chiave primaria di R2 Può verificarsi che alcuni valori presen1 nella PK di R2 non siano presen1 in X? SI Può verificarsi che valori presen1 in X non siano presen1 nella PK di R2? NO R1: tabella interna R2: tabella esterna

45 Operazioni di aggiornamento e violazione dei vincoli Il modello relazionale prevede due classi di operazioni: Operazioni di ricerca (querying) CostruE dell algebra relazionale ed SQL Operazioni di aggiornamento (update) CostruE per l inserimento, cancellazione e modifica di tuple

46 Operazioni di aggiornamento Inserimento: È usato per inserire nuove tuple in una relazione Cancellazione: È usata per cancellare tuple da una relazione Modifica: È usato per cambiare il valore di alcuni ahribu1 nelle tuple di una relazione Le operazioni di aggiornamento devono rispehare i vincoli di integrità specifica1 nello schema della base da1

47 Operazioni e violazione dei vincoli A fronte della richiesta di esecuzione di una operazione che viola un vincolo di integrità il sistema può: Bloccare l esecuzione dell operazione no1ficando un messaggio d errore Eseguire l operazione gestendo la violazione del vincolo con opportune azioni compensa1ve

48 Azioni compensa[ve Esempio: L eliminazione di una ennupla dalla tabella esterna può causare una violazione del vincolo di integrità referenziale Azioni Rifiuto dell'operazione Eliminazione in cascata Introduzione di valori nulli

49 Eliminazione in cascata

50 Introduzione di valori nulli

51 Esercizio Definire uno schema di base da1 per organizzare le informazioni di una azienda che ha impiega1 (ognuno con codice fiscale, nome, cognome e data di nascita), filiali (con codice, sede e direhore, che è un impiegato). Ogni impiegato lavora presso una o più filiali. Indicare le chiavi ed i vincoli di integrità referenziale dello schema.

52 Linguaggi di interrogazione per il modello relazionale Algebra relazionale: procedurale Calcolo relazionale: dichiara1vo (teorico) SQL (Structured Query Language): parzialmente dichiara1vo (reale) QBE (Query by Example): dichiara1vo (reale)

53 Algebra relazionale Cos1tuito da un insieme di operatori defini1 su relazioni e che producono relazioni come risulta1 Gli operatori possono essere compos1 in cascata per formulare interrogazioni complesse

54 Operatori dell'algebra relazionale Unione, intersezione, differenza (operatori insiemis1ci) Ridenominazione, selezione, proiezione (operatori monadici, agiscono su una sola relazione) Join: join naturale, prodoho cartesiano, theta- join (operatori su due o più relazioni)

55 Operatori insiemis[ci Dato che le istanze di relazioni sono insiemi ha senso considerare gli operatori defini1 per gli Insiemi TuHavia una relazione nel modello relazionale differisce da una generica relazione insiemis1ca per la presenza dello schema Per evitare risulta1 non coeren1, l applicazione degli operatori unione, intersezione, differenza deve essere limitata a relazioni definite sugli stessi ahribu1

56 Unione L unione tra due relazioni R1 ed R2 definite sullo stesso insieme di ahribu1 X è indicata con R1 R2 ed è una relazione su X contenente le n- uple che appartengono ad R1 o ad R2 o ad entrambe Siccome in una relazione non possono esserci due n- uple uguali, le n- uple che sono presen1 in entrambe le relazioni di partenza vengono rappresentate una sola volta nell unione

57 Unione

58 Intersezione L intersezione tra due relazioni R1 ed R2 definite sullo stesso insieme di ahribu1 X è indicata con R1 R2 ed è una relazione su X contenente le n- uple che appartengono sia ad R1 che ad R2

59 Differenza La differenza tra una relazione R1 ed una relazione R2 definite sullo stesso insieme di ahribu1 X è indicata con R1 - R2 ed è una relazione su X contenente le n- uple di R1 che non appartengono ad R2 La differenza NON È commuta1va

60 Ridenominazione operatore monadico (con un argomento) "modifica lo schema" di una relazione cambiando il nome di uno o più ahribu1 e lasciando inalterata l'istanza Vincoli: Non si può assegnare ad un ahributo un nome che compare già come nome di un ahributo della relazione

61 Selezione operatore monadico produce un risultato che: ha lo stesso schema dell'operando con1ene un sohoinsieme delle ennuple dell'operando: quelle che soddisfano una condizione si selezione

62 Selezione Una condizione di selezione su un insieme di ahribu1 X è una formula proposizionale su X ohenuta combinando con i conneevi logici AND( ), OR( ) e NOT( ) condizioni atomiche del 1po AχB o Aχc dove: χ è un operatore di confronto (=,<,>, ) A e B sono ahribu1 di X su cui χ abbia senso c è una costante compa1bile con il dominio di A

63 Proiezione operatore monadico produce un risultato che È definito su un sohoinsieme Y degli ahribu1 dell'operando con1ene n- uple ohenute considerando i valori su Y delle n- uple dell'operando

64 Proiezione PROJ Matricola, Cognome (Impiega[)

65 Selezione e proiezione Combinando selezione e proiezione, possiamo estrarre interessan1 informazioni da una relazione

66 Join Combinando selezione e proiezione, possiamo estrarre informazioni da una relazione Non possiamo però correlare informazioni presen1 in relazioni diverse Il JOIN è l'operatore dell'algebra relazionale che permehe di correlare da1 in relazioni diverse

67 Join naturale operatore binario (generalizzabile) produce una relazione le cui righe sono ohenute concatenando le tuple degli operandi sulla base di valori uguali in ahribu1 con lo stesso nome Il risultato del JOIN è definito sull'unione degli ahribu1 degli operandi

68 Join naturale

69 JOIN Completo Se ogni n- upla delle due relazioni contribuisce al risultato il JOIN si dice completo Altrimen1 il join è non competo

70 Un join non completo

71 JOIN vuoto Un caso par1colare del JOIN non completo è il JOIN vuoto che dà come risultato la relazione vuota

72 Join esterno Il join esterno estende, con valori nulli, le ennuple che verrebbero tagliate fuori da un join (interno) esiste in tre versioni: sinistro, destro, completo

73 Join esterno sinistro: man1ene tuhe le ennuple del primo operando, estendendole con valori nulli, se necessario destro:... del secondo operando... completo: di entrambi gli operandi...

74

75

76

77 ProdoQo cartesiano Che succede se eseguo un join naturale tra relazioni che non hanno ahribu1 in comune? Ogni n- pla della prima relazione può combinarsi con ognuna delle n- ple della seconda Il risultato con1ene sempre un numero di n- ple pari al prodoho delle cardinalità degli operandi In questo caso il JOIN diventa il prodoho cartesiano tra i due operandi

78

79 Il prodoho cartesiano, in pra1ca, ha senso solo se seguito da selezione: SEL Condizione (R1 JOIN R2) L'operazione viene chiamata theta- join e indicata con R1 JOIN Condizione R2

80 Perché "theta- join"? La condizione C è spesso una congiunzione (AND) di atomi di confronto A1ϑ A2 dove ϑ è uno degli operatori di confronto (=, >, <, ) se l'operatore è sempre l'uguaglianza (=) allora si parla di equi- join

81

82 JOIN naturale ed equi- join Il JOIN naturale può essere ohenuto per mezzo di operatori di ridenominazione, equi- join e proiezione

83 SQL

84 SQL: "storia Sviluppato nella metà degli anni sehanta (1974) presso il laboratorio di ricerca IBM di S.Josè (Repubblica della Costa Rica) Dal 1983 ca. standard di faho E il linguaggio di riferimento per l interrogazione di DBMS relazionali

85 SQL Structured Query Language con[ene sia il DDL che DML DDL: DML: CREATE TABLE, ALTER TABLE, DROP TABLE Estrazione da[: SELECT Aggiornamento da[: INSERT, DELETE, UPDATE

86 SQL Tre diverse standardizzazioni ANSI. SQL- 89, SQL- 92 (SQL- 2), SQL- 99 (SQL- 3) Spesso i sistemi offrono funzionalità aggiun[ve non previste dallo standard: regole ajve o trigger (specificano comportamen[ ajvi del DBMS per la ges[one di even[) Interfacce grafiche per la specifica delle interrogazioni (tradoqe automa[camente in SQL)

87

88 Istruzione SELECT Nella sua forma più semplice l estrazione di da[ avviene aqraverso il seguente comando: SELECT ListaAQribu[ FROM Tabella Che ha come effeqo quello di estrarre da una tabella i valori rela[vi ad un soqoinsieme degli aqribu[ della tabella stessa

89

90 Istruzione SELECT Tale operazione è equivalente alla PROIEZIONE nell algebra relazionale L effeqo dell istruzione Select nome, cognome, dipart From impiegato è quello di proieqare sugli aqribu[ nome, cognome e dipart il contenuto della tabella impiegato La lista di aqribu[ che segue la keyword SELECT è deqa target list

91 Istruzione SELECT Se al posto della lista di aqribu[ compare il simbolo * il risultato con[ene i da[ rela[vi a tuj gli aqribu[ della tabella: Select * from impiegato presenta il contenuto dell intera tabella impiegato

92 Istruzione SELECT L istruzione select può essere estesa in modo da effequare una SELEZIONE delle righe che devono comparire nel risultato Questo richiede la specifica di una condizione di selezione: Una formula booleana da calcolarsi (riga per riga) in base al valore di alcuni aqribu[ Il risultato conterrà solo quelle righe per le quali la condizione di selezione dà valore vero

93

94

95 SELECT SQL Nella target list possono comparire generiche espressioni aritme[che sul valore degli aqribu[ di ciascuna riga selezionata. Sia gli aqribu[ che le tabelle possono essere rinomina[ per mezzo di Alias con il costruqo as.

96

97 SELECT SQL La clausola where ammeqe come argomento un'espressione booleana costruita combinando predica[ atomici con gli operatori and, or e not. La sintassi assegna la precedenza all operatore not ma non definisce una relazione di precedenza tra gli operatori and e or.

98

99 JOIN Tipicamente, le informazioni memorizzate in un database sono organizzate su più tabelle I legami tra righe di tabelle diverse sono mantenu[ aqraverso codici aqraverso cui correlare le righe L estrazione di informazioni contenute su più tabelle richiede pertanto la specifica di: Quali siano le tabelle da prendere in considerazione Quale sia il criterio per correlare le righe delle diverse tabelle

100 JOIN Questa operazione prende il nome di JOIN (o più precisamente theta- join) tra le tabelle e viene eseguita aqraverso due passi: ProdoQo cartesiano tra le due tabelle Concatenare ogni riga della prima tabella con ogni riga della seconda tabella Selezione delle righe conformi al criterio di correlazione

101 JOIN Supponiamo di voler estrarre i da[ rela[vi a ciascun impiegato ed al dipar[mento presso cui lavora

102 JOIN Il criterio per correlare le righe presen[ nelle due tabelle è cos[tuito dall avere il valore dell aqributo Nome nella tabella Dipar[mento uguale al valore dell aqributo Dipart nella tabella Impiegato

103

104

105

106

107

108 Invece che riscrivere il nome per intero delle tabelle, è possibile associare degli alias al nome delle tabelle. Estrarre i nomi degli impiega[ e le ciqà in cui lavorano:

109

110

111 SQL Valori nulli SQL fornisce un predicato per la ges[one dei valori nulli. La sintassi è: AQributo is [ not ] null e risulta vero solo se l aqributo ha valore nullo (o non nullo se usato nella forma is not null).

112

113 Duplica[ Nel modello relazionale non si ammeqe che una relazione possa contenere righe uguali SQL possono esserci più righe uguali (deqe duplica[) nel risultato di una select: eliminare i duplica[ è costoso (richiede tempo) e spesso non necessario SQL esegue la rimozione dei duplica[ solo quando esplicitamente richiesto nell interrogazione CostruQo select dis[nct

114

115

116 Join interni ed esterni Sino ad ora la specifica della condizione di JOIN (theta- join) è stata inclusa nella clausola where Una sintassi alterna[va permeqe di dis[nguere le condizioni di join da quelle di selezione tra le righe. In questo modo è anche possibile specificare le forme esterne dell operatore di join.

117 Join interni ed esterni la condizione di join non compare nella clausola where ma nella clausola from: TipoJoin specifica quale [po di join u[lizzare: inner (valore di default, è il theta- join dell algebra relazionale), right, lew, full (ques[ ul[mi tre possono essere segui[ dalla parola chiave outer).

118

119

120 SELECT SQL Un estensione di SQL- 2 permeqe di far precedere ad ogni join la parola chiave natural. In questo modo si consente la specifica del join natural presente nell algebra relazionale, che prevede di u[lizzare nel join di due tabelle una condizione di implicita uguaglianza su tuj gli aqribu[ caraqerizza[ dallo stesso nome.

121 Ordinamento In SQL è possibile specificare che i risulta[ di una interrogazione siano ordina[ sulla base del valore di alcuni aqribu[. Questo è consen[to aqraverso l uso della clausola order by posta a seguire la clausola where. Sintassi:

122

123 SQL Operatori aggrega1, insiemis1ci ed interrogazioni nidificate

124 Operatori aggrega1 Gli operatori dell algebra relazionale consentono di estrarre informazioni contenute in singole tuple delle tabelle su cui operano: il risultato di una operazione è sempre qualcosa che compare in qualcuna delle tuple degli operandi (o ne è una funzione). Una operazione impossibile: Contare le tuple di una relazione. Per esempio: quan1 impiega1 lavorano nel dipar1mento Produzione? E una operazione impossibile perché il numero di tuple non è un dato che compare esplicitamente in qualcuna delle tuple

125 Operatori aggrega1 Gli operatori aggrega1 consentono di estrarre informazioni che rappresentano proprietà di gruppi di tuple. Per esempio, proprietà calcolabili ahraverso operazioni di conteggio: Calcolare il numero di impiega1 operazioni di somma: Calcolare la somma degli s1pendi degli impiega1 operazioni sta1s1che: Calcolare valor medio e deviazione standard degli s1pendi degli impiega1

126

127 Operatori aggrega1 Gli operatori aggrega1 vengono ges11 dopo aver risolto l interrogazione in base alle clausole from e where Lo standard SQL prevede cinque operatori aggrega1: count, sum, max, min, avg

128 La sintassi: L opzione * res1tuisce il numero di righe L opzione dis1nct res1tuisce il numero di righe con valore diverso e non nullo degli ahribu1 in ListaAHribu1 L opzione all (è il valore di default) res1tuisce il numero di righe con valore non nullo degli ahribu1 in ListaAHribu1

129

130

131 Interrogazioni con raggruppamento In generale, capita spesso di voler applicare l operatore aggregato non ad una intera tabella ma a sohoinsiemi di tuple della tabella La somma degli s1pendi degli impiega1 che lavorano nel dip. Amministrazione, in quello Produzione, Sviluppo In SQL, l esecuzione di queste operazioni richiede la specifica di: Un criterio in base al quale definire gruppi di tuple all interno di una relazione Un operatore aggregato da calcolare separatamente su ciascun gruppo di tuple (count, sum, max, min, )

132 Interrogazioni con raggruppamento La specifica della lista di ahribu1 su cui effehuare il raggruppamento avviene ahraverso la clausola group by La query raggrupperà le righe che possiedono valori uguali sull insieme di ahribu1 della clausola group by Il valore di eventuali operatori aggrega1 sarà valutato separatamente per ciascun gruppo

133

134 Predica1 sui gruppi Con la clausola group by le righe possono essere raggruppate in sohoinsiemi. Le condizioni da verificare a livello di singole tuple compaiono nella clausola where. TuHavia può essere necessario verificare delle condizioni a livello di gruppi. Per esempio: Quali dipar1men1 hanno più di 5 impiega1? Questa interrogazione non può essere risolta imponendo una condizione nella clausola where perché il numero di impiega1 di ciascun dipar1mento non compare come ahributo di una singola tupla Inoltre i gruppi vengono costrui1 dopo aver eliminato le righe che non rispehano la clausola where

135 Predica1 sui gruppi Le condizioni da verificare a livello di gruppo sono specificate ahraverso un nuovo costruho: la clausola having. Questa consente la specifica di un predicato in cui compaiono gli operatori aggrega1.

136

137 Predica1 sui gruppi La condizione espressa nella clausola having viene valutata al termine dell interrogazione In presenza di una clausola where e di una clausola having, la prima ha precedenza sulla seconda: i gruppi vengono compos1 dopo aver verificato la clausola where e solo dopo la composizione dei gruppi si valuta la clausola having

138

139 SELECT SQL La forma generale di un interrogazione SQL che includa le clausole sin'ora viste (altre le vedremo in seguito) è:

140 Operatori aggrega1 In generale, gli operatori aggrega1 non possono essere nidifica1: SELECT avg( count(*) ) SELECT max( sum(valore) ) SELECT avg( sum(valore) ) Sono tuhe espressioni SBAGLIATE L estrazione di questo 1po di informazioni richiede il ricorso a costrue diversi: SELECT nidificate Viste

141 Interrogazioni di 1po insiemis1co SQL mehe a disposizione i seguen1 operatori insiemis1ci: union (unione), intersect (intersezione), except (o minus, differenza). Mentre i risulta1 di intersezione e differenza possono essere espressi u1lizzando altri costrue del linguaggio (interrogazioni nidificate), l operatore di unione arricchisce il potere espressivo di SQL permehendo di scrivere interrogazioni altrimen1 non formulabili.

142 Interrogazioni di 1po insiemis1co Sintassi: SelectSQL { < union [ all ] intersect except > SelectSQL } Gli operatori insiemis1ci assumono come default l eliminazione dei duplica1 (se si vogliono mantenere i duplica1 basta includere la clausola all).

143 Interrogazioni di 1po insiemis1co SQL non richiede che gli schemi su cui vengono effehuate le operazioni insiemis1che siano iden1ci ma solo che gli ahribu1 siano in ugual numero e che abbiano domini compa1bili. La corrispondenza tra ahribu1 si basa sulla loro posizione. In presenza di ahribu1 con nome diverso il risultato ha normalmente il nome del primo operando.

144

145 Interrogazioni nidificate Sino ad ora abbiamo visto interrogazioni in cui l argomento della clausola where si basa su condizioni espresse da predica1 semplici: Confronto riga per riga tra il valore di un ahributo ed una costante o il valore di un altro ahributo Ci sono tuhavia interrogazioni che richiedono una modalità di specifica più complessa, che consenta di effehuare la selezione in base al risultato di una seconda interrogazione Esempio: estrarre nome e cognome dell impiegato che guadagna lo s1pendio massimo Da un analisi riga per riga non siamo in grado di sapere se lo s1pendio di un impiegato è maggiore di quello di tue gli altri

146 Interrogazioni nidificate La soluzione consiste nell estendere il 1po di confron1 che possono essere specifica1 nella clausola where Confronto riga per riga tra il valore di un ahributo ed una costante il valore di un ahributo ed un altro ahributo il valore di un ahributo ed il risultato di una select Nell ul1mo caso, l interrogazione usata per il confronto viene definita direhamente all interno del predicato della clausola where e si parla di interrogazioni nidificate

147

148

149 Interrogazioni nidificate Nell esempio visto, il risultato della select nidificata era un singolo valore (il massimo) TuHavia, non sempre è così. In generale, nelle interrogazioni nidificate può esserci una disomogeneità (un confliho d impedenza) tra i termini messi a confronto nella clausola where: da una parte il valore dell ahributo per una par1colare tupla ( where s1pendio = ) dall altra un insieme di tuple (il risultato dell interrogazione nidificata).

150 Interrogazioni nidificate SQL ges1sce questa disomogeneità con le parole chiave any e all che estendono gli operatori di confronto relazionale (=, <>, <, >, <=, >=). Con any la condizione risulta vera se il confronto tra ahributo e risultato è vero per almeno uno degli elemen1 res1tui1 dall interrogazione. Con all la condizione risulta vera se il confronto tra ahributo e risultato è vero per tue gli elemen1 res1tui1 dall interrogazione. Deve esserci compa1bilità di dominio tra l ahributo oggeho del confronto ed il risultato dell interrogazione.

151

152

153

154

155

156

157

158

159 Le query nidificate consentono di esprimere in modo equivalente interrogazioni che richiedono l uso degli operatori intersezione e differenza. Il ricorso alle query nidificate è molto frequente su quei DBMS che non supportano gli operatori insiemis1ci

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

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

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

Dal modello concettuale al modello logico

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

Dettagli

Introduzione 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

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

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

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

(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

La Valutazione della Ricerca nelle Università Italiane: la SUA-RD e le prospettive future.

La Valutazione della Ricerca nelle Università Italiane: la SUA-RD e le prospettive future. La Valutazione della Ricerca nelle Università Italiane: la SUA-RD e le prospettive future. Massimo Castagnaro Coordinatore AVA - Consiglio Direttivo ANVUR massimo.castagnaro@anvur.org Roma, 11.11.2014

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

Grafi, alberi e re1: modelli su cui cercare soluzioni o;me

Grafi, alberi e re1: modelli su cui cercare soluzioni o;me Università degli Studi Roma Tre Dipar-mento di Scienze della Formazione Laboratorio di Matema-ca per la Formazione Primaria Grafi, alberi e re: modelli su cui cercare soluzioni o;me Mini corso Informa.ca

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

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

Progettazione di Database

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

Dettagli

Devi fare una fattura elettronica alla PA? Tu fatturi, al resto ci pensiamo noi. Servizio Fatt PA Lextel

Devi fare una fattura elettronica alla PA? Tu fatturi, al resto ci pensiamo noi. Servizio Fatt PA Lextel Devi fare una fattura elettronica alla PA? Tu fatturi, al resto ci pensiamo noi. Servizio Fatt PA Lextel FATTURAZIONE ELETTRONICA Fa# PA è il servizio online di fa/urazione ele/ronica semplice e sicuro

Dettagli

Il sistema AVA e la VQR: la Scheda Unica Annuale della Ricerca Dipartimentale (SUA-RD)

Il sistema AVA e la VQR: la Scheda Unica Annuale della Ricerca Dipartimentale (SUA-RD) Il sistema AVA e la VQR: la Scheda Unica Annuale della Ricerca Dipartimentale (SUA-RD) Massimo Castagnaro Coordinatore AVA - Consiglio Direttivo ANVUR massimo.castagnaro@anvur.org Lecce, 19.02.2014 La

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

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

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

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

Product Overview. ITI Apps Enterprise apps for mobile devices

Product Overview. ITI Apps Enterprise apps for mobile devices Product Overview ITI Apps Enterprise apps for mobile devices ITI idea, proge2a e sviluppa apps per gli uten6 business/enterprise che nell ipad, e nelle altre pia2aforme mobili, possono trovare un device

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

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

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

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

Dettagli

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

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

Documentazione Servizio SMS WEB. Versione 1.0

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

Dettagli

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

Algebra di Boole ed Elementi di Logica

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

Dettagli

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

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

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

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina Cosa è il DSS L elevato sviluppo dei personal computer, delle reti di calcolatori, dei sistemi database di grandi dimensioni, e la forte espansione di modelli basati sui calcolatori rappresentano gli sviluppi

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

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

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

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

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

Business Intelligence

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

Dettagli

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

GUIDA RAPIDA emagister-agora Edizione BASIC

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

Dettagli

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

Una proposta per la matematica del Secondo Biennio e per il quinto anno tra contenuti e attività

Una proposta per la matematica del Secondo Biennio e per il quinto anno tra contenuti e attività XXXII CONVEGNO UMI-CIIM IL VALORE FORMATIVO DELLA MATEMATICA NELLA SCUOLA DI OGGI dedicato a Federigo Enriques Livorno, 16-18 ottobre 2014 Una proposta per la matematica del Secondo Biennio e per il quinto

Dettagli

15 Aggiornamento Circolare 263/2006: Esternalizzazione di funzioni aziendali

15 Aggiornamento Circolare 263/2006: Esternalizzazione di funzioni aziendali Informa(on and Communica(on Technology supply chain security 15 Aggiornamento Circolare 263/2006: Esternalizzazione di funzioni aziendali Luca Lazzaretto Rosangela D'Affuso Padova, 29 aprile 2015 1 15

Dettagli

Università degli studi di Pavia Facoltà di Economia a.a. 2014-2015

Università degli studi di Pavia Facoltà di Economia a.a. 2014-2015 Università degli studi di Pavia Facoltà di Economia a.a. 2014-2015 Corso di Economia Aziendale II modulo Capitolo 4 Lo scambio monetario e i valori scaturenti da esso 1 Stru%ura del corso Introduzione

Dettagli

Relazione sul data warehouse e sul data mining

Relazione sul data warehouse e sul data mining Relazione sul data warehouse e sul data mining INTRODUZIONE Inquadrando il sistema informativo aziendale automatizzato come costituito dall insieme delle risorse messe a disposizione della tecnologia,

Dettagli

SISSI IN RETE. Quick Reference guide guida di riferimento rapido

SISSI IN RETE. Quick Reference guide guida di riferimento rapido SISSI IN RETE Quick Reference guide guida di riferimento rapido Indice generale Sissi in rete...3 Introduzione...3 Architettura Software...3 Installazione di SISSI in rete...3 Utilizzo di SISSI in Rete...4

Dettagli

Manuale Software. www.smsend.it

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

Dettagli

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

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

Dettagli

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

DALLA FORMAZIONE DEI DOCENTI ALL INNOVAZIONE DI SISTEMA

DALLA FORMAZIONE DEI DOCENTI ALL INNOVAZIONE DI SISTEMA ED Educare Digitale DALLA FORMAZIONE DEI DOCENTI ALL INNOVAZIONE DI SISTEMA p. 1 Testimonianze ore 15:20 15:30 Corso Pia7aforma Dida;ca (Learning Management System) M A in Direzione aziendale e Ges;one

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

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

HORIZON SQL CONFIGURAZIONE DI RETE

HORIZON SQL CONFIGURAZIONE DI RETE 1-1/9 HORIZON SQL CONFIGURAZIONE DI RETE 1 CARATTERISTICHE DI UN DATABASE SQL...1-2 Considerazioni generali... 1-2 Concetto di Server... 1-2 Concetto di Client... 1-2 Concetto di database SQL... 1-2 Vantaggi...

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

Energy Studio Manager Manuale Utente USO DEL SOFTWARE

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

Dettagli

Parte 2. Determinante e matrice inversa

Parte 2. Determinante e matrice inversa Parte. Determinante e matrice inversa A. Savo Appunti del Corso di Geometria 013-14 Indice delle sezioni 1 Determinante di una matrice, 1 Teorema di Cramer (caso particolare), 3 3 Determinante di una matrice

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

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

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

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

Introduzione alla Programmazione ad Oggetti in C++

Introduzione alla Programmazione ad Oggetti in C++ Introduzione alla Programmazione ad Oggetti in C++ Lezione 1 Cosa è la Programmazione Orientata agli Oggetti Metodologia per costruire prodotti software di grosse dimensioni che siano affidabili e facilmente

Dettagli

Cicli in Visual Basic for Application. For contatore = inizio To fine istruzioni Next contatore

Cicli in Visual Basic for Application. For contatore = inizio To fine istruzioni Next contatore Cicli in Visual Basic for Application Le strutture del programma che ripetono l'esecuzione di una o più istruzioni sono chiamate Cicli. Alcune strutture per i cicli sono costruite in modo da venire eseguite

Dettagli

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File

Dettagli

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO... Modulo A Programmiamo in Pascal Unità didattiche 1. Installiamo il Dev-Pascal 2. Il programma e le variabili 3. Input dei dati 4. Utilizziamo gli operatori matematici e commentiamo il codice COSA IMPAREREMO...

Dettagli

La materia di cui sono fa0 i sogni digitali. Gian Luigi Ferrari Dipar7mento di Informa7ca Universita di Pisa

La materia di cui sono fa0 i sogni digitali. Gian Luigi Ferrari Dipar7mento di Informa7ca Universita di Pisa La materia di cui sono fa0 i sogni digitali Gian Luigi Ferrari Dipar7mento di Informa7ca Universita di Pisa Presentazioni! Gian Luigi Ferrari o Informa7co! Di cosa mi occupo (ricerca) o Linguaggi di Programmazione!

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

Il Sistema Operativo: il File System

Il Sistema Operativo: il File System Il Sistema Operativo: il File System Il File System è quella parte del S.O. che si occupa di gestire e strutturare le informazioni memorizzate su supporti permanenti (memoria secondaria) I file vengono

Dettagli

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

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

Dettagli

Valore di costo procedimen+ sinte+ci

Valore di costo procedimen+ sinte+ci Corso di valutazione es+ma+va del proge5o Clasa a.a. 2012/13 Valore di costo procedimen+ sinte+ci Docente Collaboratore prof. Stefano Stanghellini arch. Pietro Bonifaci Il mercato delle costruzioni LE

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

Logica del primo ordine

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

Dettagli

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

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

Parte 3. Rango e teorema di Rouché-Capelli

Parte 3. Rango e teorema di Rouché-Capelli Parte 3. Rango e teorema di Rouché-Capelli A. Savo Appunti del Corso di Geometria 203-4 Indice delle sezioni Rango di una matrice, 2 Teorema degli orlati, 3 3 Calcolo con l algoritmo di Gauss, 6 4 Matrici

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

ALGEBRA I: CARDINALITÀ DI INSIEMI

ALGEBRA I: CARDINALITÀ DI INSIEMI ALGEBRA I: CARDINALITÀ DI INSIEMI 1. CONFRONTO DI CARDINALITÀ E chiaro a tutti che esistono insiemi finiti cioè con un numero finito di elementi) ed insiemi infiniti. E anche chiaro che ogni insieme infinito

Dettagli

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

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

Dettagli

Middleware Laboratory. Dai sistemi concorrenti ai sistemi distribuiti

Middleware Laboratory. Dai sistemi concorrenti ai sistemi distribuiti Dai sistemi concorrenti ai sistemi distribuiti Problemi nei sistemi concorrenti e distribuiti I sistemi concorrenti e distribuiti hanno in comune l ovvio problema di coordinare le varie attività dei differenti

Dettagli

Accesso in cloud alle informazioni mul1mediali, provenien1 da più fon1 e canali di comunicazione (Es. rassegna stampa)

Accesso in cloud alle informazioni mul1mediali, provenien1 da più fon1 e canali di comunicazione (Es. rassegna stampa) Accesso in cloud alle informazioni mul1mediali, provenien1 da più fon1 e canali di comunicazione (Es. rassegna stampa) Massimiliano Viglian1 Solu1on Specialist Applica1on Division CBT Comunicazione integrata

Dettagli

Basi di Da( Presentazione del corso

Basi di Da( Presentazione del corso Basi di Da( Presentazione del corso Basi di Da( Prof. Riccardo Martoglia E- mail: riccardo.martoglia@unimo.it Home page del corso: h4p://www.isgroup.unimo.it/corsi/bda: 2 Basi di Dati - Presentazione del

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

Il Business Process Management: nuova via verso la competitività aziendale

Il Business Process Management: nuova via verso la competitività aziendale Il Business Process Management: nuova via verso la competitività Renata Bortolin Che cosa significa Business Process Management? In che cosa si distingue dal Business Process Reingeneering? Cosa ha a che

Dettagli

Classe e ordinamento del Corso di studio (es. classe L24 ordinamento 270/04 oppure classe 15 ordinamento 509/99)

Classe e ordinamento del Corso di studio (es. classe L24 ordinamento 270/04 oppure classe 15 ordinamento 509/99) Mod. 6322/triennale Marca da bollo da 16.00 euro Domanda di laurea Valida per la prova finale dei corsi di studio di primo livello Questo modulo va consegnato alla Segreteria amministrativa del Corso a

Dettagli

Data warehouse.stat Guida utente

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

Dettagli

UML Component and Deployment diagram

UML Component and Deployment diagram UML Component and Deployment diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania I diagrammi UML Classificazione

Dettagli

Excel basi e funzioni

Excel basi e funzioni Esercitazione di Laboratorio Excel basi e funzioni Contenuto delle celle 1. Testo 2. Numeri 3. Formule Formattazione delle celle (1) Formattazione del testo e dei singoli caratteri: Orientamento a 45 Allineamento

Dettagli

Grandi dimensioni e dimensioni variabili

Grandi dimensioni e dimensioni variabili Grandi dimensioni e dimensioni variabili aprile 2012 1 Questo capitolo studia alcuni ulteriori aspetti importanti e caratteristici della gestione delle dimensioni in particolare, delle grandi dimensioni

Dettagli

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

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

Dettagli

1. Dal computer ad un sistema informa1vo

1. Dal computer ad un sistema informa1vo Corso di Laurea in Matema1ca Dipar9mento di Matema9ca e Fisica Sistemi per l elaborazione delle informazioni 1. Dal computer ad un sistema informa1vo Dispense del corso IN530 prof. Marco Liverani Computer

Dettagli

RefWorks Guida rapida VERSIONE 6.0

RefWorks Guida rapida VERSIONE 6.0 RefWorks Guida rapida VERSIONE 6.0 ISTRUZIONI DI ACCESSO Accedere a www.refworks.com/refworks e imme ere il proprio nome (Login Name) e la password. (Gli uten che accedono al sistema per la prima volta

Dettagli

IT FOR BUSINESS AND FINANCE

IT FOR BUSINESS AND FINANCE IT FOR BUSINESS AND FINANCE Business Intelligence Siena 14 aprile 2011 AGENDA Cos è la Business Intelligence Terminologia Perché la Business Intelligence La Piramide Informativa Macro Architettura Obiettivi

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

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

Nasce un nuovo modo di pensare alla posta DAL TUO PC STAMPI UN DOCUMENTO E SPEDISCI UNA BUSTA LA TUA POSTA IN UN CLICK

Nasce un nuovo modo di pensare alla posta DAL TUO PC STAMPI UN DOCUMENTO E SPEDISCI UNA BUSTA LA TUA POSTA IN UN CLICK Nasce un nuovo modo di pensare alla posta DAL TUO PC STAMPI UN DOCUMENTO E SPEDISCI UNA BUSTA LA TUA POSTA IN UN CLICK LA TUA POSTA IN UN CLICK Clicca&Posta è una soluzione software per la gestione della

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

MASTER di I livello in Banking and Financial Services Management

MASTER di I livello in Banking and Financial Services Management MASTER di I livello in Banking and Financial Services Management Il Master universitario di 1 livello Banking and Financial Services Management è nato dall accordo tra la Scuola di Amministrazione Aziendale

Dettagli

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

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

Dettagli

Oggetti Lezione 3. aspetti generali e definizione di classi I

Oggetti Lezione 3. aspetti generali e definizione di classi I Programmazione a Oggetti Lezione 3 Il linguaggio Java: aspetti generali e definizione di classi I Sommario Storia e Motivazioni Definizione di Classi Campi e Metodi Istanziazione di oggetti Introduzione

Dettagli