GERARCHIE RICORSIVE - SQL SERVER 2008



Похожие документы
Aggiornamento programma da INTERNET

SQL Server Introduzione all uso di SQL Server e utilizzo delle opzioni Olap. Dutto Riccardo - SQL Server 2005.

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

INSTALLAZIONE MS WINDOWS 7 SU MACCHINA VIRTUALE VMWARE

Installazione di Filenet Content Services 5.3 di Emanuele Mattei (emanuele.mattei[at] .it)

MySQL Server e Netbeans

ISTRUZIONI AGGIORNAMENTO TARIFFARIO 2006

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE

Nuovo server E-Shop: Guida alla installazione di Microsoft SQL Server

SQL Server BI Development Studio

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database

Indice GAMMA. Guida utente

ESEMPIO DI QUERY SUL FILE Formario_minuscolo

MODULO 5 ACCESS Basi di dati. Lezione 4

FIRESHOP.NET. Utilizzare il FireSoft. Rev

Servizio di backup dei dati mediante sincronizzazione

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Istruzioni Aggiornamento RGT Xml

Fattura Facile. In questo menù sono raggruppati, per tipologia, tutti i comandi che permettono di gestire la manutenzione degli archivi.

PORTALE CLIENTI Manuale utente

Capitolo 1 Installazione del programma

. 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

FOXWave Gestione gare ARDF IZ1FAL Secco Marco Sezione ARI BIELLA

Libero Emergency PC. Sommario

1. ACCESSO AL PORTALE easytao

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

e/fiscali - Rel e/fiscali Installazione

Istruzioni per creare un file PDF/A tramite software PDFCreator

Come configurare l accesso ad Internet con il tuo telefonino GPRS UMTS (Sistema Operativi Microsoft Windows XP).

GUARINI PATRIMONIO CULTURALE VERSIONE MSDE/SQL SERVER MANUALE DI INSTALLAZIONE GUARINI PATRIMONIO CULTURALE VERSIONE MSDE/SQL SERVER

1.1 Installare un nuovo Client di Concept ed eseguire il primo avvio

MANUALE UTENTE. Computer Palmare WORKABOUT PRO

filrbox Guida all uso dell interfaccia WEB Pag. 1 di 44

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

INSTALLAZIONE PROCEDURA 770/2011

1 WIZARD DI AUTOCONFIGURAZIONE MAPI 1.1 INTERNET EXPLORER 8

Installazione MS SQL Express e utilizzo con progetti PHMI

WoWords. Guida all uso: creare ed utilizzare le frasi. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords.

Personalizzazione Stampe

Guida all uso di Java Diagrammi ER

Lezioni di Laboratorio sui Data Base

Dispense Corso Access

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

Procedura di Aggiornamento TO.M.M.YS. SQL 2005 e 2008

Utilizzo della APP IrriframeVoice. Versione 1.0 maggio 2015

IRSplit. Istruzioni d uso 07/10-01 PC

LaCie Ethernet Disk mini Domande frequenti (FAQ)

Le query. Lezione 6 a cura di Maria Novella Mosciatti

Installazione del software Fiery per Windows e Macintosh

Come modificare la propria Home Page e gli elementi correlati

WINDOWS XP. Aprire la finestra che contiene tutte le connessioni di rete in uno dei seguenti modi:

Esercizio data base "Biblioteca"

Il Processo Civile Telematico e il Consulente Tecnico d Ufficio (C.T.U.) Uno schema operativo verso l invio telematico della C.T.U.

Manuale per la configurazione di AziendaSoft in rete

Cos è ACCESS? E un programma di gestione di database (DBMS) Access offre: un ambiente user frendly da usare (ambiente grafico)

Corso Sistemi Informativi Avanzati. Programma 30 set Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.

Software di parcellazione per commercialisti Ver [10/09/2015] Manuale d uso [del 10/09/2015]

SQL/OLAP. Estensioni OLAP in SQL

FRANCESCO MARINO - TELECOMUNICAZIONI

Interrogare il database: lavorare con le query

Sommario Impostazioni generali del BROWSER... 2 Procedura di registrazione... 9 Primo Accesso Accesso al Portale... 18

VIDA CONFIGURATION VIDA ALL-IN-ONE

Collegamento a Raiffeisen OnLine Istruzione per l installazione di Internet Explorer

Circolari e lettere da Word con anagrafiche e indirizzi da Metodo

Guida all Utilizzo dell Applicazione Centralino

COME CREARE E COLLEGARSI AD UN DATABASE MICROSOFT SQL SERVER O SUN MYSQL

Guida. Macchina Scratch

CONFIGURAZIONE E GESTIONE DEI DATABASE (rev. 1.1)

