Data Transformation Services Data Transformation Services (tutorial) 10 novembre 2000 La preparazione dei dati richiede lo svolgimento coordinato di un grande numero di attività attività estrazione dei dati trasformazione caricamento dei dati le attività sono più o meno semplici coordinamento tra attività ordinamento tra attività gestione di eccezioni Data Transformation Services (DTS) è un insieme di servizi di supporto alla preparazione dei dati 1 Data Transformation Services 2 Data Transformation Services Importazione e esportazione di dati Nella preparazione dei dati vengono solitamente svolte molte attività che riguardano l accesso a dati e la trasformazione del formato di dati dati acceduti e/o salvati in formato relazionale, in sistemi diversi dati acceduti e/o salvati in formato testuale dati acceduti e/o salvati in altri formati (ad esempio, da/su un foglio elettronico) DTS import/export wizard In SQL Server, molte attività (semplici) possono essere progettate e realizzate mediante dei wizard Questo tutorial introduce queste attività 3 Data Transformation Services 4 Data Transformation Services
Selezione della sorgente dei dati Si vogliono trasferire delle tabelle da una base di dati relazionale a un altra Selezione della destinazione dei dati Come destinazione dei dati, viene creata una nuova base di dati relazionale 5 Data Transformation Services 6 Data Transformation Services Opzioni di estrazione Si vogliono trasferire (accedere e copiare) delle intere tabelle Selezione delle tabelle da copiare Vengono selezionate le tabelle da copiare e le tabelle destinazione 7 Data Transformation Services 8 Data Transformation Services
Package Sommario della trasformazione Un package DTS specifica una attività di trasformazione dei dati un package può essere eseguito direttamente e/o salvato 9 Data Transformation Services 10 Data Transformation Services Esecuzione del package Il package viene eseguito come un insieme coordinato di attività ad esempio, le creazioni delle tabelle destinazione precedono le copie Copia selettiva di dati Viene ora definito un nuovo package per eseguire una copia selettiva di dati, basata su una interrogazione 11 Data Transformation Services 12 Data Transformation Services
Scrittura dell interrogazione Viene specificata l interrogazione SQL Selezione della destinazione La tabella destinazione viene creata nella stessa base di dati usata come sorgente dei dati 13 Data Transformation Services 14 Data Transformation Services Selezione della destinazione È possibile modificare lo schema della tabella destinazione (se diverso da quello inferito) Salvataggio del package Sono possibili diverse modalità di salvataggio di un package DTS 15 Data Transformation Services 16 Data Transformation Services
Salvataggio del package Esecuzione del package 17 Data Transformation Services 18 Data Transformation Services Esportazione su foglio elettronico Si vogliono esportare dati relazionali su un foglio elettronico Selezione della destinazione Microsoft Excel può essere acceduto/scritto mediante OLE DB 19 Data Transformation Services 20 Data Transformation Services
Opzioni di estrazione Si vuole copiare il risultato di una interrogazione Query builder L interrogazione può essere espressa in modo visuale anziché in SQL selezione della target list 21 Data Transformation Services 22 Data Transformation Services Query builder selezione dei criteri di ordinamento del risultato Query builder criteri di selezione 23 Data Transformation Services 24 Data Transformation Services
Salvataggio ed esecuzione DTS Package Designer DTS permette la definizione di package composti da più attività coordinate DTS Package Designer è uno strumento visuale per la definizione di package complessi 25 Data Transformation Services 26 Data Transformation Services Concetti di DTS Connection una connessione a una sorgente e/o destinazione dei dati Task un unità di lavoro, costituita da una o più operazioni esempi di task sono l esecuzione di una istruzione SQL, la copia di una tabella, l invio di un messaggio di posta elettronica Precedence constraints ordine sequenziale tra due task on success on failure on completion (indipendentemente dall esito) Concetti di DTS Data transformation movimento di dati tra una sorgente e una destinazione un Data Transform Task è un task che permette di selezionare dati da una sorgente trasformare (record per record) i dati selezionati in modo personalizzato (ad esempio, in Visual Basic) inviare i dati trasformati a una destinazione Package un insieme di task, con i relativi vincoli di precedenza 27 Data Transformation Services 28 Data Transformation Services
Creazione di un package semplice L ambiente visuale del DTS Package Designer Definizione di una nuova connessione Si vogliono accedere dati da un file di testo 29 Data Transformation Services 30 Data Transformation Services Selezione del formato del file Si deve descrivere il formato dei dati nel file di testo Selezione del formato del file Una finestra mostra l anteprima dei dati estratti 31 Data Transformation Services 32 Data Transformation Services
Selezione della destinazione I dati devono essere copiati in una base di dati relazionale Inserimento di un task di trasformazione Viene aggiunto un task di trasformazione 33 Data Transformation Services 34 Data Transformation Services Proprietà del task di trasformazione La sorgente della trasformazione Proprietà del task di trasformazione La destinazione della trasformazione è una nuova tabella 35 Data Transformation Services 36 Data Transformation Services
Proprietà del task di trasformazione Viene definito lo schema della tabella destinazione Proprietà del task di trasformazione Viene usata la trasformazione di default 37 Data Transformation Services 38 Data Transformation Services Esecuzione del package Il package può essere salvato e /o eseguito Uso di vincoli di precedenza Viene definito un package con dei vincoli di precedenza tra task 39 Data Transformation Services 40 Data Transformation Services
Cancellazione di una tabella Viene definito un task SQL per cancellare una tabella da una base di dati Creazione di una tabella Viene definito un task SQL per ri-creare la tabella cancellata 41 Data Transformation Services 42 Data Transformation Services Vincoli La creazione della tabella deve seguire la cancellazione della tabella (on completion) Vincoli La creazione della tabella deve essere seguita (on success) dall inserimento dei dati, e quindi da un task di backup 43 Data Transformation Services 44 Data Transformation Services
Esecuzione del package I task vengono schedulati rispettando i vincoli Trasformazioni con Visual Basic La preparazione dei dati non si limita alla copia selettiva di dati tra sorgenti la maggior parte dei dati trasferiti tra sorgenti è soggetta a trasformazioni, che cambiano la struttura e/o il valore dei dati la specifica delle trasformazioni avviene come componente di un data transform task, che comprende la selezione di dati da una sorgente la trasformazione (record per record) dei dati mediante uno script o una applicazione l invio dei dati trasformati a una destinazione viene ora mostrata una semplice trasformazione Visual Basic 45 Data Transformation Services 46 Data Transformation Services Definizione di un task di trasformazione Nel task di trasformazione è possibile definire il mapping diretto tra campi della sorgente e campi della destinazione Definizione di un task di trasformazione Il campo TotalValue può essere calcolato moltiplicando i campi Col006 e Col007 47 Data Transformation Services 48 Data Transformation Services
Definizione di una trasformazione ActiveX Definizione di una trasformazione ActiveX Una trasformazione per un campo può essere generica, ovvero selezionata da un insieme predefinito personalizzata, mediante uno script ActiveX 49 Data Transformation Services 50 Data Transformation Services Definizione di una trasformazione ActiveX Definizione di una trasformazione ActiveX 51 Data Transformation Services 52 Data Transformation Services
Salvataggio di una trasformazione ActiveX Un package DTS, comprensivo delle sue trasformazioni sui campi, può essere memorizzato come codice sorgente Visual Basic 53 Data Transformation Services