In un articolo pubblicato nel numero di Gennaio 2002

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "In un articolo pubblicato nel numero di Gennaio 2002"

Transcript

1 Oracle 9.2 XML Database FOCUS Le soluzioni di Oracle La principale innovazione presente nella release 2 di Oracle9i è il database XML chiamato XDB. Analizziamo le principali caratteristiche di questo importante strumento OraXmlDb È laureato in matematica ed è certificato Oracle Application Developer. Si occupa di analisi, progettazione e sviluppo di applicazioni software di Massimo Ruocchio In un articolo pubblicato nel numero di Gennaio 2002 di Computer Programming [3], è stato introdotto il tema dei database XML analizzando, a titolo d esempio, tre prodotti di tipo diverso. Tra i prodotti presentati Oracle8i, che non usciva benissimo dal confronto con strumenti specializzati nella gestione di documenti XML. Con la versione 9.2 del database, Oracle si propone di porre rimedio a questa situazione fornendo XDB. XDB non è un prodotto a sé; è costituito da una serie di funzionalità, incluse nell istallazione base di Oracle9i, per la gestione dei documenti XML. I due elementi principali di XDB sono il datatype XMLType, già presente nella release precedente ma decisamente migliorato nell ultima, ed il repository XML. Nei prossimi paragrafi descriveremo questi due strumenti. XMLType Un documento XML può essere archiviato in un database relazionale in due modi: Monolitico, in un campo di tipo CLOB Segmentato, dato-per-dato in tabelle relazionali (archiviazione strutturata) Fino all ultima release di Oracle9i bisognava decidere quale tipo di archiviazione utilizzare e poi progettare sia il database sia l applicazione in maniera coerente con la scelta effettuata. Il datatype XMLType consente di gestire i documenti XML presenti nel database a prescindere dalla tecnica di archiviazione scelta. In più, XMLType fornisce una serie di metodi per il supporto dei principali standard XML: XML Schema, Xpath, Indici gerarchici, ecc. Il datatype XMLType può essere utilizzato sia per le colonne delle tabelle sia come parametro di procedure e funzioni. Quando è estratto dal database mediante una select restituisce un frammento XML ben formato. Internamente al database, invece, è conservato con una rappresentazione ad albero, tipo DOM per intenderci. Per creare una tabella che contenga dati di tipo XMLType si hanno due scelte: Creare una tabella basata solo sul tipo XMLType (una sorta di array di XMLType) Creare una normale tabella relazionale in cui una colonna sia del tipo XMLType In entrambi i casi bisogna specificare il tipo di archiviazione che s intende utilizzare e, opzionalmente, lo schema XML che i documenti archiviati devono rispettare. Ecco la prima grande innovazione: il supporto di XML Schema. Per maggiori informazioni su XML schema si può consultare [4]. Uno schema, prima di essere utilizzato, deve essere registrato nel database mediante il package dbms_xmlschema. Una volta registrato, lo schema è memorizzato nel repository XML, di cui parleremo più avanti, a fronte di un URL. Questo URL deve essere utilizzato nell istruzione CREATE TABLE per assegnare lo schema al campo XMLType. Nel momento della registrazione dello schema, il DBMS definisce automaticamente le tabelle, i datatype e gli oggetti necessari per conservare i dati dei documenti che faranno riferimento a quello schema. Per gestire l associazione tra gli elementi dello schema ed i tipi creati in fase di registrazione, allo schema vengono aggiunti alcuni attributi, ad esempio oraxdb:sqltype, oraxdb:sqlname e oraxdb: SQLSchema. Se si intendono utilizzare tipi e tabelle definiti dall utente basta modificare, dopo averli creati, questi attributi dello schema. Vediamo le due sintassi possibili per creare una tabella con una colonna di tipo XMLType: CREATE TABLE [schema.] table_name OF XMLTYPE [XMLTYPE XMLType_storage] [XMLSCHEMA XMLSchema URL ]; LISTATO 1 Una funzione che legge dal file system create or replace function getdocument(dir varchar2, filename varchar2) return clob authid current_user is xbfile bfile; xclob clob; begin xbfile := bfilename(dir, filename); dbms_lob.open(xbfile); dbms_lob.createtemporary(xclob, TRUE, dbms_lob.session); dbms_lob.loadfromfile(xclob, xbfile, dbms_lob.getlength(xbfile)); dbms_lob.close(xbfile); return xclob; end; / 35 CP 119

