1. Introduzione
In un precedente articolo abbiamo visto l’introduzione a
Visual Studio 2005 Team System(http://www.dotnethell.it/articles/Visual-Studio-2005-Team-System.aspx) con le versioni per Architetto, Sviluppatore e Tester.
In questo articolo parleremo di una nuova versione di
Visual Studio 2005 Team System che è quella per la gestione del
Database che effettivamente è un'area che mancava e che è stata sviluppata in un secondo momento infatti la RTM (Release to Manufacture) è stata rilasciata il 14 novembre 2006. Questa versione viene rilasciata gratuitamente ai possessori del pacchetto
Visual Studio Team System Suite.
Se volete provare questo prodotto potete scaricare una trial a questo indirizzo:
Visual Studio 2005 Team System for Database Professionals Download Visual Studio 2005 Team System for Database Professional (chiamato per brevità
VSTSDP) permette di creare e gestire un database di SQL Server 2000/2005 all'interno di Visual Studio 2005, avendo la possibilità di inserire sotto Source Safe o il nuovo Source Control di Team Foundation Server i file SQL.
Attraverso questo prodotto possiamo monitorare tutte le modifiche fatte al database o alle stored procedure e avere a disposizione diversi strumenti davvero utili. Andiamo a scoprire come si usa questo nuovo prodotto.
2. Configurazione
Una volta che si istalla VSTSDP sotto le opzioni di Visual Studio 2005 si inserisce un nuovo nodo chiamato
Database Tools.
Per visualizzarlo
Tools-->Options e cliccare su
Database Tools.
Importanti su questo menu sono due voci il
Data Connection che è il l'istanza di SQL Server 2005 a cui si ci connette per i database ed è possibile inoltre collegarsi anche a SQL Server 2005 Express come nel mio caso:
L'altra voce importante è
Design-time Validation Database che è l'istanza che viene usata per il salvataggio e validazione del database in fase di progettazione in Visual Studio 2005. Questo perché durante l'attività di progettazione viene creato un database ad hoc temporaneo dove vengono salvati tutti gli oggetti.
3.Primo progetto
Per creare il nostro primo progetto dobbiamo fare
File --> New Project --> Database Projects-->Microsoft Sql Server:
Come potete vedere anche dall'immagine si possono selezionare 4 tipologie di progetto Sql Server 2000/2005 e Sql Server 2000/2005 Wizard.
In questo caso selezioniamo
SQL Server 2005 Wizard e gli diamo come nome
DemoDNHAlla prima schermata clicchiamo su Next.
Poi ci troveremo la seguente schermata:
che ci chiede come vogliamo organizzare il progetto se per
Object Type o per
Schema. Come molti di voi ormai sapranno, in SQL 2005 sono stati introdotti gli schemi che non sono altro che collezioni di entità del database, di fatto una specie di namespace (utilizzando un termine preso a prestito dal mondo della programmazione OOP).
Proprio per questo scegliamo di organizzare il progetto per schema e lasciamo quello di default
dbo. Premiamo ancora Next e ci viene visualizzata la schermata degli Opzioni:
dove possiamo impostare le varie opzioni del database dall'
ANSI Paddings alla collation(ricordatevi che queste opzioni possono essere sempre modificate ma è buona cosa impostarle già subito nei vari step dello Wizard).
Clicchiamo due volte su next tralasciando la schermata per importare un schema esistente e ci troveremo di fronte alla seguente schermata:
In quest'ultima schermata vengono impostate le opzioni per il build e il deploy del database in particolare, si deve impostare la cartella dove vengono salvati i file SQL, il nome del database per il deploy, e se ad ogni deploy si deve ricreare il database.
Cliccare su finish per creare il progetto.
Nel
Solution Explorerci troveremo 3 cartelle:
• Data Generation Plans(ne parleremo più avanti)• Schema Objects: in cui sono presenti tutti gli oggetti dello schema del database• Script dove sono presenti gli script per il pre e post deploymentPer utilizzare tutte le funzionalità di
VSTSDP bisogna usare lo
Schema View (se non viene visualizzato in automatico cliccare sul menu
View -->Schema View) che rappresenta tutti gli oggetti dello schema).
Esempio in una tabella è possibile aggiungere solo i seguenti oggetti rappresentati nella figura
4. Refactor
Uno strumento molto utile all’interno di
VSTSDP è il
Refactorovvero la possibilità di rinominare gli oggetti; in automatico questa modifica si ripercuote per tutto lo schema.
Esempio se vogliamo rinominare una colonna di una tabella, il nome della colonna in automatico viene modificato nelle stored procedure, user fuction, viste ecc.
Per utilizzare il refactor dallo schema view, fare clic con il tasto destro su il nome della colonna
Refactor --> RenameComparirà la seguente immagine dove si deve inserire il nuovo nome:
E' possibile fare generare anche un
log per mantenere traccia delle modifiche.
5. Compare Schema e Dati
Una funzione molto utile è lo
Schema Compare ovvero la possibilità di confrontare due schemi. Prima si poteva fare questa operazione solo tramite dei prodotti a pagamento o free di terze parti. Tramite questa feature
VSTSDP controlla tutti gli oggetti dei due schemi e come risultato fornisce un delta ossia che cosa c'è di diverso fra i due.
Per creare un
Compare Schema, dal menu
Data --> Schema Compare --> New Schema Comparison .
Bisogna selezionare lo schema sorgente (che di default è lo schema del progetto su cui state lavorando) e quello di destinazione
L'immagine seguente mostra in dettaglio cosa viene creato:
Per ogni oggetto vengono visualizzati sia la modifica che sarà effettuata sia lo script di aggiornamento. Si può decidere di apportare direttamente le modifiche, oppure di esportare in un file lo script di update.
Così come a livello di struttura di database è possibile fare una comparazione anche a livello di dati che confronta le differenze tra i due database, questa funzione è molto utile per sincronizzare i dati tra database di test e sviluppo e di produzione.
6. Data Generation Plan
Un'ultima funzione molto utile è il
Data Generation Plan, ovvero la possibilità di far generare dei dati casuali in base allo schema generato. Questo è molto utile per effettuare test.
Per creare un
Data Generation Plan dal Solution Explorer cliccare con il tasto destro su
Data Generation Plan --> Add --> Data Generation Plan e viene creato un nuovo piano di generazione.
Un' esempio e quello di questa immagine:
Tramite
Rows To Insert possiamo selezionare il numero di righe che verranno inserite, e nel dettaglio delle colonne che tipo di dati devono essere inseriti.
Tramite il tasto preview:
è possibile visualizzare i dati (casuali) che verranno inseriti.
Infine tramite il tasto
Generatesi può procedere all'inserimento effettivo dei dati.
Conclusioni
Visual Studio 2005 Team System Database Professional è un ottimo prodotto per la gestione delle basi dati con delle funzionalità mirate a gestire il database nelle varie fasi di progettazione, sviluppo e deployment. La possibilità di inserire i file SQL sotto un gestore del codice sorgente ci permette di non avere troppe difficoltà nelle modifiche degli stessi come poteva avvenire in passato. Inoltre il set completo delle features offerte dal prodotto lo rende estremamente potente.