Share via


Procédure pas à pas : modification d'objets de base de données

Dans cette procédure pas à pas, vous utilisez l'éditeur Transact-SQL pour modifier les définitions de plusieurs objets de base de données dans votre projet de base de données. Ce processus se compose des étapes suivantes :

  • Ouvrez une solution qui contient un projet de base de données.

  • Ajoutez une colonne à une table. Votre client veut suivre l'année où les produits ont été introduits. Pour exécuter cette étape, vous ajoutez une colonne DateAdded à la table Product du schéma Production.

  • Ajoutez une table, Purchasing.ShipperRating, afin de suivre la façon dont les clients estiment la qualité de service fournie par les expéditeurs qui s'occupent de leurs commandes. Vous ajoutez également des relations de clé étrangère et un index.

Composants requis

Cette procédure pas à pas suppose que vous avez effectué la Procédure pas à pas : placement d'un schéma de base de données existant sous contrôle de version. Suite à cette procédure pas à pas, vous avez une solution qui contient un projet de base de données nommé MyAdvWorks.

Pour ouvrir la solution MyAdvWorks

  1. Dans le menu Fichier, pointez sur Ouvrir, puis cliquez sur Projet/Solution.

    La boîte de dialogue Ouvrir un projet s'affiche.

  2. Ouvrez le dossier MyAdvWorks, puis double-cliquez sur MyAdvWorks.sln.

    La solution MyAdvWorks s'ouvre et s'affiche dans l'Explorateur de solutions.

  3. Dans le menu Affichage, cliquez sur Vue Schéma de base de données.

    La vue Schéma s'affiche si elle n'était pas déjà visible. Elle présente tous les objets qui sont définis dans le projet de base de données.

  4. Développez le nœud de projet de base de données dans la vue Schéma s'il ne l'est pas déjà.

    Ensuite, vous modifiez une définition de la table pour ajouter une colonne à une table.

Pour ajouter une colonne DateAdded à la table Product

  1. Dans Vue Schéma, développez le dossier Production, développez le dossier Tables, cliquez avec le bouton droit sur la table Product et cliquez sur Ouvrir.

    Vous pouvez également double-cliquer sur la table Product pour l'ouvrir.

    L'éditeur Transact-SQL s'ouvre et affiche la définition pour la table Product.

  2. Dans l'éditeur Transact-SQL, modifiez la définition afin d'ajouter la colonne DateAdded comme le montre l'exemple suivant :

    CREATE TABLE [Production].[Product] (
        [ProductID]             INT              IDENTITY (1, 1) NOT NULL,
        [Name]                  [dbo].[Name]     NOT NULL,
        [ProductNumber]         NVARCHAR (25)    NOT NULL,
        [MakeFlag]              [dbo].[Flag]     NOT NULL,
        [FinishedGoodsFlag]     [dbo].[Flag]     NOT NULL,
        [Color]                 NVARCHAR (15)    NULL,
        [SafetyStockLevel]      SMALLINT         NOT NULL,
        [ReorderPoint]          SMALLINT         NOT NULL,
        [StandardCost]          MONEY            NOT NULL,
        [ListPrice]             MONEY            NOT NULL,
        [Size]                  NVARCHAR (5)     NULL,
        [SizeUnitMeasureCode]   NCHAR (3)        NULL,
        [WeightUnitMeasureCode] NCHAR (3)        NULL,
        [Weight]                DECIMAL (8, 2)   NULL,
        [DaysToManufacture]     INT              NOT NULL,
        [ProductLine]           NCHAR (2)        NULL,
        [Class]                 NCHAR (2)        NULL,
        [Style]                 NCHAR (2)        NULL,
        [ProductSubcategoryID]  INT              NULL,
        [ProductModelID]        INT              NULL,
        [DateAdded]             DATETIME         NOT NULL,
        [SellStartDate]         DATETIME         NOT NULL,
        [SellEndDate]           DATETIME         NULL,
        [DiscontinuedDate]      DATETIME         NULL,
        [rowguid]               UNIQUEIDENTIFIER ROWGUIDCOL NOT NULL,
        [ModifiedDate]          DATETIME         NOT NULL
    );
    
    
    GO
    EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Products sold or used in the manfacturing of sold products.', @level0type = N'SCHEMA', @level0name = N'Production', @level1type = N'TABLE', @level1name = N'Product';
    

    Lorsque vous modifiez la définition d'objet, vous extrayez le fichier qui contient cette définition de contrôle de version.

  3. Dans le menu Fichier, cliquez sur Enregistrer Product.table.sql pour enregistrer vos modifications.

    Par défaut, le fichier est automatiquement extrait du contrôle de code source. Si vous avez modifié vos paramètres du contrôle de code source, vous pouvez être invité à extraire le fichier, selon la configuration de vos paramètres de contrôle de version.

    Ensuite, vous ajoutez une table nommée ShipperRating au projet de base de données.

