Vue d'ensemble des projets de base de données
Mise à jour : novembre 2007
Un projet de base de données est la représentation hors connexion d'un schéma de base de données. Cette représentation contient les définitions d'objets et scripts de déploiement nécessaires à la création d'une instance séparée de cette base de données ou à la mise à jour d'une instance existante. En créant un projet de base de données, vous pouvez placer votre base de données sous contrôle de version.
Vous pouvez effectuer les tâches suivantes avec les projets de base de données :
Créer et déployer une base de données.
Placer votre base de données sous contrôle de version.
Créer un projet de base de données en important les objets à partir d'une base de données déployée existante.
Comparer votre projet de base de données à une base de données déployée.
Importer les modifications apportées à une base de données déployée afin que le projet de base de données corresponde à nouveau à la base de données déployée.
Ajouter, modifier et supprimer des objets de base de données et des scripts.
Créer un ou plusieurs plans de génération de données pour remplir votre base de données avec des données de test.
Importation des schémas de base de données
Vous pouvez importer un schéma de base de données à partir d'une instance de base de données ou d'un script. Lorsque vous importez un schéma de base de données, il est validé. Les instructions qui ne sont pas comprises sont placées dans le fichier ScriptsIgnoredOnImport.sql. Si vous importez des définitions d'objets qui référencent des objets qui n'existent plus, vous devez résoudre ces erreurs avant de pouvoir générer et déployer le projet de base de données. Vous pouvez résoudre les erreurs en supprimant l'objet. Par exemple, si vous avez importé une procédure stockée qui faisait référence à une table qui n'existait plus, il vous suffit de supprimer cette procédure stockée.
Le processus de nettoyage initial peut prendre du temps lorsque vous importez un schéma de base de données volumineux. Toutefois, après avoir éliminé les erreurs, Visual Studio Team System Database Edition s'assure que de nouvelles erreurs ne sont pas introduites. Toutes les modifications sont validées lorsque vous enregistrez la définition d'objet que vous avez modifiée.
Structure du projet de base de données
Un projet de base de données se compose d'un fichier .dbproj et contient trois sous-dossiers par défaut qui sont nommés Plans de génération de données, Objets de schéma et Scripts. Chaque sous-dossier est décrit plus en détail ultérieurement dans cette rubrique. L'Explorateur de solutions fournit une vue basée sur les fichiers de votre projet de base de données. Chaque élément qui apparaît dans l'Explorateur de solutions correspond à un fichier ou un dossier sur le disque. En revanche, la vue Schéma fournit une vue basée sur les objets afin que vous puissiez identifier des objets dans votre base de données, qu'ils existent ou non en tant que fichiers séparés.
Dans l'Explorateur de solutions, vous pouvez effectuer des actions sur le projet dans son ensemble ou sur les fichiers individuels. Vous pouvez exécuter les actions suivantes sur un projet de base de données dans l'Explorateur de solutions :
Importer un schéma de base de données
Vous pouvez importer les informations de schéma à partir d'une base de données existante que vous spécifiez.Importer le script
Vous pouvez importer les informations de schéma pour un ou plusieurs objets à partir d'un script qui contient des définitions d'objets.Générer
Vous pouvez générer un script de compilation qui crée une base de données avec le même schéma ou synchronise une base de données existante avec ce schéma. Les propriétés du projet de base de données contrôlent le déploiement aussi bien que les paramètres de la base de données cible.Régénérer
Vous pouvez utiliser cette option pour générer le projet, même si aucune modification n'a été apportée depuis la dernière fois que vous l'avez généré.Déployer
Vous pouvez déployer votre projet de base de données vers une base de données nouvelle ou existante, selon la configuration sélectionnée. Cette action génère également le projet de base de données avant de le déployer s'il n'est pas à jour.Nettoyer
Vous pouvez supprimer tous les scripts de compilation existants qui ont été générés à la suite d'une opération de génération, de régénération ou de déploiement.Ajouter
Vous pouvez ajouter des dossiers et des fichiers d'éléments de projet à votre projet de base de données. Par exemple, vous pouvez ajouter des éléments de projet qui contiennent des définitions d'objets de base de données.Définir comme projet de démarrage
Vous pouvez spécifier que le projet de base de données doit être marqué comme projet de démarrage pour la solution. Si vous avez d'autres projets dans votre solution, l'un d'eux représente probablement un meilleur choix comme projet de démarrage, car les projets de base de données ne contiennent pas d'éléments d'interface utilisateur.Ajouter la solution au contrôle de code source
Vous pouvez placer la solution qui contient votre projet de base de données sous contrôle de version.Couper
Vous pouvez copier le projet vers le Presse-papiers. Cette action marque également le projet afin qu'il soit supprimé de son emplacement actuel dans la solution lorsque vous le collez ailleurs.Supprimer
Vous pouvez supprimer le projet de base de données de la solution actuelle.Renommer
Vous pouvez renommer le projet de base de données. Si le projet est sous contrôle de version, il sera extrait pour terminer cette action.Décharger le projet
Vous pouvez décharger le projet de base de données. Vous pouvez décharger un projet si vous ouvrez une solution volumineuse qui contient plusieurs projets et que vous voulez charger uniquement les projets sur lesquels vous travaillez activement. Après avoir déchargé un projet de base de données, vous pouvez utiliser la commande Recharger le projet pour le recharger.Afficher tous les fichiers
Vous pouvez activer/désactiver ce paramètre pour afficher ou masquer les fichiers que vous avez exclus du projet de base de données.Propriétés
Vous pouvez afficher et personnaliser les propriétés de projet qui contrôlent des aspects de la génération et du déploiement pour le projet de base de données.Actualiser
Vous pouvez actualiser les objets de base de données affichés dans l'Explorateur de solutions. Cela entraîne une nouvelle interprétation du contenu des fichiers qui contiennent les définitions d'objets.
Plans de génération de données
Par défaut, ce sous-dossier contient tous les plans que vous avez créés pour générer des données de test représentatives pour une base de données déployée.
Vous pouvez exécuter les actions suivantes sur le sous-dossier Plans de génération de données :
Ajouter un nouvel élément
Vous pouvez créer un élément de projet, tel qu'un plan de génération de données, et l'ajouter au projet.Ajouter un élément existant
Vous pouvez ajouter un élément qui existe déjà à votre projet de base de données. Une copie de cet élément est effectuée dans le dossier du projet ou un sous-dossier du dossier du projet.Copier
Vous pouvez copier tous les plans de génération de données pour le projet vers le Presse-papiers.
Objets de schéma
Par défaut, ce sous-dossier contient tous les fichiers qui contiennent les définitions des objets de votre projet de base de données, groupés par type d'objet.
Vous pouvez exécuter les actions suivantes sur le sous-dossier Objets de schéma :
Ajouter un nouvel élément
Vous pouvez créer un élément de projet, tel qu'une définition de table, et l'ajouter au projet.Ajouter un élément existant
Vous pouvez ajouter un élément qui existe déjà à votre projet de base de données. Une copie de cet élément est effectuée dans le dossier du projet ou un sous-dossier du dossier du projet.Copier
Vous pouvez copier tous les objets de schéma du projet vers le Presse-papiers.
Les objets de schéma de base de données sont définis dans une collection de fichiers .sql qui sont stockés dans le dossier du projet. La plupart des objets sont définis dans des fichiers séparés. Les exceptions incluent les colonnes d'une table (qui sont spécifiées dans le fichier qui contient la définition de table) et les paramètres d'une procédure stockée ou fonction (qui sont spécifiés dans le fichier qui contient la procédure stockée ou fonction).
La propriété Action de génération d'un fichier .sql indique s'il est analysé pour voir s'il contient la définition d'un objet de base de données. Par défaut, les fichiers qui contiennent des définitions d'objets de base de données ont la valeur Générer, et les autres scripts .sql et fichiers divers ont la valeur Pas dans la génération. La propriété Action de génération détermine également si le fichier est inclus dans le script de compilation.
Le nom de chaque objet détermine son nom de fichier, et le type d'objet détermine son extension de fichier par défaut, comme suit :
Type d'objet de base de données |
Nom |
---|---|
Fonction |
NomObjet.function.sql |
Index |
NomObjet.index.sql |
Procédure stockée |
NomObjet.proc.sql |
Table |
NomObjet.table.sql |
Déclencheur |
NomObjet.trigger.sql |
Vue |
NomObjet.view.sql |
Contrainte de clé primaire |
NomObjet.pkey.sql |
Contrainte de clé étrangère |
NomObjet.fkey.sql |
Contrainte de clé unique |
NomObjet.ukey.sql |
Contrainte de validation |
NomObjet.chkconst.sql |
Contrainte par défaut |
NomObjet.defconst.sql |
Statistique |
NomObjet.statistic.sql |
Si vous définissez un objet dans le fichier .sql dont le type ne correspond pas à celui qui découle du nom de fichier, une erreur apparaît dans la fenêtre Liste d'erreurs. Par exemple, si vous avez ajouté un fichier nommé MaTable.table.sql au projet de base de données, mais défini une vue dans ce fichier, un message d'erreur apparaît dans la fenêtre Liste d'erreurs.
Vous pouvez exécuter les actions suivantes sur les fichiers du sous-dossier Objets de schéma :
Ouvrir
Ouvre le fichier dans l'éditeur approprié, selon le type de fichier. Par exemple, l'éditeur Transact-SQL (T-SQL) s'ouvre pour les fichiers .sql.Ouvrir avec
Ouvre le fichier qui contient la définition d'objet dans un autre éditeur que vous spécifiez.Afficher le code
Ouvre le fichier dans l'éditeur T-SQL.Exclure du projet
Marque le fichier comme exclu du projet. Les fichiers exclus ne font pas partie du script de compilation qui est généré lorsque vous générez ou déployez ensuite le projet de base de données. Vous pouvez exclure un fichier s'il est toujours en cours et que vous voulez déployer le reste de la base de données.Couper
Copie le ou les fichiers sélectionnés vers le Presse-papiers et les supprime du projet de base de données.Afficher l'objet dans la vue Schéma
Ouvre la vue Schéma si elle n'est pas déjà affichée et met en surbrillance l'objet de base de données dont la définition était contenue dans le fichier sélectionné sur lequel vous avez cliqué. Cette option est uniquement disponible pour les fichiers .sql qui contiennent des définitions d'objets valides.Copier
Copie le ou les fichiers sélectionnés vers le Presse-papiers.Renommer
Renomme le fichier. Cette opération n'effectue pas une refactorisation de changement de nom sur le contenu du fichier, mais constitue un simple changement de nom de fichier.Supprimer
Supprime le ou les fichiers sélectionnés du projet de base de données et les supprime du disque. Il vous est ensuite demandé de confirmer la suppression, car elle est définitive.Propriétés
Affiche la fenêtre des propriétés pour le ou les fichiers sur lesquels vous avez cliqué.
Scripts
Par défaut, ce sous-dossier contient des scripts de gestion, de prédéploiement et de post-déploiement pour la base de données. La propriété Action de génération a la valeur Pas dans la génération pour les scripts de gestion et PreDeploy ou PostDeploy pour les scripts de déploiement. Vous ne pouvez avoir qu'un script de prédéploiement et de post-déploiement dans un projet de base de données. Les scripts de prédéploiement et de post-déploiement comprennent souvent des scripts supplémentaires. Les scripts supplémentaires peuvent également faire partie de votre projet de base de données et leur propriété Action de génération a la valeur Pas dans la génération.
Vous pouvez exécuter les actions suivantes sur le sous-dossier Scripts :
Ajouter un nouvel élément
Vous pouvez créer un élément de projet, tel qu'un script de gestion, et l'ajouter au projet.Ajouter un élément existant
Vous pouvez ajouter un élément qui existe déjà à votre projet de base de données. Une copie de cet élément est effectuée dans le dossier du projet ou un sous-dossier du dossier du projet.Copier
Vous pouvez copier tous les scripts du projet vers le Presse-papiers.
Vue Schéma
La vue Schéma représente une autre vue de votre projet de base de données, axée sur les objets de base de données qu'il contient. Ni les plans de génération de données ni les scripts n'ont une entrée correspondante dans la vue Schéma, car aucun de ces types d'éléments ne contient des définitions d'objets de base de données.
Vous pouvez exécuter les actions suivantes sur le nœud du projet dans la vue Schéma.
Importer un schéma de base de données
Vous pouvez importer les informations de schéma à partir d'une base de données existante que vous spécifiez.Importer le script
Vous pouvez importer les informations de schéma pour un ou plusieurs objets à partir d'un script qui contient des définitions d'objets.Comparer les schémas
Vous pouvez comparer les informations de schéma pour le projet de base de données à celles d'une base de données déployée.Ajouter
Vous pouvez ajouter des objets de base de données à votre projet de base de données, y compris des tables, vues, procédures stockées, fonctions inline, fonctions de table, fonctions scalaires, types de données définis par l'utilisateur, groupes de fichiers, rôles d'application de base de données, rôles de base de données et utilisateurs de base de données.Propriétés
Vous pouvez afficher les propriétés de la base de données.
Remarque : |
---|
Vous ne pouvez pas ajouter de clés symétriques, de clés asymétriques ni de certificats comme objets au projet de base de données. Vous devez les créer dans le script de prédéploiement. Si vous importez le schéma à partir d'une base de données qui contient ces objets, le script de prédéploiement contiendra des commentaires d'espace réservé avec les noms des clés et certificats. Vous devez modifier le script de prédéploiement pour créer ces objets. |
Actualiser
Vous pouvez actualiser les objets de base de données affichés dans la vue Schéma. Cela entraîne une nouvelle interprétation du contenu des fichiers qui contiennent les définitions d'objets.Explorateur de solutions
Vous pouvez basculer entre l'Explorateur de solutions et la vue Schéma.Filtrer la vue Schéma
Vous pouvez afficher les objets par type d'objet ou par schéma. Vous devez sélectionner un nœud de projet ou un élément dans un projet de base de données pour changer de mode de groupement.
Objets de schéma
La vue Schéma contient un nœud pour chaque projet de base de données dans l'Explorateur de solutions. Chaque nœud de projet de base de données contient toutes les définitions pour les objets dans votre projet de base de données, groupés par type d'objet ou par schéma.
Vous pouvez exécuter les actions suivantes sur les objets de base de données qui apparaissent dans la vue Schéma :
Importer le script
Vous pouvez importer les informations de schéma pour un ou plusieurs objets à partir d'un script qui contient des définitions d'objets.Ouvrir
Vous pouvez ouvrir la définition d'objet dans l'éditeur T-SQL. Les modifications que vous apportez dans le fichier peuvent provoquer des mises à jour dans la vue Schéma. Par exemple, si vous ajoutez des colonnes à une définition de table, ces colonnes apparaîtront dans la vue Schéma.Ouvrir avec
Vous pouvez ouvrir le fichier qui contient la définition d'objet dans un autre éditeur que vous spécifiez.Ajouter
Vous pouvez ajouter des objets de base de données à votre projet de base de données, y compris des tables, vues, procédures stockées, fonctions inline, fonctions de table, fonctions scalaires, types de données définis par l'utilisateur, groupes de fichiers, rôles d'application de base de données, rôles de base de données et utilisateurs de base de données. De plus, vous pouvez ajouter des dossiers au projet de base de données pour classer des objets.Renommer (dans le sous-menu Refactoriser)
Vous pouvez renommer l'objet de base de données. Si l'objet est sous contrôle de version, le fichier qui contient la définition d'objet sera extrait pour compléter cette action. Cette action appelle l'opération de refactorisation et peut mettre à jour toutes les références à l'objet renommé dans le projet de base de données et à tous les projets de test unitaire de base de données associés.Afficher le fichier dans l'Explorateur de solutions
Vous pouvez utiliser cette option pour rechercher le fichier dans l'Explorateur de solutions qui contient la définition de l'objet de base de données sur lequel vous avez cliqué.Propriétés
Vous pouvez afficher les propriétés de l'objet. Presque toutes les propriétés qui sont disponibles pour les objets dans la vue Schéma sont en lecture seule. Pour changer les propriétés, vous devez modifier la définition d'objet.
Modification de la structure du projet par défaut
La structure décrite dans cette rubrique est la structure du projet par défaut dans l'Explorateur de solutions, mais vous pouvez réorganiser le contenu du projet. Vous pouvez créer des dossiers supplémentaires, renommer des dossiers existants et déplacer des fichiers dans le projet en les faisant glisser ou en effectuant un couper-coller. Les définitions d'objets de base de données sont identifiées par leur propriété Action de génération qui a la valeur Générer, et non par leur emplacement dans le projet. Les scripts de déploiement sont également identifiés par leur propriété Action de génération qui a la valeur PreDeploy ou PostDeploy. La propriété Action de génération pour les autres fichiers du projet a la valeur Pas dans la génération.
Vous pouvez basculer l'affichage de la vue Schéma pour afficher le contenu d'un projet par type d'objet ou par schéma.
Voir aussi
Concepts
Vue d'ensemble de l'utilisation d'objets de base de données
Vue d'ensemble de la terminologie de Database Edition
Autres ressources
Génération et déploiement de schémas de base de données
Utilisation de scripts de base de données
Utilisation de projets de base de données dans un environnement de travail en équipe