Applicazione JobScheduler su DB SQL Milano, lì 14/09/2009

Guido d uso sito internet Unione Valdera

Evoluzioni Software s.n.c. SLpw Guida all'uso Pag.1 di 27

MANUALE UTENTE INFOCAR REPAIR ACCESSO SMARTPHONE/TABLET

La Stampa Unione. Individuare la lista indirizzi per la Stampa Unione

MANUALE PARCELLA FACILE PLUS INDICE

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

Tools For Autism 1.0. Manuale d uso

Identificare le diverse parti di una finestra: barra del titolo, barra dei menu, barra degli strumenti, barra di stato, barra di scorrimento.

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

Mac Application Manager 1.3 (SOLO PER TIGER)

Usa le lezioni per la LIM su ActivInspire

SCARICO DATI ONETOUCH Verio per EuroTouch Home GUIDA ALL USO

AXWIN6 QUICK INSTALL v.3.0

SPSS Statistics per Windows - Istruzioni di installazione per (Licenza per utenti singoli)

1. Piattaforma esercizi Dati anagrafici Tipologia Attività Dati input Riepilogo Giochi...

PROCEDURA DI RILEVAZIONE E CARICO DELL INVENTARIO DI FARMACIA

SendMedMalattia v Manuale d uso

SafePlace Manuale utente

Sequenza di finestre per lavorare con i punti di ripristino. e.g.

Database 1 biblioteca universitaria. Testo del quesito

CAPITOLO 1 PREREQUISITI DI INSTALLAZIONE SOFTWARE RICAMBI CAPITOLO 2 PROCEDURA

SOSEBI PAPERMAP2 MODULO WEB MANUALE DELL UTENTE

ELENCO CLIENTI FORNITORI Patch1

FPf per Windows 3.1. Guida all uso

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

Trasformazione DB Access In SQL Server. Michele De Nittis

Транскрипт:

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 2008 Per utilizzare SQL SERVER 2008 (Express Edition) ci sono due possibilità 1) scaricarlo dalla rete ed installarlo, secondo le istruzioni riportate in INSTALLAZIONE SQL SERVER 2008 ; funziona con tutti i sistemi operativi Microsoft (si consiglia di seguire questa strada) 2) usare la macchina virtuale secondo le istruzioni riportate in MACCHINA VIRTUALE CON SQL SERVER 2008 ; SQL SERVER 2008 INSTALLAZIONE SQL SERVER 2008 oppure in alternativa MACCHINA VIRTUALE CON SQL SERVER 2008 UTILIZZO SQL SERVER 2008 GERARCHIE RICORSIVE :TABELLA DI NAVIGAZIONE 1

SQL SERVER 2008 INSTALLAZIONE SQL SERVER 2008 oppure in alternativa MACCHINA VIRTUALE CON SQL SERVER 2008 2

1) download dell installazione INSTALLAZIONE SQL SERVER 2008 Dal sito Microsoft http://www.microsoft.com/express/database/installoptions.aspx scaricare l installazione relativa all opzione (terza colonna) Database with Management Tools 3

2) Installazione: selezionare New Installation. Come in figura 4

3) Installazione: selezionare Default Instance. Come in figura 5

4) Installazione: lasciare le configurazioni di default Come in figura 6

5) Installazione: Selezionare WINDOWS AUTHENTICATION MODE Come in figura Verificare che ci sia l utente corrente nel riquadro Specify SQL Server Administrator 7

6) Fine Installazione (Close) 8

MACCHINA VIRTUALE CON SQL SERVER 2008 Si utilizza Virtual BOX A) Scaricare ed installare VIRTUAL BOX http://www.virtualbox.org/wiki/downloads B) Contattare il docente per avere la macchina virtuale : XPTest_onlyXP.vdi C) Attivare la macchina virtuale : XPTest_onlyXP.vdi Nel seguito le indicazioni per attivare la macchina virtuale 9

Aprire Virtual Box quindi ciccare NUOVA 10

11

Inserire Nome, ad esempio SIA 12

Assegnare Memoria 13

Selezionare USA DISCO FISSO ESISTENTE quindi cliccare sulla freccia verde 14

cliccare su aggiungi 15

selezionare il file XPTest_onlyXP.vdi 16

quindi Seleziona 17

quindi avanti 18

Quindi fine 19

La macchina virtuale è stata creata 20

Selezionare IMPOSTAZIONI 21

Selezionare SISTEMA 22

ABILITARE IO APIC 23

ORA LA MACCHINA VIRTUALE E PRONTA PER ESSERE AVVIATA 24

25