Pour ajouter la table ShipperRating

  1. Dans Vue Schéma, développez le dossier Purchasing et cliquez sur le dossier Tables.

  2. Dans le menu Projet, cliquez sur Ajouter un nouvel élément. Vous pouvez également cliquer avec le bouton droit sur le dossier Tables, pointer sur Ajouter, puis cliquer sur Table.

    La boîte de dialogue Ajouter un nouvel élément s'affiche.

  3. Dans la liste Modèles, cliquez sur Table.

  4. Dans la zone Nom, tapez ShipperRating, puis cliquez sur Ajouter.

    La table ShipperRating est ajoutée au projet de base de données et au contrôle de code source. L'éditeur Transact-SQL s'affiche afin que vous puissiez modifier la définition de cette table.

  5. Dans l'éditeur Transact-SQL, modifiez la définition de la table afin qu'elle corresponde à l'exemple suivant :

    -- =============================================
    -- Create table definition for ShipperRating 
    --Contains a rating of a shipper by
    --a customer, on a particular date.
    --Ratings are from 1-100.
    -- =============================================
    CREATE TABLE [Purchasing].[ShipperRating]
    (
    [ShipperID] [int] NOT NULL,
    [CustomerID] [nchar] (5) COLLATE SQL_Latin1_General_CP1_CS_AS NOT NULL,
    [RatingDate] [datetime] NULL,
    [Rating] [int] NOT NULL
    ) ON [PRIMARY]
    
  6. Dans le menu Fichier, cliquez sur Enregistrer Save ShipperRating.table.sql afin d'enregistrer les modifications apportées.

    Ensuite, vous ajoutez une clé étrangère à la table ShipperRating.

Pour ajouter la clé étrangère à la table ShipperRating

  1. Dans la vue Schéma, cliquez avec le bouton droit sur la table ShipperRating, pointez sur Ajouter, puis cliquez sur Clé étrangère.

    La boîte de dialogue Ajouter un nouvel élément s'affiche avec le modèle Clé étrangère déjà mis en surbrillance.

  2. Dans la zone Nom, tapez FK_ShipperRating_Shippers, puis cliquez sur Ajouter.

    La clé étrangère FK_ShipperRating_Shippers est ajoutée à la table ShipperRating de votre projet. L'éditeur Transact-SQL s'affiche afin que vous puissiez modifier la définition des clés étrangères.

    Notes

    La définition par défaut de la clé étrangère référence colonne_1 dans nomtable au lieu d'une table et d'une colonne réelles. Par conséquent, l'icône de FK_ShipperRating_Shippers dans la vue Schéma affiche l'icône d'erreur (un cercle rouge qui contient un « x » blanc). De plus, une erreur s'affiche dans la fenêtre Liste d'erreurs pour indiquer que vous avez une définition d'objet de base de données non valide. Ce comportement est prévu. Dans l'Explorateur de solutions, le fichier qui contient la définition d'objet n'affiche pas d'icône d'erreur.

  3. Dans l'éditeur Transact-SQL, modifiez la définition de la clé étrangère afin qu'elle corresponde à l'exemple suivant :

    ALTER TABLE [Purchasing].[ShipperRating]
    ADD CONSTRAINT [FK_ShipperRating_Shippers] 
    FOREIGN KEY ([ShipperID])
    REFERENCES [Purchasing].[ShipMethod] ([ShipMethodID])
    
  4. Dans le menu Fichier, cliquez sur Enregistrer ShipperRating.FK_ShipperRating_Shippers.fkey.sql pour enregistrer vos modifications. L'icône d'erreur est remplacée par l'icône normale pour une contrainte de clé étrangère parce que la définition est à présent valide.

    Dans la dernière étape, vous ajoutez un index à la table ShipperRating.

