共用方式為


為資料行指定資料產生的詳細資料

若要在 Visual Studio Premium 中產生資料,您必須建立和執行「資料產生計劃」(Data Generation Plan)。 資料產生計劃包含您想要將資料填入哪些資料表和資料行的相關資訊。 建立計劃之後,可以指定要填入資料行之資料類型的詳細資料。 如需詳細資訊,請參閱使用資料產生器產生資料庫的測試資料HOW TO:建立資料產生計劃

資料產生計劃的內容

下圖顯示 [資料產生計劃] 視窗,其中包含資料行詳細資料窗格和 [資料產生預覽] 視窗。

資料產生計劃視窗

資料產生計劃和相關視窗

一般工作

下表列出支援此案例之一般工作的說明,以及詳細資訊的連結,這些資訊可幫助您成功完成這些工作。

一般工作

支援內容

獲得實務練習:您可以遵循入門逐步解說,熟悉如何建立及執行簡單的資料產生計劃。

逐步解說:建立和執行資料產生計劃

檢視資料行詳細資料:針對資料產生計劃中包含的每一個資料表,您可以檢視資料表中資料行目前的詳細資料。 您可以指定產生資料時包含的資料行。

檢視資料行詳細資料

指定每一個資料行的資料產生器:每一個資料行都必須有相關聯的資料產生器。 您只能指定支援資料行之 SQL 資料型別的資料產生器。

指定資料行的資料產生器

標準資料產生器型別

指定所指定資料產生器的屬性:您可以透過指定屬性,為每一個資料行的資料產生設定詳細資料。 您可以依範圍或分佈限制值,或是提供資料產生所需的詳細資料。 這類詳細資料包括資料繫結產生器的來源連接字串。

指定資料產生器的屬性

規則運算式產生器

資料繫結產生器

變更 SQL 資料型別的預設資料產生器:每一種 SQL 資料型別都有相關聯的預設資料產生器。 例如,型別 Int16 的資料行預設使用 SmallInt 資料產生器。 您可以檢視和變更每一種 SQL 資料型別的預設產生器。

SQL Server 資料型別的預設產生器

HOW TO:變更資料行型別的預設產生器

使用資料繫結產生器從 Excel 試算表產生資料:您可以設定讓資料繫結產生器從 Excel 試算表中的資料表產生資料。 例如,您可以使用此方法填入參考資料表。

HOW TO:從 Excel 試算表產生資料

檢視資料行詳細資料

當您反白顯示資料產生計劃中的資料表時,資料行詳細資料窗格會顯示該資料表中的資料行。 此窗格會針對每一個資料行顯示資料產生包含的資料行、資料行的 SQL 資料型別,以及指派給該資料行的資料產生器。 您可以在產生資料時選取或清除資料行的核取方塊,以包含或排除該資料行。

下表說明每一個資料行的詳細資料:

資料行名稱

詳細資料

資料行

資料行名稱。 此資料行包含一個核取方塊,選取該核取方塊即可產生該資料行的資料,清除讓該資料行保持空白。 您不需要為可為 Null 或是有預設條件約束的資料行產生資料。 [屬性] 視窗會顯示 [允許 Null] 和 [預設值] 屬性,可用來決定要填入資料的資料行。 如需詳細資訊,請參閱 HOW TO:指定要產生資料的資料行

機碼

如果此資料行為主索引鍵或外部索引鍵資料行,則為索引鍵的圖片。 此資料行是唯讀的,只當做參考資訊。

資料型別

此資料行的 SQL 資料型別。 此資料行是唯讀的,只當做參考資訊。 如需詳細資訊,請參閱 Microsoft 網站上的下列主題:資料類型 (SQL Server 2005) 和資料類型 (Transact-SQL)

產生器

此類型的資料產生器將產生此資料行的資料。 每一個 SQL 資料型別都有預設的資料產生器,當您初次建立資料產生計劃時,它就會出現在此資料行中。 按一下資料行中的向下箭號,然後按一下不同的資料產生器,就可以變更資料產生器。

產生器輸出

此產生器的輸出。 這個資料行用於會產生一個以上輸出值的任何資料產生器。 例如,當您使用資料繫結產生器時,必須指定 SELECT 查詢來擷取資料來源中的資料。 指定 SELECT 查詢之後,此資料行會包含該查詢所傳回的資料行清單。 按一下向下箭號,然後按一下適當的選項,就可以指定要填入資料行的資料。 如需詳細資訊,請參閱本文後段的<連接資訊>和<Select 查詢>章節。