UTILIZZO SQL SERVER 2008 Per aprire SQL SERVER : SQL SERVER Management Studio Quindi connettersi al server 26

Si ottiene Per creare un nuovo DB oppure fare il restore di uno esistente 27

E POSSIBILE FARE IL RESTORE DI UN DATABASE SQL SERVER 2000: 1) Inserire il nome del DB in TO DATABASE 2) Selezionare il file di Backup in FROM DEVICE 3) Accertarsi di aver selezionato il DB da ripristinare nella finestra centrale 28

Se non si vede il vostro backup (questo avviene quando il file non ha estensione.bak) selezionare ALL FILE e quindi il backup 29

Il restore di un DB fatto con SQL SERVER 2000 non crea automaticamente i diagrammi. I diagrammi non sono indispensabili. Nelle prossime due pagine vengono date istruzioni su come creare i diagrammi. SE NELLA CREAZIONE DEL DIAGRAMMA VIENE QUESTO ERRORE CON NEW QUERY QUI è POSSIBILE SCRIVERE QUERY SQL Scrivere ed eseguire ALTER AUTHORIZATION ON DATABASE::RITARDI TO [DB-PC\DB] Sostituendo a [DB-PC\DB] il vostro nome utente (usare le []); E quello che si vede al punto 5) dell installazione, nel riquadro Specify SQL Server Administrator 30

Altro esempio (su un altro PC): si noti che il nome dell utente specificato in TO è anche disponibile come Login name nel riquadro laterale destro. Quindi creare il Diagramma 31

GERARCHIE RICORSIVE : TABELLA DI NAVIGAZIONE DISPENSE http://dbgroup.unimo.it/sia/gerarchiericorsive/ L obiettivo è quello di realizzare la tabella di navigazione tramite una query ricorsiva utilizzando SQL SERVER 2008 PASSO 1) DB operazionale in SQL SERVER 2000 PASSO 2) DB operazionale in SQL SERVER 2008 PASSO 3) Creazione della TABELLA DI NAVIGAZIONE IN SQL SERVER 2008 PASSO 4) RIPORTARE IL CONTENUTO DELLA TABELLA DI NAVIGAZIONE NEL DATAMART 32

PASSO 1) DB operazionale in SQL SERVER 2000 DB operazionale (PAG 21 delle dispense) E un DB SQL SERVER 2000 il cui BackUp è disponibile in http://dbgroup.unimo.it/sia/gerarchiericorsive/esempioricorsione2010 http://dbgroup.unimo.it/sia/gerarchiericorsive/esempioricorsione2010.zip http://dbgroup.unimo.it/sia/gerarchiericorsive/esempioricorsione2010.bak Aprirlo con SQL SERVER 2000 e verificarne il contenuto 33

PASSO 2) DB operazionale in SQL SERVER 2008 Effettuare il restore in SQL SERVER 2008 Non è necessario creare il diagramma in quanto già disponibile in SQL SERVER 2000. Visualizzare il contenuto delle table tramite SELECT TOP 1000 ROWS (la query viene scritta automaticamente dal sistema) 34

PASSO 3) Creazione della TABELLA DI NAVIGAZIONE IN SQL SERVER 2008 Si eseguono tutti i passaggi descritti a pag 18 delle dispense (Calcolo della Tabella di Navigazione:SQL-99) Dopo aver aperto un nuovo riquadro per le query (NUOVA QUERY : ATTENZIONE selezionare il database giusto!) Eseguo WITH CAPO (NOME, NOMECAPO,LIVELLO) AS ( SELECT NOME, NOMECAPO, 1 AS LIVELLO FROM IMPIEGATO UNION SELECT CAPO.NOME, IMPIEGATO.NOMECAPO, LIVELLO + 1 FROM CAPO, IMPIEGATO WHERE CAPO.NOMECAPO = IMPIEGATO.NOME ) SELECT * FROM CAPO; Msg 252, Level 16, State 1, Line 1 Recursive common table expression 'CAPO' does not contain a top-level UNION ALL operator. INFATTI La precedente interrogazione può essere eseguita in SQL-SERVER 2005 con la seguente variazione sintattica : Sostituire UNION con UNION ALL WITH CAPO (NOME, NOMECAPO,LIVELLO) AS ( SELECT NOME, NOMECAPO, 1 AS LIVELLO FROM IMPIEGATO UNION ALL SELECT CAPO.NOME, IMPIEGATO.NOMECAPO, LIVELLO + 1 FROM CAPO, IMPIEGATO WHERE CAPO.NOMECAPO = IMPIEGATO.NOME ) SELECT * FROM CAPO; 35

36