2 FOCUS oppure CREATE TABLE [schema.] table_name (column_name XMLTYPE [NOT NULL]) [XMLTYPE COLUMN column_name XMLType_storage] [XMLSCHEMA XMLSchema URL ]; In sostanza l oggetto creato non cambia; nel primo caso Oracle attribuisce un nome di sistema alla colonna XMLType. Alla seconda istruzione possono essere aggiunte altre colonne a piacere. Torniamo a parlare del tipo d archiviazione, indicato, come si è visto, mediante la clausola XMLType_storage. Se si assegna uno schema non c è bisogno di indicare il tipo d archiviazione. I dati vengono automaticamente spacchettati e suddivisi nelle tabelle create dal DBMS al momento della registrazione dello schema. Se si desidera archiviare il documento per intero in un campo CLOB basta specificare la clausola STORE AS CLOB dove nella sintassi appare XMLTYPE_storage. Se non si assegna uno schema, i dati sono archiviati in un campo di tipo CLOB. Poiché il campo XMLType è gestito internamente con una rappresentazione ad albero proprietaria di Oracle, in fase di inserimento o modifica dei dati bisogna convertire il documento XML che si intende inserire in un oggetto che abbia quella struttura. Ciò può essere fatto mediante il metodo costruttore del tipo XMLType. La sintassi per l inserimento è semplicemente: insert into nome_tabella values (xmltype(documento_xml,url_dello_schema)); dove documento_xml può essere una stringa, una variabile PL/SQL oppure un campo di database contenente il documento. E se si intende inserire un documento presente nel file system? Bisogna costruirsi una funzione che, da Oracle, legge il file e ne scarica il contenuto in una variabile CLOB o VARCHAR2. Nel Listato1 è riportata una funzione siffatta idonea per leggere un file contenuto nello stesso file system in cui si trova il database. La funzione è riportata dal forum della Oracle dedicato a XDB [7]. Per inserire dati in XDB è possibile anche utilizzare SQL*Loader. XDB è dedicato alla gestione dei documenti XML La modifica dei dati richiede l utilizzo della funzione UPDA- TEXML. Questa funzione prende in input tre valori: il documento XML (in formato XMLType) da modificare, un percorso XPath che indica il valore da sostituire, il nuovo valore in formato alfanumerico. La sintassi è la seguente: update nome_tabella set nome_campo = UPDATEXML( documento_xml, xpath_da_sostituire, nuovo_valore); Bisogna notare che l istruzione UPDATE sostituisce sempre tutto il contenuto del campo XMLType: non è pos- FIGURA 1 Creazione di una risorsa mediante Oracle Enterprise Manager sibile modificare un solo dato del documento (a meno di modificare direttamente la tabella relazionale che contiene il singolo dato). Abbiamo già introdotto Xpath. Xpath è un linguaggio standard del W3C con cui è possibile indicare la posizione di frammenti (o singoli nodi) all interno di un documento XML; per far ciò si utilizzano dei percorsi tipo quelli adoperati nei file system. Xpath può essere utilizzato anche come linguaggio di query, perché dà la possibilità di indicare anche delle condizioni di estrazione oltre alla posizione dell oggetto da estrarre. Ed è proprio come linguaggio di query che Xpath è utilizzato in XDB, congiuntamente a SQL, per estrarre dati da campi di tipo XMLType. XDB supporta Xpath tramite alcune nuove funzioni, ad esempio extractvalue, updatexml, xmltype.extract, existsnode. La differenza tra xmltype.extract ed extractvalue è che la prima ritorna un frammento XML ben formato mentre la seconda ritorna sempre un singolo valore. La funzione existsnode restituisce 1 se in una variabile XMLType assegnata esiste un certo percorso Xpath. XML Repository Il Repository di Oracle XML DB è una collezione di oggetti di database organizzati in forma gerarchica. Si può vedere il Repository come un file system, interno al database, in cui è possibile creare directory e conservare file di ogni genere. Tutti gli oggetti contenuti nel repository sono chiamati risorse. L accesso alle risorse può essere realizzato mediante gli strumenti solitamente utilizzati per accedere ai più diffusi file system: FTP, HTTP, WebDAV. In particolare, la compatibilità con WebDAV consente di navigare il Repository da Internet Explorer e di aprire e modificare i documenti in esso contenuti con tutti gli editor che supportano questo standard (ad esempio Microsoft Word o XML Spy di Altova). Le risorse si dividono in due tipi: contenitori e file. In ogni caso una risorsa può essere creata mediante l interfaccia grafica di Oracle Enterprise Manager (OEM) un esempio è riportato in Figura 1, oppure utilizzando da PL/SQL le funzioni CREATEFOLDER e CREATERESOURCE del package DBMS_XDB. L interfaccia grafica è sicuramente più comoda e veloce. Per CP