自訂資料產生器也可以使用這個資料行。 一個自訂資料產生器可以產生一個以上的輸出值。 例如,自訂資料產生器可以產生在兩個相異日期範圍之其中一個內的日期。 然後,您將使用這個資料行來指定您要使用哪一個輸出。

指定資料行的資料產生器

您可以在 [資料產生計劃] 視窗的資料行詳細資料窗格中,指定每一個資料行的 [產生器] 和 [產生器輸出],藉此控制會產生哪些資料填入資料行。

您應考慮以下有關如何指派資料產生器的要點:

  • 您無法使用所有資料產生器類型搭配所有 SQL 資料型別。 此清單只會顯示可用於此資料行之 SQL 資料型別的資料產生器。

  • 識別資料行和外部索引鍵資料行會使用 [SQL 計算值] 和 [外部索引鍵] 資料產生器 (不論該資料行的 SQL 資料型別為何)。 您無法變更識別資料行和外部索引鍵資料行的資料產生器。

  • 如需詳細資訊,請參閱標準資料產生器型別選項 (資料庫工具/資料產生器/預設產生器)

指定資料產生器的屬性

指定資料行的資料產生器類型之後,可以設定該資料產生器的屬性以精簡產生的資料。 若要設定屬性,請按一下 [資料產生計劃] 視窗的 [資料行詳細資料] 窗格,然後開啟 [屬性] 視窗。 您可以設定三種屬性分類:[資料行資訊]、[資料庫條件約束] 和 [產生器]。 [資料行資訊] 和 [資料庫條件約束] 屬性是唯讀的,會提供您要用來自訂資料產生計劃的每一個資料行的相關資訊。 [產生器] 屬性通常是可讀寫的,但是某些資料產生器可能會有唯讀的屬性。

注意事項注意事項

如果您的 [屬性] 視窗已經過分類,您將會看到這些分類。 如果您的 [屬性] 視窗依字母順序排列,您將不會看到這些分類。 您可以在 [屬性] 視窗中,按一下工具列上的 [分類] 和 [字母順序] 按鈕,在這兩個檢視之間切換。

資料行資訊與資料庫條件約束屬性

下表包含每一個資料行的 [資料行資訊] 與 [資料庫條件約束] 屬性。

屬性

詳細資料

大小

資料庫資料行的大小 (以位元組為單位)。

允許 Null

True 或 False 指定資料行是否可能有 NULL 值。

檢查條件約束

如果此資料行沒有檢查條件約束,則會是空白的。 如果此資料行有檢查條件約束,則會指定此檢查條件約束的公式。

注意事項注意事項
由於資料行可以有一個以上的檢查條件約束,所以當這個屬性不是空白時,它會是一個字串陣列,每一個陣列元素都是其中一個條件約束之公式的字串。

預設值

如果此資料行沒有預設條件約束,則會是空白的。 如果此資料行有預設條件約束,則會指定預設值。

外部索引鍵

如果此資料行沒有外部索引鍵條件約束,則會是空白的。 如果資料行有外部索引鍵條件約束,則會指定外部索引鍵所參考的資料表和資料行。

主索引鍵

True 或 False 指定資料行在資料表中是否為主索引鍵的一部分。

唯一

True 或 False 會指定資料行是否為唯一條件約束的一部分。

產生器屬性

設定 [產生器] 屬性可控制產生資料的方式。 每一個資料行可用的屬性取決於指派給該資料行的資料產生器。 並非所有的資料產生器都有所有的屬性。 例如,資料繫結產生器具有可用來指定連接到資料來源之連接字串的 [連接資訊] 屬性。 不會有其他資料產生器需要這個屬性。

下表包含每一個資料行的產生器屬性。

屬性

詳細資料

資料產生器型別

預設值

百分比 Null

針對此資料行產生之 NULL 值的大約百分比。 只有在資料行接受 NULL 值時,才可以修改這個屬性。 如果是不接受 NULL 值的資料行,這個屬性必須為 0。 0 的值意味著不會產生任何 NULL 值; 值為 100 表示只會產生 NULL 值。

SQL 計算值除外的所有資料產生器。

0

種子

產生隨機資料演算法所用的初始值。 標準資料產生器具有決定性。 如果您使用相同的初始值,則將再次產生相同的隨機資料。 您可以變更初始值來產生一組不同 (但具決定性) 的隨機資料。

