共用方式為


逐步解說:修改資料庫物件

更新:2007 年 11 月

在本逐步解說中,您將使用 Transact-SQL (T-SQL) 編輯器修改「資料庫專案」(Database Project) 中的多個「資料庫物件」(Database Object) 定義。這個程序包含下列步驟:

  • 開啟包含資料庫專案的方案。

  • 加入資料行至資料表。客戶想要追蹤產品推出的年份。為執行這個步驟,您會將 DateAdded 資料行加入至 Products 資料表。

  • 加入 ShipperRating 資料表,追蹤客戶對於處理訂單的貨運公司在服務品質方面的評價。您也會加入外部索引鍵關聯性和索引。

必要條件

本逐步解說假設您已經完成了逐步解說:將現有資料庫結構描述放入版本控制下。在完成該逐步解說時,會產生包含 MyNorthwind 資料庫專案的方案。

若要開啟 MyNorthwind 方案

  1. 在 [檔案] 功能表上,指向 [開啟],再按 [專案/方案]。

    [開啟專案] 對話方塊隨即出現。

  2. 開啟 MyNorthwind 資料夾,然後按兩下 MyNorthwind.sln。

    MyNorthwind 方案隨即開啟,並出現在 [方案總管] 中。

  3. 按一下 [檢視] 功能表上的 [結構描述檢視]。

    [結構描述檢視] 隨即出現 (如果尚未出現)。其中會顯示資料庫專案中定義的所有物件。

  4. 在 [結構描述檢視] 中展開資料庫專案節點 (如果尚未展開)。

    接著修改資料庫定義,將資料行加入至資料表。

若要加入 DateAdded 資料行至 Products 資料表

  1. 在 [結構描述檢視] 中,以滑鼠右鍵按一下 Products 資料表,然後按一下 [開啟]。您也可以按兩下 [Products] 資料表。

    T-SQL 編輯器隨即開啟,並顯示 Products 資料表的定義。

  2. 在 T-SQL 編輯器中,修改定義以加入 DateAdded 資料行,如下列範例所示:

    CREATE TABLE [dbo].[Products]
    (
    [ProductID] [int] NOT NULL IDENTITY(1, 1),
    [ProductName] [nvarchar] (40) COLLATE SQL_Latin1_General_CP1_CS_AS NOT NULL,
    [SupplierID] [int] NULL,
    [CategoryID] [int] NULL,
    [QuantityPerUnit] [nvarchar] (20) COLLATE SQL_Latin1_General_CP1_CS_AS NULL,
    [UnitPrice] [money] NULL CONSTRAINT [DF_Products_UnitPrice] DEFAULT (0),
    [UnitsInStock] [smallint] NULL CONSTRAINT [DF_Products_UnitsInStock] DEFAULT (0),
    [UnitsOnOrder] [smallint] NULL CONSTRAINT [DF_Products_UnitsOnOrder] DEFAULT (0),
    [ReorderLevel] [smallint] NULL CONSTRAINT [DF_Products_ReorderLevel] DEFAULT (0),
    [Discontinued] [bit] NOT NULL CONSTRAINT [DF_Products_Discontinued] DEFAULT (0),
    [DateAdded] [datetime] NULL
    ) ON [PRIMARY]
    
  3. 在 [檔案] 功能表上,按一下 [儲存 dbo.Products] 儲存變更。

    根據預設,檔案會自動從原始檔控制簽出。如果修改了原始檔控制設定,您會看到簽出檔案的提示。

    接下來將名為 ShipperRating 的資料表加入資料庫專案。

