Preparazione dell'ambiente Per effettuare qualche esperimento creiamo una tabella come quella indicata dallo script seguente.
|
|
- Geronimo Mauro
- 8 anni fa
- Visualizzazioni
Transcript
1 Hierarchyid Di Gianluca Negrelli Introduzione Hierarchyid è un nuovo tipo dato introdotto con SQL Server 2008 finalizzato alla gestione di dati gerarchici. Tradizionalmente la soluzione al problema della gerarchizzazione dei dati si risolve attraverso l'uso di una doppia chiave di cui viene dotata ogni entità: la chiave principale rappresenta l'entità stessa mentre la chiave secondaria rappresenta il padre diretto. La nuova soluzione di SQL Server, come vedremo, utilizza un'unica chiave che indica sia la relazione dell'entità con il padre, che la sua posizione nell'albero. Preparazione dell'ambiente Per effettuare qualche esperimento creiamo una tabella come quella indicata dallo script seguente. CREATE TABLE Tree( TreeId int IDENTITY(1,1) NOT NULL PRIMARY KEY CLUSTERED, TreePosition hierarchyid NOT NULL UNIQUE, Name varchar(50) NOT NULL, Surname varchar(50) NOT NULL, MilitaryRank varchar(50) NULL ) La gerarchia che andiamo a rappresentare è di tipo militare. I campi che descrivono le singole entità (soldati) sono: nome (Name), cognome (Surname) e grado (MilitaryRank). La tabella è dotata anche di un campo hierarchyid (TreePosition) che serve a costruire la gerarchia vera e propria e da un'identità che funge da chiave primaria (TreeId). Il campo hierarchyid è decorato dell'attributo UNIQUE per delegare a SQL Server il controllo di univocità dei nodi. Nativamente HierarchyId non ha preclusioni nel creare nodi la cui posizione sia perfettamente sovrapponibile cioè non teme le duplicazioni di nodi. Se permettessimo la sovrapponibilità dei nodi, togliendo il vincolo UNIQUE dal campo TreePosition, riusciremmo comunque ad ottenere una struttura gerarchica organizzata a livelli ma non sarebbe più possibile imporre un ordinamento orizzontale tra gli elementi e, cosa anche più importante, non riusciremmo più ad attribuire i figli di un nodo duplicato al giusto padre. Il consiglio è senza dubbio di mantenere l'univocità delle posizioni. Un'altra possibilità da valutare nella progettazione della tabella è quella di promuovere il campo hierarchyid a chiave primaria clustered. Il vantaggio in questo caso risiede nel fatto che si riuscirebbe ad ottenere una maggiore velocità di selezione, riordinamento o spostamento dei nodi dell'albero. Il campo TreeId diventa utile quando è necessario riferirsi ai record (nelle clausole WHERE) senza dover per forza utilizzare il contenuto del campo TreePosition, che è un po' ostico da trattare rispetto ad un campo Int.
2 Creazione del nodo root Il metodo che permette la restituzione del nodo principale di una gerarchia è hierarchyid::getroot(). Hierarchyid utilizza internamente una notazione esadecimale per la gestione dei propri valori. La rappresentazione stringa equivalente del nodo root (0x) è il carattere /. Per inserire il primo nodo GetRoot() va utilizzato in uno statement di inserimento. SELECT hierarchyid::getroot(), 'William', 'Adama', 'Commander' Ripetendo lo statement di creazione del nodo root, SQL Server segnalerà una violazione del vincolo UNIQUE definito su TreePosition. Creazione di un nodo figlio Il presupposto nella creazione di un qualunque nodo che non sia root, è che si disponga di un riferimento al nodo padre. Nel nostro caso il nuovo figlio sarà discendente diretto di root (unico nodo creato fin'ora in tabella). Il riferimento a root si ottiene attraverso la funzione GetRoot(), già vista al momento dell'inserimento, oppure direttamente grazie alla chiave TreeId. Una volta ottenuto il riferimento desiderato si può istruire SQL Server ad accodare il nodo figlio attraverso la funzione GetDescendant(child1, child2) SELECT hierarchyid::getroot().getdescendant(null, NULL), 'Saul', 'Tigh', 'Colonel' Analizzeremo in seguito il significato dei due parametri di GetDescendant che, in questo caso, sono stati lasciati a NULL. Selezione degli elementi della gerarchia Proviamo ora ad eseguire la seguente query SELECT TreeId, TreePosition, TreePosition.ToString() AS TreePositionString, TreePosition.GetLevel() AS TreeLevel, Name, Surname, MilitaryRank FROM Tree
3 La query di selezione ha alcune particolarità che meritano una spiegazione. TreePosition restituisce il valore hierarchyid. Come si può rilevare anche dall'immagine del resulteset ottenuto, SQL server memorizza il tipo dato hierarchyid in forma esadecimale. TreePosition.ToString() converte il valore hierarchyid in una rappresentazione più facilmente comprensibile. Il tipo dato che si ottiene dal metodo ToString() è un nvarchar(4000). Il nodo root è rappresentato da una barra (/) mentre i nodi figlio sono rappresentati da numeri progressivi suddivisi a loro volta da barre (/1/). Vedremo in seguito con quali criteri questi numeri vengono distribuiti all'interno di uno stesso livello dell'albero. Da notare che la funzione ToString(), così come tutte le funzioni legate alla gestione di hierarchyid, è case sensitive. La gestione delle gerarchie è infatti delegata non tanto al motore TSQL quanto all'assembly.net che espone il tipo dato hierarchyid (si tratta di un tipo dato esposto direttamente dal CLR). TreePosition.GetLevel() restituisce il livello di profondità in cui risiedono i vari nodi. Nel nostro caso i livelli occupati sono lo 0 (da root) e l'1. Creazione di più nodi allo stesso livello NULL), 'Karl', 'Agathon', 'Captain' = TreePosition FROM Tree WHERE TreeId SELECT 'Lee', 'Adama', 'Captain' hierarchyid = TreePosition FROM Tree WHERE TreeId SELECT 'Kara', 'Thrace', 'Captain' SELECT TreeId, TreePosition, TreePosition.ToString() AS TreePositionString, TreePosition.GetLevel() AS TreeLevel, Name, Surname, MilitaryRank FROM Tree ORDER BY TreePosition Procediamo ora con il commentare il codice T-SQL riportato sopra. Con questa istruzione di selezione si ricava che assumerà il ruolo
4 di nodo padre delle nuove entità. NULL), 'Karl', 'Agathon', 'Captain' = TreePosition FROM Tree WHERE TreeId Con l'istruzione precedente si provvede ad inserire il primo nodo di terzo livello. Successivamente si ricava l'identificativo hierarchyid del nodo appena inserito 'Lee', 'Adama', 'Captain' hierarchyid = TreePosition FROM Tree WHERE TreeId Il secondo nodo del livello viene aggiunto sempre come figlio ma l'istruzione di aggiunta è ora corredata di un parametro. Il significato dei due parametri del metodo GetDescendant è il seguente: primo parametro => il nodo inserito dovrà essere maggiore del nodo riportato nel parametro; secondo parametro => il nodo inserito dovrà essere minore del nodo riportato nel parametro. Nel nostro verrà aggiunto prima e assumerà quindi il valore hierarchyid /1/0/. Un eventuale ordinamento tra i due nodi mostrerà prima /1/0/ e poi /1/1/ anche se i momenti di inserimento, testimoniati dalla progressione del campo identity, sono esattamente 'Kara', 'Thrace', 'Captain' L'ultimo capitano viene inserito tra i due precedenti. Il metodo vede, in questo caso, valorizzati entrambi i parametri rispettando l'ordine orizzontale delle entità, in quanto il nuovo inserimento deve essere maggiore del primo nodo e minore del secondo. E' interessante constatare come SQL Server risolva il problema dell'inserimento di una nuova entità tra due adiacenti (/1/0/ e /1/1/). Il nuovo nodo avrà come valore hierarchyid /1/0.1/ che, nell'assunzione del sistema adottato, significa appunto tra 0 e 1.
5 Vincoli nell'inserimento dei nodi allo stesso livello Avendo vincolato il campo hierarchyid con la clausola UNIQUE potremmo ottenere un errore se provassimo ad inserire un nuovo nodo tra 0 e 1. = TreePosition FROM Tree WHERE TreeId = 3 hierarchyid = TreePosition FROM Tree WHERE TreeId = 'Aaron', 'Kelly', 'Captain' L'errore viene originato dal fatto che anche il nuovo nodo avrebbe come valore hierarchyid /1/0.1/. Utilizzando la clausola UNIQUE siamo quindi vincolati ad inserire un nuovo nodo esclusivamente tra altri due nodi immediatamente adiacenti tra loro oppure in testa alla serie o in coda. Il codice precedente diventa quindi il seguente = TreePosition FROM Tree WHERE TreeId = 3 hierarchyid = TreePosition FROM Tree WHERE TreeId = 'Aaron', 'Kelly', 'Captain' Restituzione del padre A fronte dell'esistenza di un figlio è possibile risalire al padre attraverso l'istruzione GetAncestor(n) dove n rappresenta l'ennesimo livello degli ascendenti da restituire. hierarchyid = TreePosition FROM Tree WHERE TreeId = 5 SELECT * FROM Tree WHERE TreePosition SELECT * FROM Tree WHERE TreePosition SELECT * FROM Tree WHERE TreePosition Nel caso in esame il padre di primo livello è Tigh. Al secondo livello troviamo Adama, mentre al terzo la SELECT non restituirà valori in quando abbiamo già raggiunto root.
6 Restituzione dei discendenti Con la stessa facilità con cui vengono estratti gli ascendenti di un certo nodo, è possibile ottenere la lista dei discendenti. Questa volta l'operazione con cui effettuare la selezione è atomica SELECT * FROM Tree WHERE TreePosition.IsDescendantOf(@ColonelTigh)=1 La query restituisce tutti i militari a disposizione Da notare la sintassi booleana (se c'è riscontro positivo il metodo torna il valore 1) e il fatto che nel resultset ottenuto compaia lo stesso nodo su cui si sta operando (@ColonelTigh). Spostamento di nodi Ipotizziamo che arrivi il nuovo colonnello Jurgen Belzen alle dirette dipendenze del comandante Adama. Esso si posizionerebbe allo stesso livello del colonnello Tigh. Chiaramente Belzen non può rimanere senza uomini e quindi Adama gli assegna due capitani. hierarchyid = TreePosition FROM Tree WHERE TreeId = 3 = TreePosition FROM Tree WHERE TreeId = 5 SELECT hierarchyid::getroot().getdescendant(@coloneltigh, NULL), 'Jurgen', 'Belzen', 'Colonel' hierarchyid = TreePosition FROM Tree WHERE TreeId UPDATE Tree SET TreePosition (@ColonelTigh,@ColonelBelzen) WHERE TreePosition UPDATE Tree SET TreePosition (@ColonelTigh,@ColonelBelzen) WHERE TreePosition Il risultato sarà quello di aver attribuito a Belzen i capitani Agathon e Thrace. Vantaggi e limiti di hierarchyid Il nuovo tipo dato presenta indubbi vantaggi nella semplificazione di alcune operazioni classiche di gestione delle gerarchie. I principali sono: facilità nell'ottenere il livello corrente di qualunque entità attraverso il metodo GetLevel(); possibilità di gestire l'ordine orizzontale dei figli di uno stesso padre;
7 atomicità nell'operazione di restituzione dei discendenti di un nodo grazie al metodo IsDescendantOf(); esistenza di due diverse strategie di indicizzazione dei dati gerarchici in base alla strutturazione dell'albero (Depth First, Breadth First). E' altresì indubbio che questo nuovo tipo di dato porti con sé alcune grosse limitazioni tra cui la più rilevante riguarda lo spostamento di interi rami di una gerarchia. Negli esempi sopra riportati abbiamo sperimentato lo spostamento di nodi da un padre ad un altro, attraverso il metodo GetReparentedValue(). In un caso reale i nodi spostati sarebbero stati, con molta probabilità, a loro volta padri di altri nodi. Il metodo GetReparented() non si occupa dello spostamento dell'intero ramo ma solo del nodo in oggetto, rischiando di lasciare sul campo entità orfane. La mancanza di cui soffre il metodo è molto grave considerato che le gerarchie statiche, che non necessitano di spostamenti o modifiche, rappresentano situazioni abbastanza rare mentre le strutture dinamiche si incontrano più frequentemente. Pensiamo alla gerarchia militare dell'esempio, ma anche alla rappresentazione di un file system o di un organigramma aziendale. Il metodo classico di gestione delle gerarchie (doppia chiave padre-figlio) non soffre dello stesso problema: lo spostamento di un intero ramo si realizza con un semplice UPDATE del campo padre del nodo da muovere. D'altra parte è comunque vero che operazioni massive su una struttura a doppia chiave richiedono del codice di gestione ad hoc solitamente gestito con funzioni ricorsive. Basti pensare all'estrazione di tutti i figli di un nodo o al calcolo del livello di profondità. Si può concludere che l'adozione di hierarchyid in un caso reale, va attentamente vagliata alla luce dei pro e dei contro di questa tecnologia affiancando all'analisi una lucida riflessione sui requisiti richiesti e sulle caratteristiche intrinseche della gerarchia da rappresentare. Confidiamo che nella prossima versione di SQL Server, possa essere migliorato l'approccio al problema smussando le criticità attuali e rendendo hierarchyid il metodo ideale per la gestione di qualunque tipo di gerarchia. Bibliografia
Concetti fondamentali dei database database Cos'è un database Principali database
Concetti fondamentali dei database Nella vita di tutti i giorni si ha la necessità di gestire e manipolare dati. Le operazioni possono essere molteplici: ricerca, aggregazione con altri e riorganizzazione
DettagliGuida all uso di Java Diagrammi ER
Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con
DettagliIntroduzione alla teoria dei database relazionali. Come progettare un database
Introduzione alla teoria dei database relazionali Come progettare un database La struttura delle relazioni Dopo la prima fase di individuazione concettuale delle entità e degli attributi è necessario passare
DettagliVolumi di riferimento
Simulazione seconda prova Esame di Stato Gestione di un centro agroalimentare all ingrosso Parte prima) Un nuovo centro agroalimentare all'ingrosso intende realizzare una base di dati per l'attività di
DettagliSiamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.
DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti
DettagliControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi
ControlloCosti Cubi OLAP I cubi OLAP Un Cubo (OLAP, acronimo di On-Line Analytical Processing) è una struttura per la memorizzazione e la gestione dei dati che permette di eseguire analisi in tempi rapidi,
DettagliDispensa di database Access
Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di
DettagliSOMMARIO... 3 INTRODUZIONE...
Sommario SOMMARIO... 3 INTRODUZIONE... 4 INTRODUZIONE ALLE FUNZIONALITÀ DEL PROGRAMMA INTRAWEB... 4 STRUTTURA DEL MANUALE... 4 INSTALLAZIONE INRAWEB VER. 11.0.0.0... 5 1 GESTIONE INTRAWEB VER 11.0.0.0...
DettagliDatabase Lezione 1. Sommario. - Introduzione - Tabelle e chiave primaria - Query - Calcoli ed alias - Ordinamento
Sommario - Introduzione - Tabelle e chiave primaria - Query - Calcoli ed alias - Ordinamento Introduzione - Un database è un archivio strutturato di dati che può essere manipolato con dei comandi nel linguaggio
DettagliLE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE
LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE Che cosa sono e a cosa servono le caratteristiche? Oltre a descrivere le qualità di un prodotto con un testo generico (descrizione) è possibile dettagliare
DettagliCapitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti
Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta
DettagliAnalisi e diagramma di Pareto
Analisi e diagramma di Pareto L'analisi di Pareto è una metodologia statistica utilizzata per individuare i problemi più rilevanti nella situazione in esame e quindi le priorità di intervento. L'obiettivo
DettagliMODULO 5 Appunti ACCESS - Basi di dati
MODULO 5 Appunti ACCESS - Basi di dati Lezione 1 www.mondopcnet.com Modulo 5 basi di dati Richiede che il candidato dimostri di possedere la conoscenza relativa ad alcuni concetti fondamentali sui database.
DettagliHBase Data Model. in più : le colonne sono raccolte in gruppi di colonne detti Column Family; Cosa cambia dunque?
NOSQL Data Model HBase si ispira a BigTable di Google e perciò rientra nella categoria dei column store; tuttavia da un punto di vista logico i dati sono ancora organizzati in forma di tabelle, in cui
DettagliDispensa DB Mercato del Lavoro
Dispensa DB Mercato del Lavoro Assumiamo come partenza che nella tabella Stato presente nel DB sono elencati tre codici, con i quali possiamo agevolmente sviluppare delle query che poi, a sua volta saranno
Dettagli2 Fortino Lugi. Figura Errore. Nel documento non esiste testo dello stile specificato.-3 -- Finestra attiva o nuovo documento
1 Fortino Lugi STAMPA UNIONE OFFICE 2000 Vi sarà capitato sicuramente di ricevere lettere pubblicitarie indirizzate personalmente a voi; ovviamente quelle missive non sono state scritte a mano, ma utilizzando
DettagliCORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)
Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni
DettagliAbilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere
Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report Facoltà di Lingue e Letterature Straniere Le QUERY 2 Che cos è una Query? Una Query rappresenta uno strumento per interrogare un database.
DettagliL amministratore di dominio
L amministratore di dominio Netbuilder consente ai suoi clienti di gestire autonomamente le caselle del proprio dominio nel rispetto dei vincoli contrattuali. Ciò è reso possibile dall esistenza di un
DettagliEsercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:
Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Si consiglia di creare il data base, inserire i dati nelle tabelle, provare
DettagliIntroduzione all Information Retrieval
Introduzione all Information Retrieval Argomenti della lezione Definizione di Information Retrieval. Information Retrieval vs Data Retrieval. Indicizzazione di collezioni e ricerca. Modelli per Information
DettagliManuale Utente Amministrazione Trasparente GA
Manuale Utente GA IDENTIFICATIVO DOCUMENTO MU_AMMINISTRAZIONETRASPARENTE-GA_1.0 Versione 1.0 Data edizione 03.05.2013 1 Albo Pretorio On Line TABELLA DELLE VERSIONI Versione Data Paragrafo Descrizione
DettagliManuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise
Manuale Amministratore Legalmail Enterprise Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Pagina 2 di 16 Manuale Amministratore Legalmail Enterprise Introduzione a Legalmail Enterprise...3
DettagliSISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione
SISTEMI INFORMATIVI AVANZATI -2010/2011 1 Introduzione In queste dispense, dopo aver riportato una sintesi del concetto di Dipendenza Funzionale e di Normalizzazione estratti dal libro Progetto di Basi
DettagliBasi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL
Basi di dati Il Linguaggio SQL Data Definition Language (DDL) Data Definition Language: insieme di istruzioni utilizzate per modificare la struttura della base di dati Ne fanno parte le istruzioni di inserimento,
DettagliCOLLI. Gestione dei Colli di Spedizione. Release 5.20 Manuale Operativo
Release 5.20 Manuale Operativo COLLI Gestione dei Colli di Spedizione La funzione Gestione Colli consente di generare i colli di spedizione in cui imballare gli articoli presenti negli Ordini Clienti;
DettagliSettaggio impostazioni tema. Cliccando nuovamente su aspetto e poi su personalizza si avrà modo di configurare la struttura dinamica della template.
I TEMI PREDEFINITI (TEMPLATE) Scelta del tema I temi predefiniti di wordpress sono la base di un sito che usa un utente che per ragioni pratiche o per incapacità non può creare un sito usando solo codice
DettagliESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7
ESEMPI DI QUERY SQL Dati di esempio... 2 Query su una sola tabella... 2 Esempio 1 (Ordinamento)... 2 Esempio 2 (Scelta di alcune colonne)... 3 Esempio 3 (Condizioni sui dati)... 3 Esempio 4 (Condizioni
DettagliSistema di gestione Certificato MANUALE PER L'UTENTE
Sistema di gestione Certificato MANUALE PER L'UTENTE Pagina 1 di 16 Indice 1 Introduzione...3 2 Genera certificato...4 3 Sospendi certificato...10 4 Riattiva certificato...12 5 Revoca certificato...14
DettagliCapitolo 13. Interrogare una base di dati
Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per
DettagliARCHIVI E DATABASE (prof. Ivaldi Giuliano)
ARCHIVI E DATABASE (prof. Ivaldi Giuliano) Archivio: è un insieme di registrazioni (o records) ciascuna delle quali è costituita da un insieme prefissato di informazioni elementari dette attributi (o campi).
DettagliCorso Sistemi Informativi Avanzati. Programma 30 set 2015. Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.
Programma 30 set 205 Installazione Macchina Virtuale Introduzione alla BI nelle Aziende Introduzione SQL Macchina Virtuale È un emulazione di un computer su un altro computer Stesso punto di partenza per
DettagliINDICI. Prevediamo di effettuare spesso interrogazioni simili alle seguenti:
Date le tabelle: Clienti := < id, nome, cognome, indirizzo,città > Ordini := < id, data_ora_ordine, id_prodotto, id_cliente, quantità> Prodotti := < id, nome, descrizione, costo,scorte > INDICI Prevediamo
DettagliProgetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore
ARPA Fonte Dati Regione Toscana 1 Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.1 Data emissione 09/10/13 Stato FINAL 2 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 1.1 09/10/2013
DettagliBasi di Dati e Microsoft Access
Basi di Dati e Microsoft Access Lun: 16-18 e Mer: 14-17 Alessandro Padovani padoale@email.it Database: definizione Un database (DB) è una collezione di informazioni organizzata in gruppi, che consentono
DettagliMySQL Database Management System
MySQL Database Management System http://www.mysql.com/ DATABASE RELAZIONALI Un database è una collezione strutturata di informazioni. I database sono delle strutture nelle quali è possibile memorizzare
DettagliRegione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da
ARPA Fonte Dati Regione Toscana Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.0 Data emissione 06/08/13 Stato DRAFT 1 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 2 Sommario
Dettagli1) GESTIONE DELLE POSTAZIONI REMOTE
IMPORTAZIONE ESPORTAZIONE DATI VIA FTP Per FTP ( FILE TRANSFER PROTOCOL) si intende il protocollo di internet che permette di trasferire documenti di qualsiasi tipo tra siti differenti. Per l utilizzo
DettagliServizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti
20120300 INDICE 1. Introduzione... 3 2. Consultazione... 4 2.1 Consultazione Server Fidati... 4 2.2 Consultazione Servizi Client... 5 2.3 Consultazione Stato richieste... 5 3. Amministrazione... 6 3.1
DettagliCorso Drupal «Project management»
Corso Drupal «Project management» Pino Vasarelli, Andrea Vivaldi Iit Istituto di Informatica e Telematica del CNR Project management Il sito Project management deve avere le seguenti caratteristiche: la
DettagliTi consente di ricevere velocemente tutte le informazioni inviate dal personale, in maniera assolutamente puntuale, controllata ed organizzata.
Sommario A cosa serve InfoWEB?... 3 Quali informazioni posso comunicare o ricevere?... 3 Cosa significa visualizzare le informazioni in maniera differenziata in base al livello dell utente?... 4 Cosa significa
DettagliOrganizzazione degli archivi
COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i
DettagliLogistica magazzino: Inventari
Logistica magazzino: Inventari Indice Premessa 2 Scheda rilevazioni 2 Registrazione rilevazioni 3 Filtro 3 Ricerca 3 Cancella 3 Stampa 4 Creazione rettifiche 4 Creazione rettifiche inventario 4 Azzeramento
DettagliCRM Configurazione e gestione accessi
Gestione dei Reparti VtigerCrm fornisce funzionalità per configurare i privilegi di accesso ai dati in maniera granulare per ogni utente o gruppo di utenti registrato nel programma. Le funzionalità di
DettagliMon Ami 3000 Varianti articolo Gestione di varianti articoli
Prerequisiti Mon Ami 3000 Varianti articolo Gestione di varianti articoli L opzione Varianti articolo è disponibile per le versioni Azienda Light e Azienda Pro e include tre funzionalità distinte: 1. Gestione
DettagliSISTEMI DI NUMERAZIONE E CODICI
SISTEMI DI NUMERAZIONE E CODICI Il Sistema di Numerazione Decimale Il sistema decimale o sistema di numerazione a base dieci usa dieci cifre, dette cifre decimali, da O a 9. Il sistema decimale è un sistema
DettagliCorso sul linguaggio SQL
Corso sul linguaggio SQL Modulo L2B (SQL) 2.2 Comandi sulle tabelle 1 Prerequisiti Introduzione ai DB Tabelle, relazioni e attributi Chiave primaria Chiave esterna Vincoli di integrità 2 1 Introduzione
DettagliDatabase. Si ringrazia Marco Bertini per le slides
Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida
DettagliI database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:
Il modello relazionale I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: 1. forniscono sistemi semplici ed efficienti per rappresentare
DettagliPROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1
PROGRAMMA GESTIONE TURNI MANUALE UTENTE INDICE 1 PREMESSA 3 2 COMANDI COMUNI 3 3 SEDI 3 4 FESTIVITÀ 4 5 PERIODI TURNI 4 6 COD. TURNI 6 7 TURNI SPORTIVI 9 8 COD. EQUIPAGGI 9 9 DISPONIBILITÀ 10 10 INDISPONIBILITÀ
DettagliGUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL
GUIDA RAPIDA BOZZA 23/07/2008 INDICE 1. PERCHÉ UNA NUOVA VERSIONE DEI MODULI DI RACCOLTA DATI... 3 2. INDICAZIONI GENERALI... 4 2.1. Non modificare la struttura dei fogli di lavoro... 4 2.2. Cosa significano
DettagliAPPUNTI SU PROBLEMI CON CALCOLO PERCENTUALE
APPUNTI SU PROBLEMI CON CALCOLO PERCENTUALE 1. Proporzionalità diretta e proporzionalità inversa Analizziamo le seguenti formule Peso Lordo = Peso Netto + Tara Ricavo = Utile + Costo Rata = Importo + Interesse
Dettagli5.2.1 RELAZIONI TRA TABELLE 1. 5.2.4.1 Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9
5.2.1 RELAZIONI TRA TABELLE 1 5.2.4.1 Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9 Il grado di un verso di un associazione indica quanti record della tabella di partenza si associano ad un
DettagliOfficina Meccanica. Analisi, progetto e sviluppo
Officina Meccanica Analisi, progetto e sviluppo Definizione del problema e specifica dei requisiti Un officina meccanica dispone di un magazzino in cui tiene parti di ricambio per automobili. Ogni parte
DettagliConfigurazione della ricerca desktop di Nepomuk. Sebastian Trüg Anne-Marie Mahfouf Traduzione della documentazione in italiano: Federico Zenith
Configurazione della ricerca desktop di Nepomuk Sebastian Trüg Anne-Marie Mahfouf Traduzione della documentazione in italiano: Federico Zenith 2 Indice 1 Introduzione 4 1.1 Impostazioni di base....................................
DettagliCONTENUTI 1. INTRODUZIONE...3 2. CONCETTI BASICI SU EQUINOX CMS XPRESS...5 3. ACCESSO A EQUINOX CMS XPRESS...9 4. PAGINA D INIZIO...
CONTENUTI 1. INTRODUZIONE...3 DEFINIZIONE...3 ELEMENTI DEL SERVIZIO...3 TECNOLOGIA E OPERAZIONE...3 WORKFLOW E GRAFICO DI PROCESSI...4 2. CONCETTI BASICI SU EQUINOX CMS XPRESS...5 STRUTTURA...5 OGGETTI...5
DettagliManuale Knowledge Base
(Riservato a rivenditori e agenzie) Versione Luglio 2010 SOMMARIO Introduzione... 2 Accesso... 2 Menu Conoscenze... 3 Bacheca... 4 Voci di menu... 5 Ricerca... 5 Ricerca Semplice... 6 Ricerca avanzata...
Dettagli(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)
(Esercizi Tratti da Temi d esame degli ordinamenti precedenti) Esercizio 1 L'agenzia viaggi GV - Grandi Viaggi vi commissiona l'implementazione della funzione AssegnaVolo. Tale funzione riceve due liste
Dettagli11010010 = 1*2^7 + 1*2^6 + 0*2^5 + 1*2^4 + 0*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 210
Il sistema BINARIO e quello ESADECIMALE. Il sistema di numerazione binario è particolarmente legato ai calcolatori in quanto essi possono riconoscere solo segnali aventi due valori: uno alto e uno basso;
DettagliSiti web centrati sui dati Architettura MVC-2: i JavaBeans
Siti web centrati sui dati Architettura MVC-2: i JavaBeans 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con
DettagliEsercizio data base "Biblioteca"
Rocco Sergi Esercizio data base "Biblioteca" Database 2: Biblioteca Testo dell esercizio Si vuole realizzare una base dati per la gestione di una biblioteca. La base dati conterrà tutte le informazioni
DettagliBasi Di Dati, 09/12/2003
Basi Di Dati, 09/12/2003 Una concessionaria di auto nuove ed usate vuole automatizzare alcune delle sue attività. L attività che la concessionaria vuole automatizzare riguarda la gestione delle auto nuove,
DettagliI database relazionali (Access)
I database relazionali (Access) Filippo TROTTA 04/02/2013 1 Prof.Filippo TROTTA Definizioni Database Sistema di gestione di database (DBMS, Database Management System) Sistema di gestione di database relazionale
DettagliSQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2011/12
SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I Anno accademico 2011/12 DEFINIZIONE Il concetto di vista 2 È una relazione derivata. Si specifica l espressione che genera il suo contenuto.
DettagliFunzioni non documentate Openoffice.org. 3 Base mini-howto
Funzioni non documentate Openoffice.org. 3 Base mini-howto Augusto Scatolini (webmaster@comunecampagnano.it) Ver. 1.0 gennaio 2009 Come risolvere il problema del contatore che inizia da 0 (zero) Come importare
DettagliFIRESHOP.NET. Gestione completa delle fidelity card & raccolta punti. Rev. 2014.3.1 www.firesoft.it
FIRESHOP.NET Gestione completa delle fidelity card & raccolta punti Rev. 2014.3.1 www.firesoft.it Sommario SOMMARIO Introduzione... 3 La gestione delle fidelity card nel POS... 4 Codificare una nuova fidelity
DettagliGestione Turni. Introduzione
Gestione Turni Introduzione La gestione dei turni di lavoro si rende necessaria quando, per garantire la continuità del servizio di una determinata struttura, è necessario che tutto il personale afferente
Dettagli. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi
Capitolo Terzo Primi passi con Microsoft Access Sommario: 1. Aprire e chiudere Microsoft Access. - 2. Aprire un database esistente. - 3. La barra multifunzione di Microsoft Access 2007. - 4. Creare e salvare
DettagliDati relazionali e XML
Dati relazionali e Introduzione (1) Memorizzazione dei dati Utilizzo dei dati Applicazione DBMS relazionale Applicazione Applicazione 2 Introduzione (2) Memorizzazione dei dati Utilizzo dei dati Applicazione
Dettagliwww.filoweb.it STAMPA UNIONE DI WORD
STAMPA UNIONE DI WORD Molte volte abbiamo bisogno di stampare più volte lo stesso documento cambiando solo alcuni dati. Potremmo farlo manualmente e perdere un sacco di tempo, oppure possiamo ricorrere
DettagliIl seguente esempio ha lo scopo di illustrare i 3 tipi di relazione 1:1,1:N,N:N. Tabella Conto: Tabella Conto:
Il seguente esempio ha lo scopo di illustrare i 3 tipi di relazione 1:1,1:N,N:N. Tabella Conto: Tabella Conto: Tabella Cliente: Tabella NumTel: Tabella Dati_Cliente: L'esempio è per ragioni di chiarezza
DettagliStrutturazione logica dei dati: i file
Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer
DettagliESEMPIO 1: eseguire il complemento a 10 di 765
COMPLEMENTO A 10 DI UN NUMERO DECIMALE Sia dato un numero N 10 in base 10 di n cifre. Il complemento a 10 di tale numero (N ) si ottiene sottraendo il numero stesso a 10 n. ESEMPIO 1: eseguire il complemento
DettagliSQL: concetti base SQL. Definizione dei dati in SQL. SQL: "storia"
SQL SQL: concetti base originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia il DML ne esistono varie versioni vediamo gli aspetti essenziali,
Dettagli19. LA PROGRAMMAZIONE LATO SERVER
19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici
DettagliIntroduzione. Alberto Fortunato alberto.fortunato@gmail.com. www.albertofortunato.com Pag. 1 di 137
Introduzione Il software Gestione magazzino è stato realizzato con l intenzione di fornire uno strumento di apprendimento per chi intendesse cominciare ad utilizzare Access 2010 applicando le tecniche
DettagliSQL/OLAP. Estensioni OLAP in SQL
SQL/OLAP Estensioni OLAP in SQL 1 Definizione e calcolo delle misure Definire una misura significa specificare gli operatori di aggregazione rispetto a tutte le dimensioni del fatto Ipotesi: per ogni misura,
DettagliOSSIF WEB. Manuale query builder
OSSIF WEB Manuale query builder - Maggio 2010 1) Sommario 1) SOMMARIO... 2 INTRODUZIONE... 3 Scopo del documento... 3 Struttura del documento... 3 Descrizione dell interfaccia grafica... 3 SELEZIONE DI
DettagliCOMUNE DI RAVENNA GUIDA ALLA VALUTAZIONE DELLE POSIZIONI (FAMIGLIE, FATTORI, LIVELLI)
COMUNE DI RAVENNA Il sistema di valutazione delle posizioni del personale dirigente GUIDA ALLA VALUTAZIONE DELLE POSIZIONI (FAMIGLIE, FATTORI, LIVELLI) Ravenna, Settembre 2004 SCHEMA DI SINTESI PER LA
DettagliTABLESAMPLE. Di Gianluca Negrelli. SELECT TOP 25 * FROM Prodotti ORDER BY NEWID() SET NOCOUNT ON;
TABLESAMPLE Di Gianluca Negrelli La clausola TABLESAMPLE, introdotta in SQL Server 2005, permette di estrarre un campione casuale di record (sample) da una qualsiasi tabella. Prima dell'arrivo di TABLESAMPLE
DettagliArchivi e database. Prof. Michele Batocchi A.S. 2013/2014
Archivi e database Prof. Michele Batocchi A.S. 2013/2014 Introduzione L esigenza di archiviare (conservare documenti, immagini, ricordi, ecc.) è un attività senza tempo che è insita nell animo umano Primi
DettagliConsiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica
Consiglio regionale della Toscana Regole per il corretto funzionamento della posta elettronica A cura dell Ufficio Informatica Maggio 2006 Indice 1. Regole di utilizzo della posta elettronica... 3 2. Controllo
DettagliGESTIONE CONTRATTI. Contratti clienti e contratti fornitori
SPRING - CONTRATTI La Gestione Contratti di SPRING, in un'azienda, risolve le esigenze relative alla rilevazione dei contratti e delle relative condizioni. In particolare è possibile definire i servizi
DettagliUser Tools: DataBase Manager
Spazio di lavoro Per usare T-SQL Assistant selezionare il link Simple Query e spostare a piacere la piccola finestra dove un menu a tendina mostra i diversi comandi SQL selezionabili, il pulsante Preview
DettagliSoluzione dell esercizio del 2 Febbraio 2004
Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo
DettagliConvertitori numerici in Excel
ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA Convertitori numerici in Excel Prof. G. Ciaschetti Come attività di laboratorio, vogliamo realizzare dei convertitori numerici con Microsoft Excel
DettagliCorso su LINQ Lezione 16. Introduzione
LINQ to SQL Introduzione Con questa lezione introduciamo il flavor LINQ to SQL. Dopo aver visto quindi tutte le funzionalità e gli operatori di LINQ to Object, affronteremo ora la tematica riguardante
DettagliNUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT.
NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT. Con l utilizzo delle procedure di iscrizione on line la società organizzatrice ha a disposizione tutti
DettagliUniversità degli Studi di Verona. Laboratorio di Basi di Dati
Università degli Studi di Verona Laboratorio di Basi di Dati Introduzione ad OOo Base: Creazione Tabelle Gabriele Pozzani: gabriele.pozzani@univr.it Materiale prodotto da: Dott.ssa Barbara Oliboni Database:
DettagliArchitettura MVC-2: i JavaBeans
Siti web centrati sui dati Architettura MVC-2: i JavaBeans Alberto Belussi anno accademico 2008/2009 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con
DettagliHR - Sicurezza. Parma 17/12/2015
HR - Sicurezza Parma 17/12/2015 FG Software Produce software gestionale da più di 10 anni Opera nel mondo del software qualità da 15 anni Sviluppa i propri software con un motore completamente proprietario
DettagliGERARCHIE RICORSIVE - SQL SERVER 2008
GERARCHIE RICORSIVE - SQL SERVER 2008 DISPENSE http://dbgroup.unimo.it/sia/gerarchiericorsive/ L obiettivo è quello di realizzare la tabella di navigazione tramite una query ricorsiva utilizzando SQL SERVER
DettagliPresentazione della release 3.0
ProgettOrchestra 2.2 diventa Smart+ERP 3.0 Presentazione della release 3.0 La nuova versione di ProgettOrchestra prende il nome di Smart+ERP e viene rilasciata già nella versione 3.0 consecutiva alla versione
DettagliIl linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.
(Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System
DettagliGestione della memoria centrale
Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti
DettagliMatematica generale CTF
Successioni numeriche 19 agosto 2015 Definizione di successione Monotonìa e limitatezza Forme indeterminate Successioni infinitesime Comportamento asintotico Criterio del rapporto per le successioni Definizione
DettagliPiani di input e piani di calcolo reale in FaTA-e
0 1 Piani di input e piani di calcolo reali in FaTA-e Dalla versione XX di FaTA-e è presente una nuova implementazione per il calcolo dei baricentri di massa e rigidezza. La nuova procedura consente di
DettagliVersioni x.7.9 Note Operative
Versioni x.7.9 Note Operative Le versioni x.7.9 sono state rilasciate per poter predisporre i dati per il cosiddetto spesometro 2013 o per la comunicazione delle operazioni IVA rilevanti utilizzando il
DettagliLA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1
LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1 I CODICI 1 IL CODICE BCD 1 Somma in BCD 2 Sottrazione BCD 5 IL CODICE ECCESSO 3 20 La trasmissione delle informazioni Quarta Parte I codici Il codice BCD
DettagliMANUALE ESSE3 Gestione Registro delle lezioni
MANUALE ESSE3 Gestione Registro delle lezioni DOCENTI 1 INDICE 1. INTRODUZIONE E ACCESSO... 3 2. GESTIONE DEL REGISTRO... 4 2.1. Informazioni generali... 6 2.2. Stato del Registro... 7 2.2.1. Transizioni
Dettagli