SQL 計算值除外的所有資料產生器。

5

您可以使用 [選項] 頁面來變更 Seed 屬性的預設值。 如需詳細資訊,請參閱選項 (資料庫工具/資料產生器/一般)

唯一

當這個屬性為 true 時,此資料行所產生的資料會是唯一的。 這個屬性會搭配數字型別 (Numeric Type) 的 Step 屬性一起使用。

SQL 計算值、RegularExpression、影像和資料繫結除外的所有資料產生器。

如果此資料行是唯一條件約束的一部分,則為 True,否則為 False。

逐步執行

當 Unique 屬性為 true 時,每一個資料列的計算方式是將 Step 值與上一個資料列相加。 Step 屬性的值可以是負數。

Decimal、Real、Float、Money、DateTime 和整數資料產生器。

根據現有的檢查條件約束 (如果可以成功剖析它的話)。

smalldatetime:1 分鐘

datetime:1 分鐘

所有其他數字型別:1

散發

隨機產生之資料所近似的統計散發曲線。 您可以將此屬性設定為 [制式]、[一般]、[一般倒數]、[指數] 或 [ExponentialInverse]。

Decimal、Money、DateTime、Real、Float 和整數資料產生器。

制式

最小值

針對此資料行產生之資料的最小值。

Decimal、Money、DateTime、Real、Float 和整數資料產生器。

根據現有的檢查條件約束 (如果可以成功剖析它的話)。

smalldatetime:1/1/1900

datetime:1/1/1753

所有其他數字型別:0

最大值

針對此資料行產生之資料的最大值。

Decimal、Money、DateTime、Real、Float 和整數資料產生器。

根據現有的檢查條件約束 (如果可以成功剖析它的話)。

smalldatetime:6/6/2079

datetime:12/31/9999

所有其他數字型別:此資料型別或資料行定義所定義的最大值。

地區設定

將用來產生隨機字元的地區設定。 按一下向下箭號即可顯示可用地區設定的清單。 這個屬性是根據資料庫資料行定序的地區設定,而不是根據作業系統或地區設定或 Visual Studio 地區設定而定。

String

預設值

最小長度

針對此資料行產生之資料的最小長度。

String、Binary

1

最小長度

針對此資料行產生之資料的最大長度。 您應將這個值維持在合理的範圍,以避免 OutOfMemory 例外狀況。

String、Binary、RegularExpression

此資料型別或資料行定義所定義的最大長度。

4000

8000

運算式

您想用來產生資料的規則運算式。 產生的資料會符合指定的模式。 如需詳細資訊,請參閱規則運算式產生器

RegularExpression

[a-zA-Z0-9]*

高度

針對此資料行產生之影像的高度。

Image

根據資料行的大小來計算,以確保產生的影像符合資料行的大小。

64

寬度

針對此資料行產生之影像的寬度。

Image

根據資料行的大小來計算,以確保產生的影像符合資料行的大小。

64

連接資訊

連接到資料來源的連接字串。 您可以透過下列方式指定連接字串:

  • 按一下向下箭號,然後按一下現有連接。

  • 按一下向下箭號,然後按一下 [<加入新的連接...>]。

這個屬性會連接到 Visual Studio 中的 [伺服器總管]。 在 [伺服器總管] 中所指定的連接字串會出現在這個屬性中,而這個屬性中所指定的連接字串會出現在 [伺服器總管] 中。

如需詳細資訊,請參閱資料繫結產生器

資料繫結產生器

無預設值。

選取查詢

用來從資料來源中擷取資料的 SELECT 查詢。 指定 SELECT 陳述式之後,會以查詢傳回的資料行名稱更新 [產生器輸出] 資料行。 此查詢所傳回的所有資料行都必須有一個對資料產生有效的名稱或別名。 接著必須在 [產生器輸出] 資料行中指定您要的資料行。 如需詳細資訊,請參閱本主題之前提到的產生器輸出資料行。

注意事項警告
惡意使用者可能在這個屬性中加入任意 Transact-SQL 程式碼。如需詳細資訊,請參閱使用資料產生器產生資料庫的測試資料

資料繫結產生器

無預設值。

後續步驟

您已經指定您要產生之資料的詳細資料,所以現在可以預覽及產生資料。 如需詳細資訊,請參閱 HOW TO:預覽資料產生計畫HOW TO:執行資料產生計劃來產生資料

相關案例

請參閱

工作

逐步解說:建立和執行資料產生計劃