Pour ajouter un index à la table ShipperRating

  1. Dans la vue Schéma, cliquez sur le dossier Index.

  2. Dans le menu Projet, cliquez sur Ajouter un nouvel élément. Vous pouvez également cliquer avec le bouton droit sur le dossier Index, pointer sur Ajouter, puis cliquer sur Index.

  3. Dans la liste Modèles, cliquez sur Index s'il n'est pas déjà en surbrillance.

  4. Dans la zone Nom, tapez ShipperRatingDate, puis cliquez sur Ajouter.

    L'index ShipperRatingDate est ajouté à la table ShipperRating dans votre projet. L'éditeur Transact-SQL s'affiche afin que vous puissiez modifier la définition de l'index.

    Notes

    La définition par défaut de l'index référence colonne_1 au lieu d'un nom de colonne réel. Par conséquent, l'icône de ShipperRatingDate dans l'Explorateur de solutions affiche l'icône d'erreur (un cercle rouge qui contient un « x » blanc). De plus, une erreur s'affiche dans la fenêtre Liste d'erreurs pour indiquer que vous avez une définition d'objet de base de données non valide. Ce comportement est prévu.

  5. Dans l'éditeur Transact-SQL, modifiez la définition d'index afin qu'elle corresponde à l'exemple suivant :

    -- =============================================
    -- Create index on RatingDate column in 
    --the ShipperRating table.
    -- =============================================
    CREATE INDEX [ShipperRatingDate]
    ON [Purchasing].[ShipperRating]
    (RatingDate)
    

    Dans le menu Fichier, cliquez sur Enregistrer ShipperRating.ShipperRatingDate.index.sql pour enregistrer vos modifications. L'icône d'erreur est remplacée par l'icône normale pour un index car la définition est à présent valide.

Pour archiver les modifications apportées dans le contrôle de version

  1. Dans le menu Affichage, pointez sur Autres fenêtres, puis cliquez sur Modifications en attente.

    La fenêtre Modifications en attente s'affiche afin que vous puissiez vérifier tous les fichiers qui vous avez ajoutés ou modifiés.

    Notes

    Les étapes de cette procédure sont écrites pour une utilisation avec le contrôle de version Team Foundation. Si vous n'utilisez pas le contrôle de version Team Foundation, vous devez suivre à la place les procédures pour votre système de contrôle de version.

  2. (facultatif) Spécifiez un commentaire d'archivage.

  3. Cliquez sur Archiver.

    Les modifications apportées au projet de base de données sont archivées et à présent disponibles pour d'autres membres de l'équipe.

Étapes suivantes

Après avoir modifié la représentation hors connexion de cette base de données, vous devez générer et déployer ces modifications chez le serveur de base de données. Pour générer et déployer les modifications apportées, consultez Procédure pas à pas : déploiement de modifications vers une base de données sous contrôle de version existante.

Voir aussi

Tâches

Procédure pas à pas : placement d'un schéma de base de données existant sous contrôle de version

Procédure pas à pas : création et déploiement d'une nouvelle base de données sous contrôle de version

Concepts

Écriture et modification du code d'une base de données

Générer et déployer des bases de données dans un environnement de développement isolé

Refactoriser le code et les données d'une base de données