3 avere informazioni sulle risorse presenti nel Repository possono essere interrogate le viste RESOURCE_VIEW e PATH_VIEW. Per agevolare la consultazione di queste viste, Oracle mette a disposizione le funzioni: UNDER_PATH che ritorna 1 quando una certa risorsa si trova tra i discendenti di un percorso specificato EQUALS_PATH che torna 1 quando la risorsa si trova esattamente al path specificato PATH che restituisce il percorso di una risorsa DEPTH che restituisce il numero di livelli gerarchici presenti tra il path indicato nella UNDER_PATH e la risorsa estratta. Le view PATH_VIEW e RESOURCE_VIEW sono modificabili; mediante esse, quindi, è possibile anche aggiornare direttamente le informazioni sulle risorse contenute nel repository. Il Repository può essere utilizzato anche per conservare le diverse versioni di una risorsa. Infatti, quando una risorsa è modificata, il vecchio contenuto può essere conservato, creando una nuova versione della risorsa. La gestione delle risorse è effettuata mediante il package DBMS_XDB_VERSION ed è opzionale. Per abilitarla bisogna eseguire lo script PL/SQL che segue: declare resid DBMS_XDB_VERSION.RESID_TYPE; begin resid := DBMS_XDB_VERSION.MakeVersioned(Path_della_ risorsa); end; / Non per tutte le risorse possono essere gestite le versioni. Fanno eccezione: Contenitori (le cartelle), i file ACL (di cui parleremo dopo) ed i documenti XML archiviati in maniera strutturata. L ultima limitazione è molto grave e riduce fortemente l utilità dello strumento. Come si è già detto, si può accedere al Repository anche mediante HTTP/WebDAV. In Figura 2 è mostrata una videata di Internet Explorer in cui è visualizzato il contenuto del Repository sotto la cartella di rete denominata ruocchiolapt, che è il nome del server Oracle. Per aggiungere il Repository alle risorse di rete basta accedervi una volta, ad esempio digitando nella barra degli indirizzi e dando invio. La porta 8080 è quella di default. Tutti gli accessi al Repository, anche mediante FTP, HTTP e WebDAV, sono protetti da un meccanismo di sicurezza basato su ACL (Access Control List). Per una data risorsa, una ACL è una lista in cui vengono elencati i privilegi che i vari utenti/ruoli definiti nel database hanno sulla risorsa stessa. Le ACL possono a loro volta essere conservate nel Repository per essere utilizzate da più risorse. L ACL è controllata ad ogni accesso alla risorsa. Anche le ACL possono essere gestite graficamente mediante OEM oppure via PL/SQL utilizzando il packge DBMS_XDB. Qualche esempio Ok, dopo tante chiacchiere vediamo qualche esempio concreto. Tutti i file menzionati in questo paragrafo sono disponibili sul sito FTP di Infomedia (ftp://ftp.infomedia.it/ pub/computerprogramming/listati/). Per prima cosa è stato definito uno schema XML (file anag.xsd e Listato 2). A fronte dello schema sono stati creati sei documenti XML contenenti anagrafiche di persone fisiche o giuridiche (file anagn.xml). Tutte le istruzioni SQL indicate in questo paragrafo sono contenute nel file test.sql; nel Listato 3 è visualizzato uno spool con tutti i risultati delle istruzioni eseguite. Il primo passo da compiere per archiviare i dati nel database è la registrazione dello schema. Quest attività è stata compiuta mediante OEM (Figura 3). Allo schema è stato assegnato l URL http: //ruocchio-lapt:8080/max/schemi/anag.xsd. L URL non indica necessariamente la collocazione fisica dello schema, è solo un nome logico con cui lo schema sarà referenziato nel database. LISTATO 2 Lo schema XML Anag.xsd <?xml version= 1.0 encoding= UTF-8?> <xs:schema xmlns:xs= > <xs:element name= anagrafica > <xs:complextype> <xs:sequence> <xs:element ref= denominazione /> <xs:element ref= indirizzo /> </xs:sequence> <xs:attribute name= flag_fis_giu use= required > <xs:simpletype> <xs:restriction base= xs:nmtoken > <xs:enumeration value= F /> <xs:enumeration value= G /> </xs:restriction> </xs:simpletype> </xs:attribute> </xs:complextype> <xs:element name= cap type= xs:int /> <xs:element name= civico type= xs:string /> <xs:element name= cognome type= xs:string /> <xs:element name= comune type= xs:string /> <xs:element name= denominazione > <xs:complextype> <xs:sequence> <xs:element ref= titolo minoccurs= 0 /> <xs:element ref= nome minoccurs= 0 /> <xs:element ref= cognome minoccurs= 0 /> <xs:element ref= ragsoc minoccurs= 0 /> </xs:sequence> </xs:complextype> <xs:element name= indirizzo > <xs:complextype> <xs:sequence> <xs:element ref= via /> <xs:element ref= civico /> <xs:element ref= cap /> <xs:element ref= comune /> <xs:element ref= provincia /> <xs:element ref= telefono /> </xs:sequence> </xs:complextype> <xs:element name= nome type= xs:string /> <xs:element name= provincia type= xs:string /> <xs:element name= ragsoc type= xs:string /> <xs:element name= telefono type= xs:string /> <xs:element name= titolo > <xs:simpletype> <xs:restriction base= xs:string > <xs:enumeration value= Dott. /> <xs:enumeration value= Sig. /> <xs:enumeration value= Cav. /> <xs:enumeration value= Avv. /> <xs:enumeration value= Ing. /> <xs:enumeration value= Gr. Uff. /> <xs:enumeration value= Comm. /> <xs:enumeration value= On. /> <xs:enumeration value= Sen. /> </xs:restriction> </xs:simpletype> <xs:element name= via type= xs:string /> </xs:schema> 37 CP 119

4 FOCUS Una volta registrato lo schema, XDB crea autonomamente i datatype e le tabelle da utilizzare per caricare gli elementi dei documenti XML che lo referenziano. Nel file allegato AnagORA.xsd c è lo schema XML con le modifiche apportate da XDB per realizzare l archiviazione strutturata. Per vedere ciò che è stato creato, eseguiamo le query: select type_name, typecode from user_types; select table_name from user_xml_tables; Passiamo alla creazione della tabella deputata a contenere le nostre anagrafiche. Se intendiamo archiviare solo i documenti XML ci basta un array di XMLType, possiamo utilizzare l istruzione: CREATE TABLE ANAGRAFICHE OF SYS.XMLTYPE XMLSCHEMA ELEMENT anagrafica ; Noi vogliamo che nella tabella ANAGRAFICHE ci sia anche un progressivo numerico e, dunque, utilizziamo l istruzione: CREATE TABLE ANAGRAFICHE (PROGR NUMBER NOT NULL, ANAGRAFICA XMLTYPE NOT NULL) XMLTYPE COLUMN ANAGRAFICA XMLSCHEMA ELEMENT anagrafica ; Per caricare i documenti utilizziamo due tecniche. Cinque dei sei file sono stati conservati in un campo CLOB della tabella TEMP_CLOB. Per caricarli in ANAGRAFICHE utilizziamo l istruzione: insert into anagrafiche select rownum, xmltype(dati, ) from temp_clob; Il sesto documento si trova nel file system. Per caricarlo vogliamo utilizzare la funzione getdocument (Listato 1), che abbiamo preventivamente creato nel database. Siccome la funzione accetta in input un identificativo di directory, possiamo crearne una con l istruzione: create directory CARTELLA c:\massimo\articoli\oraxmldb ; Ora possiamo caricare il documento nella tabella con l istruzione: FIGURA 2 Navigazione del Repository mediante Internet Explorer insert into anagrafiche select 6, xmltype(getdocument( CARTELLA, anag6.xml ), ) from dual; Veniamo alle query (i risultati sono in Listato 3). Per prima cosa ci interessa ottenere un elenco dei soggetti inseriti in tabella con i relativi numeri di telefono. Bisogna distinguere tra persone fisiche e giuridiche: select decode(extractvalue(anagrafica,./anagrafica/ F, extractvalue(anagrafica,./anagrafica/ G, extractvalue(anagrafica,./anagrafica/ extractvalue(anagrafica,./anagrafica/ indirizzo/telefono ) Telefono from anagrafiche; Il datatype XMLType consente di gestire i documenti XML presenti nel database a prescindere dalla tecnica di archiviazione scelta La funzione extractvalue restituisce valori singoli mentre la funzione extract restituisce frammenti XML. Invece del telefono, visualizziamo l intero indirizzo: select decode(extractvalue(anagrafica, /anagrafica/ F, extractvalue(anagrafica, /anagrafica/ G, extractvalue(anagrafica, /anagrafica/ xmltype.extract(anagrafica, /anagrafica/indirizzo ) Indirizzo from anagrafiche; Passiamo alla modifica dei dati. Il primo concetto da afferrare è il seguente: un campo XMLType viene sempre modificato completamente. Anche se si deve modificare un solo attributo in un documento di mille linee, viene sostituito l intero documento. Per effettuare la modifica dei dati è stata introdotta la funzione UPDATEXML. Un esempio è il seguente: set anagrafica = UPDATEXML(anagrafica, /anagrafica/indirizzo/civico/text(), 333 ) where extractvalue(anagrafica, /anagrafica/ indirizzo/civico )= 133 ; Sfruttando le potenzialità di Xpath, in particolare la possibilità di indicare una condizione d estrazione tra parentesi quadre, si può anche scrivere: set anagrafica = UPDATEXML(anagrafica, /anagrafica/indirizzo/civico[text()= 133 ]/ text(), 333 ); CP

5 LISTATO 3 I risultati delle istruzioni indicate nell articolo SQL*Plus: Release Production on Mar Ago 27 11:14: Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. Connesso a: Personal Oracle9i Release Production With the Partitioning, OLAP and Oracle Data Mining options JServer Release Production SQL> select type_name, typecode from user_types; TYPE_NAME TYPECODE anagrafica196_t OBJECT denominazione193_t OBJECT indirizzo188_t OBJECT SQL> select table_name from user_xml_tables; TABLE_NAME anagrafica197_tab denominazione195_tab cognome194_tab indirizzo192_tab comune191_tab cap190_tab civico189_tab nome187_tab provincia186_tab ragsoc185_tab telefono184_tab titolo183_tab via182_tab SQL> CREATE TABLE ANAGRAFICHE 2 (PROGR NUMBER NOT NULL, 3 ANAGRAFICA XMLTYPE NOT NULL) 4 XMLTYPE COLUMN ANAGRAFICA 5 XMLSCHEMA schemi/anag.xsd 6 ELEMENT anagrafica ; Creata tabella. SQL> desc anagrafiche Nome Nullo? Tipe PROGR ANAGRAFICA NOT NULL NUMBER NOT NULL SYS.XMLTYPE(XMLSchema httpp://ruocchio-lapt:8080/max/ schemi/anag.xsd Element anagrafica ) STORAGE Object-relational TYPE anagrafica196_t SQL> insert into anagrafiche 2 select rownum, xmltype(dati, 8080/max/schemi/anag.xsd ) 3 from temp_clob; Create 5 righe. SQL> insert into anagrafiche 2 select 6, xmltype(getdocument( CARTELLA, anag6.xml ), 3 ) 4 from dual; Creata 1 riga. SQL> col Denominazione for a30 SQL> col Telefono for a14 SQL> select decode(extractvalue(anagrafica,./ anagrafica/ 2 F, extractvalue(anagrafica,./anagrafica/ 3 G, extractvalue(anagrafica,./anagrafica/ 4 extractvalue(anagrafica,./anagrafica/ indirizzo/telefono ) Telefono 5 from anagrafiche; DENOMINAZIONE TELEFONO Landi Bernardi Pizza e Fichi S.p.A Banda del Torchio S.r.l Banda Bassotti S.a.s Dei Paperoni SQL> col Indirizzo for a50 SQL> select decode(extractvalue(anagrafica,./anagrafica/ 2 F, extractvalue(anagrafica,./anagrafica/ 3 G, extractvalue(anagrafica,./anagrafica/ 4 xmltype.extract(anagrafica,./anagrafica/ indirizzo ) Indirizzo 5 from anagrafiche; DENOMINAZIONE INDIRIZZO Landi <via>delle rose</via> <civico>92</civico> <cap>82343</cap> <comune>corzano</comune> <provincia>tc</provincia> <telefono> </telefono> Bernardi Pizza e Fichi S.p.A. <via>vittorio Emanelele II</via> <civico>37</civico> <cap>132</cap> <comune>roma</comune> <provincia>rm</provincia> <telefono> </telefono> <via>della libertà</via> <civico>194b</civico> <cap>30153</cap> <comune>frittole</comune> <provincia>ft</provincia> <telefono> </telefono> Banda del Torchio S.r.l. <via>dei banditi</via> <civico>13</civico> <cap>98212</cap> <comune>santa Ortensia</comune> <provincia>xv</provincia> <telefono> </telefono> Banda Bassotti S.a.s. <via>dei paperi</via> <civico>77</civico> <cap>54554</cap> (segue a pagina seguente) 39 CP 119

6 FOCUS segue LISTATO 3 I risultati delle istruzioni indicate nell articolo Dei Paperoni <telefono> </telefono> <via>del deposito di monete</via> <civico>133</civico> <cap>55445</cap> <telefono> </telefono> SQL> 2 set anagrafica = UPDATEXML(anagrafica, 3 /anagrafica/indirizzo/civico [text()= 133 ]/text(), ); Aggiornate 6 righe. SQL> select decode(extractvalue(anagrafica, /anagrafica/ 2 F, extractvalue(anagrafica, /anagrafica/ 3 G, extractvalue(anagrafica, /anagrafica/ 4 xmltype.extract(anagrafica, /anagrafica/ indirizzo ) Indirizzo 5 from anagrafiche 6 where progr=6; DENOMINAZIONE INDIRIZZO Dei Paperoni <via>del deposito di monete</via> <civico>333</civico> <cap>55445</cap> <telefono> </telefono> SQL> roll; Completato rollback. SQL> 2 set anagrafica = UPDATEXML(anagrafica, 3 /anagrafica/indirizzo/civico/text(), ) 5 where extractvalue(anagrafica, /anagrafica/ indirizzo/civico )= 133 ; SQL> 2 set anagrafica = UPDATEXML(anagrafica, 3 S ) 4 where extractvalue(anagrafica, /anagrafica/ denominazione/nome )= Paperone ; * ERRORE alla riga 1: ORA-31038: Valore enumeration S non valido SQL> select decode(extractvalue(anagrafica, /anagrafica/ 2 F, extractvalue(anagrafica, /anagrafica/ 3 G, extractvalue(anagrafica, /anagrafica/ 4 xmltype.extract(anagrafica, /anagrafica/ indirizzo ) Indirizzo 5 from anagrafiche 6 where progr=6; DENOMINAZIONE INDIRIZZO Dei Paperoni <via>del deposito di monete</via> <civico>333</civico> <cap>55445</cap> <telefono> </telefono> SQL> select path(0) percorso, depth(0) livello 2 from resource_view 3 where under_path(res,3, /max,0) = 1; PERCORSO LIVELLO /anagrafiche/anag5.xml 2 /squadre/italia.xml 2 /anagrafiche/anag6.xml 2 /ord.xml 1 /anagrafiche 1 /anagrafiche/anag3.xml 2 /anagrafiche/anag1.xml 2 /anagrafiche/anag2.xml 2 /anagrafiche/anag4.xml 2 /schemi 1 /schemi/team.xsd 2 /squadre 1 Aggiornata 1 riga. La prima versione modifica solo la riga che ha civico 133, mentre la seconda effettua l update di tutte le righe della tabella, lasciando invariato il contenuto di quelle che hanno il civico diverso da 133. Il risultato finale è identico, ma se la tabella ha molte righe la seconda istruzione è sicuramente da scartare. Per completare il discorso sulla modifica dei dati, vediamo cosa accade se cerchiamo di porre a S il flag pers_ fis_giu che, da schema, può valere solo F o G : set anagrafica = UPDATEXML(anagrafica, S ) where extractvalue(anagrafica, /anagrafica/ denominazione/nome )= Paperone ; * ERRORE alla riga 1: ORA-31038: Valore enumeration S non valido Ci è stato correttamente segnalato che il valore S non è tra quelli ammessi. Concludiamo questo paragrafo con un esempio di lettura delle informazioni sulle risorse contenute nel Repository. Dopo aver caricato i documenti XML nel Repository mediante OEM (Figura 1), eseguiamo la query: select path(0) percorso, depth(0) livello from resource_view where under_path(res,3, /max,0) = 1; Per ogni risorsa (campo RES della vista RESOURCE_VIEW) presente nel Repository tra i discendenti della cartella max, chiediamo il percorso ed il livello di profondità. Le funzioni PATH e DEPTH danno risultati relativi alla cartella che si è indicata nella funzione UNDER_PATH. Il livello ed il percorso vanno intesi a partire dalla cartella max, non sono valori assoluti nel Repository. CP

7 FIGURA 3 Registrazione di uno schema mediante Oracle Enterprise Manager ricerche effettuate mediante la funzione existsnode. La sintassi è analoga alla precedente con la differenza che indextype deve valere ctxsys.ctxxpath invece di ctxsys.content. Un indice function-based è legato all utilizzo di una particolare funzione su un particolare frammento di documento XML. Se, ad esempio, si intende velocizzare l istruzione: Select extractvalue(anagrafica, /anagrafica/indirizzo/comune ) From anagrafiche; è possibile creare l indice function-based che segue: CREATE INDEX COMUNE_I ON ANAGRAFICHE (extractvalue(anagrafica, /anagrafica/indirizzo/comune )); L intero 0 è il legame tra la UNDER_PATH e le funzioni PATH e DEPTH che ad essa fanno riferimento. Avremmo potuto utilizzare qualunque altro numero intero. Il problema delle performance In un database relazionale, in genere, la forma gerarchica dei dati XML causa problemi molto seri alle prestazioni delle query. Per limitare questi problemi, Oracle ha introdotto nuovi tipi di indici e migliorato quelli che già esistevano. In questo paragrafo faremo una panoramica sui tipi di indice che velocizzano l accesso ai dati XMLType ed al Repository. Sulle colonne XMLType possono essere costruiti quattro tipi di indice: B*Tree e bitmap (che non sono stati modificati in questa versione) Oracle Text (il vecchio InterMedia, che è stato migliorato) function-based (che è stato creato apposta per i dati XMLType). Analizziamo più in dettaglio gli ultimi due tipi. Gli indici di tipo Oracle Text funzionano sulle colonne di tipo VARCHAR e CLOB. In Oracle9i sono stati migliorati per gestire anche i campi di tipo XMLType. Ad esempio, sulla tabella definita da: CREATE TABLE documenti_xml ( Doc_id number(10), Documento XMLType); è possibile creare l indice: CREATE INDEX documenti_xml_i ON documenti_xml (Documento) indextype is ctxsys.context; Ovviamente il campo Documento ha un archiviazione di tipo CLOB: dunque ha senso utilizzare un indice di tipo Oracle text. L indice documenti_xml_i mette a disposizione gli strumenti dei classici indici di tipo Oracle Text, in più le nuove funzioni INPATH ed HASPATH sono state aggiunte proprio per i campi XMLType. La funzione INPATH controlla se una data parola appare nel documento XML ad un percorso specificato, la funzione HASPATH controlla se un dato percorso esiste nel documento. Tra gli indici di tipo Oracle Text è stata aggiunta una nuova categoria, chiamata CTXXPATH, che ha lo scopo di migliorare le che fa esplicito riferimento alla funzione da eseguire. In sostanza la sintassi è quella solita, con la variante di indicare la funzione al posto delle colonne da indicizzare. Con questi indici possono essere velocizzate anche le funzioni extract() ed existsnode(). Per quanto riguarda il Repository, non c è bisogno di creare esplicitamente indici per velocizzare la navigazione. Un indice gerarchico del Repository, infatti, viene sempre aggiornato ed utilizzato automaticamente. Quello che l utente può fare è ricostruire l indice gerarchico mediante la funzione DBMS_XDB. REBUILTHIERARCHICALINDEX. Conclusioni XML è uno standard che sta avendo grande successo e diffusione. Il mercato dei database XML è ancora molto aperto e quindi in continua evoluzione [3]. Fino alla prima release di Oracle9i, Oracle era sensibilmente indietro rispetto ai prodotti specializzati nella gestione di documenti XML, i cosiddetti database XML nativi. Con XDB Oracle si propone di ribaltare questa situazione ed assumere la leadership nel settore. Si dice addirittura che XDB è, a tutti gli effetti, un database XML nativo. Prima di dare giudizi definitivi bisogna aspettare un po per vedere i risultati dei test significativi del prodotto nonché le reazioni del mercato. Per ora ci limitiamo a sottolineare i grandi passi avanti fatti con questa nuova release. Il miglior pregio ed il peggior difetto: la completa trasparenza, per lo sviluppatore, nella gestione dei diversi tipi di archiviazione dei dati (CLOB o strutturato) e la carenza di flessibilità in caso di modifiche degli schemi in corso d opera. Chiudo con un interrogativo: quanti dei vostri clienti sono disposti a migrare ad Oracle 9.2 per utilizzare XDB? BIBLIOGRAFIA [1] Oracle - Oracle 9.2 XML Database Developer s Guide - Oracle XML DB, Oracle Corp., 2002 [2] Oracle - Oracle XML DB Technical White Paper, Oracle Corp., 2002 [3] M. Ruocchio - Archiviare dati XML nel Database, Computer Programming 109, 2002 [4] M. Ruocchio - XML Schema ai mondiali di calcio, Computer Programming 109, 2002 RIFERIMENTI [5] [6] [7] 41 CP 119

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

Rational Asset Manager, versione 7.1

Rational Asset Manager, versione 7.1 Rational Asset Manager, versione 7.1 Versione 7.1 Guida all installazione Rational Asset Manager, versione 7.1 Versione 7.1 Guida all installazione Note Prima di utilizzare queste informazioni e il prodotto

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

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

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

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

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

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

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

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

Flusso informativo delle prestazioni residenziali e semiresidenziali

Flusso informativo delle prestazioni residenziali e semiresidenziali SPECIFICHE FUNZIONALI DEI TRACCIATI FAR Flusso informativo delle prestazioni residenziali e semiresidenziali Luglio 2014 Versione 4.0 FAR Specifiche Funzionali_v4.0 Pag. 1 di 53 Indice 1. Introduzione...

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

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

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a:

Talento LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) L'UTILIZZO DI ALTRI SERVIZI INTERNET. In questa lezione imparerete a: Lab 4.1 Utilizzare FTP (File Tranfer Protocol) LAB 4.1 - UTILIZZARE FTP (FILE TRANSFER PROTOCOL) In questa lezione imparerete a: Utilizzare altri servizi Internet, Collegarsi al servizio Telnet, Accedere

Dettagli

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE Oracle Business Intelligence Standard Edition One è una soluzione BI completa, integrata destinata alle piccole e medie imprese.oracle

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

AlboTop. Software di gestione Albo per Ordini Assistenti Sociali

AlboTop. Software di gestione Albo per Ordini Assistenti Sociali AlboTop Software di gestione Albo per Ordini Assistenti Sociali Introduzione AlboTop è il nuovo software della ISI Sviluppo Informatico per la gestione dell Albo professionale dell Ordine Assistenti Sociali.

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

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 10 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Nomenclatura: 1 La rappresentazione di uno schema richiede una serie di abbreviazioni per i vari componenti. Seguiremo

Dettagli

RefWorks Guida all utente Versione 4.0

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

Dettagli

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

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

Lezione n 1! Introduzione"

Lezione n 1! Introduzione Lezione n 1! Introduzione" Corso sui linguaggi del web" Fondamentali del web" Fondamentali di una gestione FTP" Nomenclatura di base del linguaggio del web" Come funziona la rete internet?" Connessione"

Dettagli

FORM Il sistema informativo di gestione della modulistica elettronica.

FORM Il sistema informativo di gestione della modulistica elettronica. Studio FORM FORM Il sistema informativo di gestione della modulistica elettronica. We believe in what we create This is FORM power La soluzione FORM permette di realizzare qualsiasi documento in formato

Dettagli

Installazione ed attivazione della "SUITE OFFIS" versione SERVER

Installazione ed attivazione della SUITE OFFIS versione SERVER Installazione ed attivazione della "SUITE OFFIS" versione SERVER Premessa La versione server di OFFIS può essere installata e utilizzata indifferentemente da PC/Win o Mac/Osx e consente l'accesso contemporaneo

Dettagli

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Riusabilità del software - Catalogo delle applicazioni: Applicativo verticale Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Amministrazione: Regione Piemonte - Direzione Innovazione,

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

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

PROFILI ALLEGATO A. Profili professionali

PROFILI ALLEGATO A. Profili professionali ALLEGATO A Profili professionali Nei profili di seguito descritti vengono sintetizzate le caratteristiche di delle figure professionali che verranno coinvolte nell erogazione dei servizi oggetto della

Dettagli

Lezione III: Oggetti ASP e interazione tramite form HTML

Lezione III: Oggetti ASP e interazione tramite form HTML Lezione III: Oggetti ASP e interazione tramite form HTML La terza lezione, come le precedenti, ha avuto una durata di due ore, di cui una in aula e l altra in laboratorio, si è tenuta alla presenza della

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

Comunicazione scuola famiglia

Comunicazione scuola famiglia Manuale d'uso Comunicazione scuola famiglia INFOZETA Centro di ricerca e sviluppo di soluzioni informatiche per la scuola Copyright InfoZeta 2013. 1 Prima di iniziare l utilizzo del software raccomandiamo

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

RedDot Content Management Server Content Management Server Non sottovalutate il potenziale della comunicazione online: usatela! RedDot CMS vi permette di... Implementare, gestire ed estendere progetti

Dettagli

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

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

Dettagli

Gestione delle Architetture e dei Servizi IT con ADOit. Un Prodotto della Suite BOC Management Office

Gestione delle Architetture e dei Servizi IT con ADOit. Un Prodotto della Suite BOC Management Office Gestione delle Architetture e dei Servizi IT con ADOit Un Prodotto della Suite BOC Management Office Controllo Globale e Permanente delle Architetture IT Aziendali e dei Processi IT: IT-Governance Definire

Dettagli

Business Intelligence. Il data mining in

Business Intelligence. Il data mining in Business Intelligence Il data mining in L'analisi matematica per dedurre schemi e tendenze dai dati storici esistenti. Revenue Management. Previsioni di occupazione. Marketing. Mail diretto a clienti specifici.

Dettagli

Manuale installazione KNOS

Manuale installazione KNOS Manuale installazione KNOS 1. PREREQUISITI... 3 1.1 PIATTAFORME CLIENT... 3 1.2 PIATTAFORME SERVER... 3 1.3 PIATTAFORME DATABASE... 3 1.4 ALTRE APPLICAZIONI LATO SERVER... 3 1.5 ALTRE APPLICAZIONI LATO

Dettagli

Funzioni di base. Manualino OE6. Outlook Express 6

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

Dettagli

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

Applicazione: Share - Sistema per la gestione strutturata di documenti

Applicazione: Share - Sistema per la gestione strutturata di documenti Riusabilità del software - Catalogo delle applicazioni: Gestione Documentale Applicazione: Share - Sistema per la gestione strutturata di documenti Amministrazione: Regione Piemonte - Direzione Innovazione,

Dettagli

CHE COS È DOCFLY FATTURAZIONE PA... 3 1.1 IL GESTIONALE WEB... 3 1.2 ACCESSO ALL INTERFACCIA WEB... 4 1.3 FUNZIONALITÀ DELL INTERFACCIA WEB...

CHE COS È DOCFLY FATTURAZIONE PA... 3 1.1 IL GESTIONALE WEB... 3 1.2 ACCESSO ALL INTERFACCIA WEB... 4 1.3 FUNZIONALITÀ DELL INTERFACCIA WEB... 1. CHE COS È DOCFLY FATTURAZIONE PA... 3 1.1 IL GESTIONALE WEB... 3 1.2 ACCESSO ALL INTERFACCIA WEB... 4 1.3 FUNZIONALITÀ DELL INTERFACCIA WEB... 5 1.3.1 CREAZIONE GUIDATA DELLA FATTURA IN FORMATO XML

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

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

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

IBM Cognos 8 BI Midmarket Reporting Packages Per soddisfare tutte le vostre esigenze di reporting restando nel budget

IBM Cognos 8 BI Midmarket Reporting Packages Per soddisfare tutte le vostre esigenze di reporting restando nel budget Data Sheet IBM Cognos 8 BI Midmarket Reporting Packages Per soddisfare tutte le vostre esigenze di reporting restando nel budget Panoramica Le medie aziende devono migliorare nettamente le loro capacità

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

FileMaker Server 12. Guida introduttiva

FileMaker Server 12. Guida introduttiva FileMaker Server 12 Guida introduttiva 2007 2012 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker e Bento sono marchi di FileMaker,

Dettagli

Il World Wide Web: nozioni introduttive

Il World Wide Web: nozioni introduttive Il World Wide Web: nozioni introduttive Dott. Nicole NOVIELLI novielli@di.uniba.it http://www.di.uniba.it/intint/people/nicole.html Cos è Internet! Acronimo di "interconnected networks" ("reti interconnesse")!

Dettagli

Ultimo aggiornamento sett13

Ultimo aggiornamento sett13 Ultimo aggiornamento sett13 INDICE 1. Invio singolo SMS tramite richiesta POST/GET HTTP...3 1.1 - Messaggi singoli concatenati...4 2. Invio multiplo SMS tramite richiesta POST/GET HTTP...4 2.1 - Messaggi

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

Sicurezza nei DataBase

Sicurezza nei DataBase Sicurezza nei DataBase Sicurezza Quando si parla di Sicurezza Informatica vengono coinvolti tre aspetti molto importanti di qualsiasi sistema informatico: riservatezza, integrità e disponibilità. Alessandro

Dettagli

Codici sorgenti di esempio per l'invio di email da pagine WEB per gli spazi hosting ospitati presso ITESYS SRL.

Codici sorgenti di esempio per l'invio di email da pagine WEB per gli spazi hosting ospitati presso ITESYS SRL. Data: 8 Ottobre 2013 Release: 1.0-15 Feb 2013 - Release: 2.0 - Aggiunta procedura per inviare email da Windows con php Release: 2.1-20 Mar 2013 Release: 2.2-8 Ottobre 2013 - Aggiunta procedura per inviare

Dettagli

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

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

Dettagli

Processi di business sovra-regionali relativi ai sistemi regionali di FSE. Versione 1.0 24 Giugno 2014

Processi di business sovra-regionali relativi ai sistemi regionali di FSE. Versione 1.0 24 Giugno 2014 Processi di business sovra-regionali relativi ai sistemi regionali di FSE Versione 1.0 24 Giugno 2014 1 Indice Indice... 2 Indice delle figure... 3 Indice delle tabelle... 4 Obiettivi del documento...

Dettagli

FileMaker Server 13. Guida di FileMaker Server

FileMaker Server 13. Guida di FileMaker Server FileMaker Server 13 Guida di FileMaker Server 2010-2013 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 Stati Uniti FileMaker e Bento sono

Dettagli

Il software per la gestione smart del Call Center

Il software per la gestione smart del Call Center Connecting Business with Technology Solutions. Il software per la gestione smart del Call Center Center Group srl 1 Comunica : per la gestione intelligente del tuo call center Comunica è una web application

Dettagli

NAS 208 WebDAV Un'alternativa sicura per la condivisione di file su FTP

NAS 208 WebDAV Un'alternativa sicura per la condivisione di file su FTP NAS 208 WebDAV Un'alternativa sicura per la condivisione di file su FTP Eseguire il collegamento al NAS tramite WebDAV A S U S T O R C O L L E G E OBIETTIVI DEL CORSO Al termine di questo corso si dovrebbe

Dettagli

Sommersi dalle informazioni?

Sommersi dalle informazioni? Sommersi dalle informazioni? Centro Dir. Colleoni Viale Colleoni, 1 Pal. Taurus 1 20041 Agrate Brianza (MI) T: +39 039 5966 039 F: +39 039 5966 040 www.tecnosphera.it DOCUMENT MANAGEMENT GESTIONE DOCUMENTALE

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

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

GESTIRE LA BIBLIOGRAFIA

GESTIRE LA BIBLIOGRAFIA GESTIRE LA BIBLIOGRAFIA STRUMENTI DI GESTIONE BIBLIOGRAFICA I software di gestione bibliografica permettono di raccogliere, catalogare e organizzare diverse tipologie di materiali, prendere appunti, formattare

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

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

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

Come installare e configurare il software FileZilla

Come installare e configurare il software FileZilla Come utilizzare FileZilla per accedere ad un server FTP Con questo tutorial verrà mostrato come installare, configurare il software e accedere ad un server FTP, come ad esempio quello dedicato ai siti

Dettagli

3. nella pagina che verrà visualizzata digitare l indirizzo e-mail che si vuole consultare e la relativa password (come da comunicazione)

3. nella pagina che verrà visualizzata digitare l indirizzo e-mail che si vuole consultare e la relativa password (come da comunicazione) CONFIGURAZIONE DELLA CASELLA DI POSTA ELETTRONICA La consultazione della casella di posta elettronica predisposta all interno del dominio patronatosias.it può essere effettuata attraverso l utilizzo dei

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

AVCP Generatore di XML

AVCP Generatore di XML AVCP Generatore di XML Perché è necessario... 2 Come Funziona... 3 Appalto... 3 Indice... 5 Anagrafiche... 6 Lotto... 7 Partecipanti... 9 Partecipante in Solitario (Partecipante)... 9 Partecipante in Raggruppamento...

Dettagli

Client di Posta Elettronica PECMailer

Client di Posta Elettronica PECMailer Client di Posta Elettronica PECMailer PECMailer è un semplice ma completo client di posta elettronica, ovvero un programma che consente di gestire la composizione, la trasmissione, la ricezione e l'organizzazione

Dettagli

Sistemi avanzati di gestione dei Sistemi Informativi

Sistemi avanzati di gestione dei Sistemi Informativi Esperti nella gestione dei sistemi informativi e tecnologie informatiche Sistemi avanzati di gestione dei Sistemi Informativi Docente: Email: Sito: Eduard Roccatello eduard@roccatello.it http://www.roccatello.it/teaching/gsi/

Dettagli

Guida alla scansione su FTP

Guida alla scansione su FTP Guida alla scansione su FTP Per ottenere informazioni di base sulla rete e sulle funzionalità di rete avanzate della macchina Brother, consultare la uu Guida dell'utente in rete. Per ottenere informazioni

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello della Web Application 5 3 Struttura della web Application 6 4 Casi di utilizzo della Web

Dettagli

Client PEC Quadra Guida Utente

Client PEC Quadra Guida Utente Client PEC Quadra Guida Utente Versione 3.2 Guida Utente all uso di Client PEC Quadra Sommario Premessa... 3 Cos è la Posta Elettronica Certificata... 4 1.1 Come funziona la PEC... 4 1.2 Ricevuta di Accettazione...

Dettagli

Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi.

Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi. Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi. Internet: la rete delle reti Alberto Ferrari Connessioni

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

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

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

SOGEAS - Manuale operatore

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

Dettagli

E-MAIL INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI

E-MAIL INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI E-MAIL INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI E-MAIL INTEGRATA Ottimizzazione dei processi aziendali Con il modulo E-mail Integrata, NTS Informatica ha realizzato uno strumento di posta elettronica

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

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

Configurazione avanzata di IBM SPSS Modeler Entity Analytics

Configurazione avanzata di IBM SPSS Modeler Entity Analytics Configurazione avanzata di IBM SPSS Modeler Entity Analytics Introduzione I destinatari di questa guida sono gli amministratori di sistema che configurano IBM SPSS Modeler Entity Analytics (EA) in modo

Dettagli

Supporto alle decisioni e strategie commerciali/mercati/prodotti/forza vendita;

Supporto alle decisioni e strategie commerciali/mercati/prodotti/forza vendita; .netbin. è un potentissimo strumento SVILUPPATO DA GIEMME INFORMATICA di analisi dei dati con esposizione dei dati in forma numerica e grafica con un interfaccia visuale di facile utilizzo, organizzata

Dettagli

NetMonitor. Micro guida all uso per la versione 1.2.0 di NetMonitor

NetMonitor. Micro guida all uso per la versione 1.2.0 di NetMonitor NetMonitor Micro guida all uso per la versione 1.2.0 di NetMonitor Cos è NetMonitor? NetMonitor è un piccolo software per il monitoraggio dei dispositivi in rete. Permette di avere una panoramica sui dispositivi

Dettagli

RICEZIONE AUTOMATICA DEI CERTIFICATI DI MALATTIA 1.1. MALATTIE GESTIONE IMPORT AUTOMATICO 1.2. ATTIVAZIONE DELLA RICEZIONE DEL FILE CON L INPS

RICEZIONE AUTOMATICA DEI CERTIFICATI DI MALATTIA 1.1. MALATTIE GESTIONE IMPORT AUTOMATICO 1.2. ATTIVAZIONE DELLA RICEZIONE DEL FILE CON L INPS RICEZIONE AUTOMATICA DEI CERTIFICATI DI MALATTIA 1.1. MALATTIE GESTIONE IMPORT AUTOMATICO Abbiamo predisposto il programma di studio Web per la ricezione automatica dei certificati di malattia direttamente

Dettagli

Zabbix 4 Dummies. Dimitri Bellini, Zabbix Trainer Quadrata.it

Zabbix 4 Dummies. Dimitri Bellini, Zabbix Trainer Quadrata.it Zabbix 4 Dummies Dimitri Bellini, Zabbix Trainer Quadrata.it Relatore Nome: Biografia: Dimitri Bellini Decennale esperienza su sistemi operativi UX based, Storage Area Network, Array Management e tutto

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

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello del sistema 4 2.1 Requisiti hardware........................ 4 2.2 Requisiti software.........................

Dettagli

Guida ai Servizi Internet per il Referente Aziendale

Guida ai Servizi Internet per il Referente Aziendale Guida ai Servizi Internet per il Referente Aziendale Indice Indice Introduzione...3 Guida al primo accesso...3 Accessi successivi...5 Amministrazione dei servizi avanzati (VAS)...6 Attivazione dei VAS...7

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

Software Emeris Communication Manager

Software Emeris Communication Manager ecm Software Emeris Communication Manager Manuale operativo Fantini Cosmi S.p.A. Via dell Osio 6 20090 Caleppio di Settala MI Tel 02.956821 - Fax 02.95307006 e-mail: info@fantinicosmi.it http://www.fantinicosmi.it

Dettagli

INVIO SMS CON CHIAMATA DIRETTA ALLO SCRIPT

INVIO SMS CON CHIAMATA DIRETTA ALLO SCRIPT INVIO SMS CON CHIAMATA DIRETTA ALLO SCRIPT La chiamata diretta allo script può essere effettuata in modo GET o POST. Il metodo POST è il più sicuro dal punto di vista della sicurezza. Invio sms a un numero

Dettagli

Disabilitare lo User Account Control

Disabilitare lo User Account Control Disabilitare lo User Account Control Come ottenere i privilegi di sistema su Windows 7 1s 2s 1. Cenni Generali Disabilitare il Controllo Account Utente (UAC) Win 7 1.1 Dove può essere applicato questo

Dettagli

Integrated Development Environment (IDE) DevC++ 4.9.9.2

Integrated Development Environment (IDE) DevC++ 4.9.9.2 Integrated Development Environment (IDE) DevC++ 4.9.9.2 Manuale utente Data ultima revisione: 22/10/2008 Fondamenti di informatica Università Facoltà Corso di laurea Politecnico di Bari 1 a Facoltà di

Dettagli