若要加入 ShipperRating 資料表

  1. 在 [結構描述檢視] 中,按一下 [資料表] 資料夾。

  2. 在 [專案] 功能表上,按一下 [加入新項目]。您也可用滑鼠右鍵按一下 [資料表] 資料夾,指向 [加入],再按一下 [資料表]。

    [加入新項目] 對話方塊隨即出現。

  3. 按一下 [樣板] 清單中的 [資料表]。

  4. 在 [名稱] 中輸入 ShipperRating,然後按一下 [ 加入]。

    ShipperRating 資料表隨即加入資料庫專案和原始檔控制。T-SQL 編輯器會出現,讓您編輯這個資料表的定義。

  5. 在 T-SQL 編輯器中,修改資料表定義,使其符合下列範例:

    -- =============================================
    -- 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 [dbo].[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. 在 [檔案] 功能表上,按一下 [儲存 dbo.ShipperRating] 儲存變更。

    接下來將外部索引鍵加入 ShipperRating 資料表。

若要將外部索引鍵加入 ShipperRating 資料表

  1. 在 [結構描述檢視] 中,以滑鼠右鍵按一下 ShipperRating 資料表,指向 [加入],然後按一下 [外部索引鍵]。

    [加入新項目] 對話方塊隨即出現,並反白顯示 [外部索引鍵] 樣板。

  2. 在 [名稱] 中輸入 FK_ShipperRating_Shippers,然後按一下 [加入]。

    FK_ShipperRating_Shippers 外部索引鍵隨即加入專案中的 ShipperRating 資料表。T-SQL 編輯器會出現,讓您編輯外部索引鍵的定義。

    注意事項:

    外部索引鍵的預設定義會參考 tablename 中的 column_1,而不是實際的資料表和資料行。因此,FK_ShipperRating_Shippers 在 [結構描述檢視] 中的圖示會顯示錯誤圖示 (也就是包含白色 "x" 的紅色圓形)。此外,[錯誤清單] 視窗也會顯示錯誤,指出有無效的資料庫物件定義。這是預期的行為。在 [方案總管] 中,包含物件定義的檔案不會顯示錯誤圖示。

  3. 在 T-SQL 編輯器中,修改外部索引鍵定義,使其符合下列範例:

    ALTER TABLE [dbo].[ShipperRating]
    ADD CONSTRAINT [FK_ShipperRating_Shippers] 
    FOREIGN KEY ([ShipperID])
    REFERENCES [dbo].[Shippers] ([ShipperID])
    
  4. 在 [檔案] 功能表上,按一下 [儲存 dbo.FK_ShipperRating_Shippers] 儲存變更。由於定義這時是有效的,因此會以外部索引鍵條件約束的正常圖示來取代此錯誤圖示。

    在最後一個步驟中,將索引加入 ShipperRating 資料表。

若要將索引加入 ShipperRating 資料表

  1. 在 [結構描述檢視] 中,按一下 [索引] 資料夾。

  2. 在 [專案] 功能表上,按一下 [加入新項目]。您也可用滑鼠右鍵按一下 [索引] 資料夾,指向 [加入],然後按一下 [索引]。

  3. 按一下 [樣板] 清單中的 [索引] (若尚未反白顯示)。

  4. 在 [名稱] 中輸入 ShipperRatingDate,然後按一下 [加入]。

    ShipperRatingDate 索引隨即加入專案中的 ShipperRating 資料表。T-SQL 編輯器會出現,讓您編輯索引的定義。

    注意事項:

    索引的預設定義會參考 column_1,而不是實際的資料行名稱。因此,[方案總管] 中的 ShipperRatingDate 圖示會顯示錯誤圖示 (含有白色「x」的紅色圓圈)。此外,[錯誤清單] 視窗也會顯示錯誤,指出有無效的資料庫物件定義。這是預期的行為。

  5. 在 T-SQL 編輯器中,修改索引定義,使其符合下列範例:

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

    在 [檔案] 功能表上,按一下 [儲存 ShipperRatingDate] 儲存變更。由於定義這時為有效,因此錯誤圖示會取代成正常的索引圖示。

若要將變更簽入版本控制

  1. 在 [方案總管] 中,按一下 [MyNorthwind] 資料庫。

  2. 指向 [檔案] 功能表上的 [原始檔控制],然後按一下 [簽入]。

  3. 依照原始檔控制外掛程式的程序簽入檔案。如需詳細資訊,請參閱使用 Team Foundation 版本控制

    資料庫專案變更現已簽入,並可供其他小組成員使用。

後續步驟

在修改這個資料庫的離線表示 (Offline Representation) 之後,您必須將這些變更建置和部署到資料庫伺服器。若要建置和部署變更,請參閱逐步解說:將變更部署到現有的版本控制資料庫

請參閱

工作

逐步解說:將現有資料庫結構描述放入版本控制下

逐步解說:建立及部署新版本控制的資料庫

概念

使用資料庫物件概觀

Database Edition 的用語概觀

其他資源

建置和部署資料庫結構描述