Condividi tramite


Gestione delle modifiche al database

Tra le responsabilità previste nello sviluppo e nella gestione di database a livello aziendale è incluso il coordinamento di pianificazioni e modifiche con team di sviluppo software per creare applicazioni di database unificate. È possibile ridurre sensibilmente l'impegno necessario per questa operazione di coordinamento adottando strumenti e processi simili a quelli utilizzati dagli sviluppatori di software dell'azienda.

Con l'utilizzo sempre più diffuso da parte di molti team di paradigmi più iterativi e a sviluppo rapido per la scrittura di codice, ad esempio la metodologia Agile, gli sviluppatori di software e database hanno un'esigenza crescente di strumenti come il controllo delle versioni. Questi strumenti possono ridurre i rischi associati allo sviluppo basato su team. Utilizzando strumenti e processi analoghi, è possibile ottenere vantaggi significativi non solo per i database gestiti, ma anche per i punti di integrazione tra i database e il software che interagisce con essi.

Vantaggi di Visual Studio

Visual Studio consente di coordinarsi con gli sviluppatori software, incoraggiando i membri del team a sviluppare una visione e un'attenzione globale sul comportamento dell'applicazione, anziché sui dettagli di implementazione. Questo approccio diverge dal modello in cui il database di produzione (e i relativi dati) viene visualizzato come centro dell'universo dell'applicazione. Visual Studio offe un set di soluzioni concepite per l'intera applicazione, costituita da dati e logica. Per compilare un'applicazione che garantisca prestazioni efficienti, gestione semplice e distribuzione rapida, le società che si occupano di sviluppo a livello aziendale devono adottare questa visione inclusiva dell'applicazione.

Visual Studio offre funzionalità rivolte agli sviluppatori e amministratori di database. Visual Studio supporta, ad esempio, il concetto di ambiente di sviluppo isolato per ogni professionista di database. I membri del team possono lavorare su attività relative allo schema senza causare problemi agli altri membri o all'ambiente di produzione. La visione a lungo termine aggiunge funzionalità al ruolo di progettista di database e amplia le funzionalità per gli amministratori di database.

Obiettivi di alto livello

Le funzionalità di database di Visual Studio hanno i seguenti obiettivi di alto livello:

  • Fornire elementi fondamentali basati sulla gestione integrata delle modifiche per le applicazioni di database.

  • Offrire strumenti che favoriscano la gestione dei progetti di database.

  • Offrire strumenti che favoriscano la comprensione delle differenze.

  • Offrire strumenti che favoriscano l'esecuzione delle modifiche e la valutazione dei relativi effetti.

  • Offrire strumenti che favoriscano l'utilizzo di un ambiente di sviluppo isolato allo scopo di ridurre i rischi associati alle modifiche.

  • Offrire strumenti che favoriscano il test di soluzioni aggiornate.

  • Offrire strumenti che semplificano lo sviluppo di modifica a un database.

  • Offrire strumenti che semplificano lo sviluppo in collaborazione di database complessi.

Attività di alto livello

A sostegno di questi obiettivi, Visual Studio consente di eseguire le seguenti attività di alto livello:

  • Creare e distribuire un nuovo database sottoposto al controllo delle versioni.

  • Sottoporre uno schema di database esistente al controllo delle versioni tramite il progetto di database. Lo schema del progetto di database viene creato importando lo schema da un database o da script esistenti.

  • Modificare una rappresentazione offline di un database e distribuire le modifiche.

  • Confrontare schemi o dati tra database.

  • Sviluppare ed eseguire unit test su oggetti di database.

  • Generare dati di test prevedibili e rappresentativi senza compromettere dati di produzione riservati.

  • Rinominare tabelle, colonne, visualizzazioni o altri oggetti di database e propagare le modifiche al resto del progetto di database, che include unit test associati, visualizzazioni, stored procedure, trigger e così via.

  • Creare, modificare, convalidare, eseguire e analizzare script e query.

Ciclo di vita dello sviluppo del database

Visual Studio supporta un processo coordinato con i nuovi strumenti. Questo processo può essere descritto come il ciclo di vita dello sviluppo del database, che offre a ogni professionista di database un ambiente di sviluppo isolato in cui lavorare ed eseguire test delle modifiche. Dopo il test delle modifiche, i membri del team condividono le modifiche tramite il sistema di controllo delle versioni. Il ciclo di vita dello sviluppo del database prevede le fasi seguenti:

  • Definire l'ambiente del progetto

  • Eseguire uno sviluppo isolato e iterativo

  • Compilare il progetto

  • Eseguire la distribuzione dall'ambiente del progetto

Definire l'ambiente del progetto

Nella figura riportata di seguito viene illustrata la modalità in cui il membro del team che ricopre il ruolo di amministratore del database (DBA) definisce l'ambiente del progetto:

Il DAB definisce l'ambiente del progetto di database

L'amministratore del database crea innanzitutto un progetto di database e importa lo schema di database dal database di produzione. In seguito, crea un piano di generazione dati per produrre dati di test per gli ambienti di sviluppo isolati. Archivia, infine, il progetto di database nel controllo delle versioni, rendendolo così disponibile per il team.

Eseguire uno sviluppo isolato e iterativo

Nel diagramma riportato di seguito viene illustrata la modalità in cui i membri del team eseguono un processo di sviluppo iterativo in un ambiente isolato:

Sviluppo iterativo in un ambiente isolato

Ogni professionista di database sincronizza il proprio ambiente di sviluppo al controllo delle versioni. Questa operazione consente di estrarre i file modificati e quindi sviluppare ed eseguire il test delle modifiche in modalità isolata. Le modifiche apportate a ogni copia del progetto di database vengono distribuite solo nell'ambiente di sviluppo isolato relativo. Dopo la generazione di dati di test realistici e l'esecuzione di unit test su una copia privata del database, il membro del team archivia le modifiche nel controllo delle versioni. Gli altri membri del team ottengono le modifiche sottoposte a test dal controllo delle versioni.

Eseguire compilazioni giornaliere del progetto

Nella figura riportata di seguito viene illustrato il funzionamento del ciclo di compilazione dei progetti di database:

Ciclo di compilazione per i progetti di database

La compilazione giornaliera viene eseguita sincronizzando la versione sottoposta a test più recente del progetto di database nel sistema di controllo delle versioni. Tale compilazione può essere distribuita a un database di test in cui gli unit test vengono eseguiti su dati di test generati.

Distribuzione dall'ambiente del progetto

Nel diagramma riportato di seguito viene illustrata la modalità in cui l'amministratore del database può distribuire una versione del progetto di database nel server di produzione:

Il DBA compila e distribuisce in produzione

Al momento di distribuire una versione del database nel server di produzione, l'amministratore del database esegue la sincronizzazione su un'etichetta dal sistema di controllo delle versioni. Recupera quindi i file corrispondenti per il progetto di database, gli script correlati e i test. A questo punto, DBA compila il file .dbschema. A partire dal file dbschema, DBA genera lo script di distribuzione, apporta le modifiche manuali necessarie ed effettua una distribuzione di prova nel server di gestione temporanea. L'amministratore del database ripete questo processo finché lo script è pronto per essere distribuito nel server di produzione. Se l'amministratore del database apporta modifiche allo schema o agli script pre-distribuzione o di post-distribuzione, tali modifiche verranno archiviate nuovamente nel controllo delle versioni.

Vedere anche

Concetti

Cenni preliminari sull'architettura delle funzionalità di database di Visual Studio

Avvio dello sviluppo in team di database