Vue d'ensemble de l'architecture de Database Edition
Mise à jour : novembre 2007
Visual Studio Team System Database Edition offre un grand nombre des mêmes outils, fonctionnalités et fonctions aux développeurs de base de données que ceux proposés par Visual Studio Team System à d'autres membres d'une équipe de développement d'applications. Par exemple, vous pouvez utiliser le même système de contrôle de version et d'autres outils de cycle de vie pour votre base de données que les développeurs de logiciels utilisent pour leur code source. Dans la mesure où l'architecture de Database Edition est intégrée très étroitement à Visual Studio Team System, vous pouvez gérer plus facilement le processus de développement de bases de données tout en améliorant la coordination avec ceux qui développent d'autres aspects de l'application.
Pour plus d'informations sur les fonctions de Database Edition, consultez Gestion des modifications de la base de données.
Intégration Visual Studio
Non seulement l'architecture principale de Team Edition for Database Professionals est intégrée au reste de Visual Studio Team System, mais l'interface est également cohérente entre les composants. Vous utilisez des projets de base de données pratiquement de la même façon que vous utilisez d'autres types de projets dans Visual Studio. Les modèles spécifiques à la base de données apparaissent dans les boîtes de dialogue Nouveau projet et Ajouter un élément de projet. De plus, vous pouvez exécuter des actions (telles que la génération et le déploiement) et configurer des paramètres (par exemple, la connexion à la base de données cible et le classement de la base de données) qui sont conçus spécifiquement pour le développement de bases de données.
Les projets de base de données apparaissent dans l'Explorateur de solutions en tant que pairs de types de projets existants. Vous pouvez placer ces projets sous contrôle de version, ajouter et supprimer des éléments de projet et les générer avec MSBuild.
Composition architecturale
Database Edition inclut les zones architecturales suivantes :
Projet de base de données
Base de données de validation au moment du design
Infrastructure du cycle de vie de la base de données
Chaque projet de base de données est une représentation hors connexion d'une base de données et existe dans la structure d'une solution Visual Studio. Vous devez générer et déployer les modifications apportées à un projet de base de données pour qu'elles soient répercutées sur une instance active de Microsoft SQL Server 2000 ou Microsoft SQL Server 2005.
La base de données de conception est une instance locale de SQL Server qui est utilisée pour exécuter la validation au moment du design de votre projet de base de données.
Infrastructure du cycle de vie de la base de données
L'infrastructure du cycle de vie de la base de données fournit divers services entre le projet de base de données et la base de données de conception. Cette infrastructure inclut des fonctionnalités fondamentales qui sont requises pour tout projet de base de données. Ces fonctionnalités sont collectivement connues sous le nom de fondation du projet de base de données. Les fonctionnalités basées sur cette fondation sont connues sous le nom de fonctionnalités du projet de base de données.
Fondation du projet de base de données
La fondation du projet de base de données inclut les fonctions principales suivantes :
Analyse des projets et éléments des projets
La fondation analyse les projets de base de données et éléments des projets de base de données, tels que les tables, vues et procédures stockées. Lors de cette opération, elle extrait les informations sur les objets de base de données à partir des fichiers de script qui composent le projet de base de données. Par exemple, cette fonction s'applique lorsque vous importez des objets de base de données à partir des scripts de base de données existants. Les projets de base de données sont composés de collections de scripts Transact-SQL (T-SQL). Le système de projet de base de données interprète ces scripts afin que vous puissiez interagir avec eux comme objets de schéma logique.Importer un schéma de base de données
La fonction Importer un schéma de base de données vous permet d'ajouter une base de données existante à Database Edition et de la placer sous contrôle de version. Même dans un environnement où la base de données est gérée sous contrôle de version, les modifications peuvent toujours se produire sur un serveur de base de données actif que vous devez replacer dans votre projet de base de données. Vous pouvez utiliser la comparaison de schémas pour importer des modifications à partir d'un serveur de base de données dans un projet de base de données qui est en cours de développement.Suivi de dépendances entre des objets de base de données
Le système de projet de base de données effectue automatiquement le suivi des dépendances entre des objets de base de données. En effectuant le suivi des dépendances entre des objets, vous garantissez que les objets corrects sont générés et déployés. Si vous introduisez une modification avec rupture dans votre produit, vous découvrez qu'il s'agit d'une modification avec rupture lorsque vous enregistrez la modification pour la première fois. En général, vous découvrez des modifications avec rupture lorsque vous essayez de générer, de déployer ou d'exécuter un test unitaire de base de données. La refactorisation de base de données utilise ces dépendances pour identifier les modifications requises et la génération de données peut vous indiquer les relations de dépendance dans le cadre de votre plan de génération de données.Refactorisation de base de données
La refactorisation de base de données identifie les dépendances entre des objets de base de données et utilise ces informations pour propager correctement les modifications dans la base de données et les projets de test unitaire.Création de scripts de compilation pour les déploiements nouveaux et existants
Les scripts de compilation sont utilisés pour créer une base de données ou mettre à jour une base de données existante afin de correspondre au schéma dans le projet de base de données. Ils sont composés de scripts de prédéploiement, de scripts de création d'objets de base de données et de scripts de post-déploiement. Si vous effectuez le déploiement vers une base de données existante, au moment de la génération, le projet de base de données est comparé au schéma actuel de la base de données cible. Un script de mise à jour est généré pour mettre à jour la base de données cible à l'aide d'une combinaison d'instructions ALTER, CREATE et DROP.Validation de générations
Cette fonction comprend la validation des étapes de génération pour les scripts de prédéploiement, scripts qui créent ou mettent à jour des objets de base de données et scripts de post-déploiement, ainsi que l'action de vous rapporter ces résultats.
Fonctionnalités de projet de base de données
Outre les services principaux qui sont fournis pour les projets de base de données, d'autres fonctionnalités sont générées sur la fondation du projet de base de données. Ces fonctionnalités sont les suivantes :
Comparaison de schémas de base de données
Fournit la possibilité de comparer deux schémas de base de données, que ceux-ci soient présents dans une version actuelle d'un projet de base de données, une version antérieure d'un projet de base de données qui est stockée sous contrôle de version, ou sur une ou plusieurs bases de données actives. Vous pouvez également générer les scripts nécessaires pour que la base de données cible corresponde à la base de données source.Comparaison de données de base de données
Fournit la possibilité de comparer les données dans deux bases de données si vous disposez de bases de données actives avec des schémas correspondants. Vous pouvez également générer les scripts nécessaires pour que la base de données cible corresponde à la base de données source.Test unitaire de base de données
Génère automatiquement des tests unitaires pour une procédure stockée ou une fonction et prend en charge la création manuelle des tests unitaires qui comprennent tout Transact-SQL valide. En utilisant ce service, vous pouvez vérifier que les modifications introduites ailleurs n'arrêtent pas votre travail. Dans le cadre d'un test unitaire, vous pouvez générer et déployer automatiquement votre base de données et générer des données de test reproductibles pour établir un état initial cohérent. Ce service inclut également une API publique que vous pouvez utiliser pour écrire des assertions personnalisées afin d'ajouter une logique de validation réutilisable pour vos tests unitaires.Génération de données
Fournit la possibilité de remplir une base de données avec des données de test réalistes qui ne sont pas juste une copie de données de production, qui peuvent contenir des informations confidentielles. Vous pouvez aussi créer des générateurs de données personnalisés. Ce service inclut également une API publique pour l'écriture de générateurs de données personnalisés à utiliser avec des types de données CLR, des types définis par l'utilisateur et des types de données définis par l'utilisateur, ou pour utiliser des algorithmes de génération de données personnalisés pour les types intégrés.Création et exécution de scripts de base de données
Fournit un éditeur Transact-SQL dans lequel vous pouvez créer, analyser et exécuter des scripts de base de données semblables à la façon d'utiliser l'analyseur de requêtes ou SQL Server Management Studio. Il s'agit du même éditeur que vous utilisez pour modifier vos scripts dans le projet de base de données. Dans la mesure où il s'agit du même éditeur, il fournit une interface utilisateur cohérente que vous utilisiez un projet de base de données hors connexion ou exécutiez directement des scripts sur un serveur de base de données actif.
Prise en charge de la ligne de commande
Certaines des activités que vous exécutez régulièrement doivent pouvoir être exécutées dans le cadre d'un processus automatisé. Pour prendre en charge ce scénario, vous pouvez générer votre projet de base de données, le déployer et exécuter des tests unitaires à partir de la ligne de commande, qui peuvent inclure la génération de données de test représentatives et prévisibles.
Voir aussi
Concepts
Gestion des modifications de la base de données
Extensibilité dans Database Edition
Vue d'ensemble de la terminologie de Database Edition
Comment faire dans Database Edition
Vue d'ensemble de la terminologie de Database Edition