1)Riportare la query nella vista CAPO_V1 CREATE VIEW CAPO_V1 AS WITH CAPO (NOME, NOMECAPO,LIVELLO) AS ( SELECT NOME, NOMECAPO, 1 AS LIVELLO FROM IMPIEGATO UNION ALL SELECT CAPO.NOME, IMPIEGATO.NOMECAPO, LIVELLO + 1 FROM CAPO, IMPIEGATO WHERE CAPO.NOMECAPO = IMPIEGATO.NOME ) SELECT * FROM CAPO; 37

2)L interrogazione ricorsiva restituisce anche tutte le tuple di IMPIEGATO, quindi anche le tuple che hanno NULL come NOMECAPO: queste tuple non devono comparire nella tabella di navigazione e quindi vengono eliminate CREATE VIEW CAPO_V2 AS SELECT * FROM CAPO_V1 WHERE NOMECAPO is not null 38

3)Per definizione l interrogazione ricorsiva restituisce la sola chiusura transitiva di IMPIEGATO: per aggiungere anche la chiusura riflessiva di IMPIEGATO, con un livello pari a 0, si effettua una UNION CREATE VIEW CAPO_V3 AS SELECT * FROM CAPO_V2 UNION SELECT CAPO AS CAPO,CAPO AS NOMECAPO, 0 AS LIVELLO FROM IMPIEGATO L errore è nella seconda parte della UNION,nella chiusura riflessiva che si deve ottenere come 39

Quindi CREATE VIEW CAPO_V3 AS SELECT * FROM CAPO_V2 UNION SELECT NOME, NOME AS NOMECAPO, 0 AS LIVELLO FROM IMPIEGATO 40

4)Per avere corrispondenza con la tabella di Navigazione occorre effettuare la seguente rinomina dei campi: NOME come FIGLIO e NOMECAPO come PADRE CREATE VIEW CAPO_V4 AS SELECT NOMECAPO AS PADRE, NOME AS FIGLIO, LIVELLO FROM CAPO_V3 41

5)Ultima cosa è l aggiunta della colonna Foglia: è facile verificare che FIGLIO FOGLIA (infatti FOGLIA è true se il FIGLIO non è a sua volta PADRE, ovvero se non compare nella colonna PADRE). Per semplicità effettuiamo il calcolo del valore FOGLIA tramite una nuova vista CREATE VIEW FOGLIA(FIGLIO,FOGLIA) AS SELECT FIGLIO, 'TRUE' AS FOGLIA FROM CAPO_V4 WHERE FIGLIO NOT IN (SELECT PADRE FROM CAPO_V4) UNION SELECT FIGLIO, FALSE' AS FOGLIA FROM CAPO_V4 WHERE FIGLIO IN (SELECT PADRE FROM CAPO_V4) 42

6)La tabella di navigazione si ottiene con un semplice join tra CAPO_V4 e FOGLIA. Essendo un join, per comodità creiamo questa vista tramite interfaccia grafica 43

IL join deve essere fatto tra FIGLIO e FOGLIA 44

Si esegue per verificare il contenuto della vista e quindi si salva la vista chiamandola TABELLA_DI_NAVIGAZIONE 45

PASSO 4) RIPORTARE IL CONTENUTO DELLA TABELLA DI NAVIGAZIONE NEL DATAMART IL DATAMART è UN DB GESTITO IN SQL SERVER 2000: SI DEVE QUINDI FARE UN TRASFERIMENTO DI DATI DA SQL SERVER 2008 A SQL SERVER 2000 Il modo più semplice è usare gli script IN SQL SERVER 2008 il contenuto della vista TABELLA_DI_NAVIGAZIONE viene riportato in una tabella che chiameremo TABLE_TABELLA_DI_NAVIGAZIONE A) Si crea la tabella con il seguente create table: si noti che a destra vedo le colonne della vista TABELLA_DI_NAVIGAZIONE in modo da usare nella create table la stessa tipologia di dati 46

B) Inserisco e verifico Generazione script per TABLE_TABELLA_DI_NAVIGAZIONE Seleziono Generate Script 47

48

49

IMPORTANTE : SELEZIONARE SCRIPT DATA = TRUE 50

51

52

53

54

55

Con CLOSE viene quindi aperta una nuova finestra di query con all interno lo script 56

Salvare questo script (dal menu File o usando l icona) 57

Ora occorre eseguire lo script nel datamart di SQL SERVER 2000 Si apre SQL QUERY ANALIZER Si apre quindi il file di script 58

SI ottiene 59

IMPORTANTE : SI CANCELLA LA PRIMA RIGA CON E si esegue lo script USE EsempioRicorsione quindi si verifica la creazione della tabella 60

61