失樂園

          技術之路

          BlogJava 聯系 聚合 管理
            19 Posts :: 44 Stories :: 40 Comments :: 0 Trackbacks

          首先測試環境建立:dept表

          CREATETABLE dept

                ( deptno   NUMBER(6),

                 dname   VARCHAR2(20),

                 loc       VARCHAR2(20));

              以下實驗就是像dept表中插入大量的數據。

          數據生成器允許創建演示和測試數據。對于測試應用程序和查看它們怎樣執行大量的數據,這很有幫助的。可以在PL/SQL Developer的工具菜單的下面找到數據生成器:Data Generator。

          基本上,定義由一個或多個表、要生成的記錄數量和字段數據定義構成。左上部的按鈕允許打開和保存定義。

          在上面,可以看到提供的 dept演示,這個演示是為 dept表創建數據。在這一頁中,發現有下列項目:

                    •表 表的名稱。

                    •記錄數 要生成的記錄數。這可以是數字,也可以是象 10..100 這樣的范圍。

                    •名稱 字段名稱。

                    •類型 字段的數據類型。

                    •大小 字段大小(在適當時)。對于數字字段,這將是數值范圍、精度。

                    •數據 字段數據的定義(見下面)。

                    •主列 如果這個表是另一個表的明細,可以設置主列。對于每個已產生的記錄,指定數量的明細記錄將被生成。

          我們可以使用添加現有表按鈕來添加一個現有的表,還可以從對象瀏覽器中拖放一個表。

          數據定義

          數據定義決定了被生成的數據。如果要創建簡單的字符,可以在兩個方括號之間輸入字符定義:[數據]

          數據可以是下列預先確定的集的混合體:

                    •  a: a..z (小寫字符)

                    •  A: A..Z (大寫字符)

                    •  @: A..Z 和 a..z (所有字符)

                    •  #: A..Z 和 a..z 和 0..9 (所有字符和數字)

                    •  *: #33..#126 (所有 ASCII 字符)

                    •  0: 0..9 (所有數字)

                    •  1: 1..9 (所有除了 0 之外的數字)

                    •  9: 0..9 (所有數字)

          例如:

          [Aaa00] 生成字符串如: Gxe21,Liy05 等。

          還可以在兩個單引號之間添加文字文本。

          例如:

          [AA '-' 1000] 生成字符串如:CX-4903 ,SY-1044 等。

          在定義中空格字符是被忽略的,除非它們在引號中。

          如果要一個字符重復許多次,可以在字符的后面兩個括號之間添加次數(n)。還可以添加一個隨機數(最小..最大)。

          例如:

          [Aa(5..15) ' ' Aa(8..20)] 的結果就象這樣:"Masfae Qwwecdsadif"

          定義中的文字文本不必被裝入到括號中。換句話說,['hello'] 和 'hello' 是等效的。不帶引號被輸入的文本被認為是函數。

          有幾個特定的函數是可用的:

                    •Signal(Min, Max, Delta, Noise) 返回技術測定數據(象溫度這樣的)。Min(最小)和 Max(最大)決定了范圍, Delta(△)為最大更改量,還可以添加一些 Noise(噪聲)。例如:Signal(-10, 20, 0.1, 0.1)。

                    •Random([Min], Max) 返回Min(最小)和 Max(最大)之間的隨機數。如果只指定了 Max ,那么 Min 就被設為 0 。對于日期字段,可以輸入Min(最小)和 Max(最大)的日期。

                    •Sequence(Start, [Inc], [WithinParent]) 返回序號。Start 為開始值,Inc 為增量(默認為 1)。對于明細表,可以再指定 WithinParent 關鍵詞來指出序列應該為每個父記錄進行重新安排。

                    •List('item'(weight), 'item'(weight), ...) 隨機地返回指定項目(item)之一。加權數(weight)可以被添加到兩個括號之間,允許特定項目比其他項目出現的幾率更大。 例如:List('CLERK'(50), 'SALESMAN'(30), 'MANAGER'(10))

          •List(select statement) 象前面的 List 函數,但項目是通過 SQL select statement(select 語句)返回的。

          • Text([Style], MaxCharacters, [WordsPerLine, LinesPerParagraph]) 這個函數返回文本。可選擇的 Style(字體)參數可以是 LorumIpsum(默認)(懷疑是荷蘭語。——譯者姜華東注)、英語、德語或日語。它還可以是象 [aA] 這樣的字符集,在這種情況下,詞匯從指定的字符集中產生。 MaxCharacters 決定了生成的文本的最大大小,WordsPerLine 和 LinesPerParagraph 決定了行和段落的大小。指定的大小可以是指定的數字或范圍(最小..最大)。

          File(path, path, ...) 從特定的路徑(path)中隨機地選擇一個文件,并插入內容。允許輸入二進制數據(象圖片這樣的)到數據庫中。路徑可以使用通配符,象 d:"images"*.bmp 這樣的。

          可以通過使用下列函數更改前面函數的文本結果:

                    •Uppercase()

                    •LowerCase()

                    •InitCaps()

          例如:InitCaps( List(select ename from emp) )

          還有幾個預先定義的數據集可用于生成或多或少的真實數據。可以使用下列定義:

                    •Firstname 一般列表中的名

                    •Lastname 一般列表中的姓

                    •Company 公司名(現有公司的隨機列表)

                    •Address1 地址行 1

                    •Address2 地址行 2

                    •ZIP 郵政編碼

                    •City 城市

                    •State

                    •Country 國家

                    •Email (被關聯到 Firstname ,Lastname 和 Country)

          還有一些可用的實例自定義數據集:

                    •Components.Code 一般商品項目:商品代碼

                    •Components.Description 商品描述(計算機部分)

                    •Components.Price 商品價格

                    •Elements.Name 化學元素(名稱)

                    •Elements.Symbol 化學元素(符號)

          這些數據集可以在 DataGenerator"UserData 目錄中被找到,文件名為elements.txt 和 components.txt 。如果需要,可以添加自己的集。添加一個逗號分隔的文件很簡單,在文件中第一行兩個方括號之間保存著描述。可以通過指定文件名.描述來使用的文件中的數據,就象兩個例子那樣。

          上面提及的所有函數和數據都可以添加到一起,例如:Random(10..99) + '-' + [A(4)] 。 +是可選的,但那中至少應該有一個空格作為分隔符。

          選項

          選項標簽頁允許設置一些首選項,特別是數據生成器的定義。可以指定一個日期的格式(與被 Random 函數使用的例子一樣)。還可以指定在多少條記錄之后需要提交(設為 0 是一完成就提交)。延遲首選項僅僅用于一些實時測試,這中需要數據以指定的速度被插入。

          自定義部分允許定義或越過被用于 [數據] 定義的字符集。項目總是單個字符,值是一個或多個空格分隔的字符范圍,就象這樣:A..Z a..z 0..9 #200..#220 。例如,要定義一個十六進制的字符集,可以指定 H 為項目,0..9 A..F 為值。

          初始化腳本部分允許指定在數據被插入到數據庫中前應該被執行的 SQL 語句。在典型的情況下,這將是創建表或截短表、選擇回滾段等的語句。多個語句需要用分號來分隔。

          通過按左邊首選項按鈕,在默認的情況下,對于所有數據生成器的一般選項可以被定義。如果數據生成器定義中相應的首選項也被設置了,這些首選項將被否決。

          生成數據

          在左下方有三個按鈕可用于生成實際的數據:

                    •開始測試運行 這將在結果標簽頁上的表格中生成數據和顯示結果。通過右鍵單擊表格,可以以不同的格式導出這些結果。

                    •創建數據為 SQL 生成數據為 SQL 腳本。這僅僅工作于不用文件功能添加來自文件的數據的情況下。

          •在數據庫中創建數據 生成數據到 Oracle 數據庫中。

          posted on 2011-04-21 11:31 狄浩 閱讀(2355) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 南宁市| 安阳县| 富裕县| 咸丰县| 阳春市| 金湖县| 绥芬河市| 墨江| 华阴市| 肇州县| 东兰县| 新乐市| 改则县| 民丰县| 西宁市| 历史| 峨边| 兰坪| 广东省| 惠来县| 嘉祥县| 泸溪县| 大田县| 二连浩特市| 斗六市| 潼关县| 昆山市| 卢湾区| 都江堰市| 闽侯县| 台南市| 灵宝市| 灵寿县| 集贤县| 罗田县| 高雄县| 普兰店市| 嘉禾县| 聂拉木县| 西贡区| 东海县|