新四季網

將最佳實施集成進資料庫設計的製作方法

2023-10-08 20:08:34 3

專利名稱:將最佳實施集成進資料庫設計的製作方法
技術領域:
本發明涉及計算,尤其是將最佳實施準則集成進資料庫設計。
背景技術:
資料庫設計涉及對象的創建,包括資料庫、表、視圖、存儲過程、數據類型、觸發器、索引等等。這些對象具有必須關聯值的屬性,彼此或者是孤立的,或者是相關的。通常,在資料庫對象的創建中,要執行一或多個驗證過程來確保設置值的正確性。一般地,在正確性驗證後,由資料庫系統執行創建語句,引起對象的創建或者資料庫對象設置的持久保存。
儘管值的有效性或正確性是在創建對象之前判定,但值一般不對適合性檢查。給定值可能適合於一個資料庫設計,但同樣的值,儘管正確,不適合於另一資料庫設計。給定值是否適合於特定資料庫對象一般由應用指定,並可能取決於賦給相關對象的值。另外,給定值是否適合於特定對象可能隨時間變化或發展。不合適的值或一組值可能影響資料庫應用程式的性能、可用性和安全性,因此適當地設置值是至關重要的。
如果有種方法,能夠在創建資料庫對象前確保適當地設置資料庫對象值從而不太可能設置出不合適的值,那會很有幫助的。

發明內容
最佳實施準則集成於資料庫應用程式的設計中,因而不太可能設置不合適的值。資料庫對象的提議值可與最佳實施準則的存檔記錄比較。如果提議值沒有遵循最佳實施準則,則可提供最佳實施推薦,並可提供在操縱資料庫對象或設置持久保存前將提議值修改為推薦值的機會。也可提供覆蓋推薦值的機會。
一種用於將最佳實施集成進資料庫設計的系統可包括一最佳實施分析器,它接收關聯於資料庫對象的提議設置的信息,判定是否需要關於資料庫的附加信息,並且如果這樣則檢索附加信息,並在操縱對象或持久保存設置之前或之後提供關於所提議的或現有的設置的反饋。


以上概述及以下說明性實施例的詳細描述將在結合附圖閱讀時得到更好地理解。為了說明本發明,附圖中示出了本發明的示例結構;然而,本發明不限於所公開的特定方法和工具。在附圖中圖1是一方框圖,示出在其中可實現本發明各方面的示例計算環境;圖2是依照本發明的一個實施例將最佳實施集成進資料庫設計的方法的流程圖;圖3是依照本發明的一個實施例將最佳實施集成進資料庫設計的系統的方框圖;圖4是依照本發明的一個實施例將最佳實施集成進資料庫設計的系統的方框圖,它示出系統內的信息流;以及圖5是依照本發明的一個實施例將最佳實施集成進資料庫設計的另一方法的流程圖。
詳細說明概述假設規劃一可通過網際網路訂購的新的商品資料庫。假設資料庫對象包括相關於資料庫容量和增長的屬性。資料庫的「FILEGROWTH(文件增長)」屬性可指出當資料庫填滿並需要更多空間時可以增長多少。「FILEGROWTH」可指出資料庫增長是以一固定量(例如每次達到空間限制時,在資料庫容量上增加另外的90兆空間)還是特定百分比(例如每次達到空間限制時,在為資料庫分配的空間上增加初始或現有資料庫容量的另外10%)增量的。
假設商品資料庫的容量初始設置為10兆,而增長屬性按10%設置到FILEGROWTH。如果在系統可能最忙的這天當中達到了資料庫空間限制,顧客或許會感覺到由於自動增長,進程響應慢下來了。因此,按10%設置經常更新的、十兆資料庫的增長屬性到FILEGROWTH可以認為是非期望的。開始就創建更大的資料庫(例如一百兆資料庫)並且按20%在半夜安排其增長可能是更好的實施,那個時候可能只有較少的顧客。
按照本發明的一些實施例,交互式最佳實施分析器可在資料庫建立時調用。交互式最佳實施分析器可查閱已知關於新資料庫的信息和/或基於最佳實施的值的存檔記錄來確定正在建立的特定資料庫的最佳實施準則。響應於接收資料庫中對象屬性的提議設置(值),返回關於提議值的反饋,因此資料庫對象屬性的合適值更有可能被選擇。
類似地,現有資料庫可能隨時間變化,因而資料庫的初始特徵不再有效。按照本發明的一些實施例,為遵循最佳實施準則而分析對現有資料庫進行的修改。可提供關於對最佳實施準則的遵循的反饋。
示例計算環境圖1及以下討論旨在提供本發明在其中可實現的合適計算環境的簡要描述。但是應該理解,手持式、可攜式和其它各種計算設備都可考慮連同本發明一起使用。儘管以下描述了通用計算機,但這是個示例,且本發明只需要具有網絡伺服器互通性和交互性的瘦客戶機。這樣,本發明可在網絡化主機服務的環境中實現,其中只牽涉很少或最少的客戶機資源,例如其中客戶機設備只作為到全球資訊網的瀏覽器或接口的網絡化環境。
儘管不需要,本發明可通過應用編程接口(API)實現,由開發者使用,和/或包括在網絡瀏覽軟體內,後者將在由諸如客戶工作站、伺服器或其它設備的一或多臺計算機執行、諸如程序模塊的計算機可執行指令的通用環境中描述。通常,程序模塊包括執行特定任務或實現特定抽象數據結構的例程、程序、對象、組件、數據結構等。一般地,程序模塊的功能可以按期望與各種實施例結合或分布。而且,本領域熟練技術人員將理解,本發明可用其它計算機系統配置實施。其它可能適用於本發明的眾所周知的計算系統、環境和/或配置包括,但不限於,個人計算機(PC)、自動化播音機器、伺服器計算機、手持或膝上型設備、多處理器系統、基於微處理器系統、可編程消費電子產品、網絡PC、小型機、主機計算機等等。本發明還可在分布式計算環境中實施,其中任務由通過通信網絡或其它數據傳輸介質連接的遠程處理設備完成。在分布式計算環境中,程序模塊可位於包括存儲器存儲設備的本地和遠程計算機存儲介質中。
圖1如此示出了本發明在其中可以實現的合適計算系統環境100的示例,儘管如上所澄清的,計算環境100隻是合適計算環境的一個示例,而非旨在建議任何對於本發明的使用或功能範圍的限制。計算環境100不應解釋為具有相關於任何示例操作環境100中所示的任一組件或其組合的任何依賴性或需求。
參考圖1,實現本發明的示例系統包括計算機100形式的通用計算設備。計算機110的組件可包括,但不限於,處理單元120、系統存儲器130和將包括系統存儲器在內的各種系統組件連接到處理單元120上的系統總線121。系統總線121可以是任意幾種類型的總線結構,包括存儲器總線或存儲器控制器、外圍設備總線和使用各種各樣總線結構的任意一種的局域總線。作為示例而非限制,這種結構包括工業標準結構(ISA)總線、微通道結構(MCA)總線、增強型ISA(EISA)總線、視頻電子標準協會(VESA)局域總線和外設組件互聯(PCI)總線(也稱為Mezzanine總線)。
計算機110一般包括各種計算機可讀介質。計算機可讀介質可以是任意可由計算機110訪問的可用介質並包括易失性和非易失性、可移動和不可移動介質。作為示例而非限制,計算機可讀介質可包括計算機存儲介質和通信介質。計算機存儲介質包括用諸如計算機可讀指令、數據結構、程序模塊或其它數據等信息的任意存儲方法或技術所實現的易失性和非易失性、可移動和不可移動介質。計算機存儲介質包括但不限於,RAM、ROM、EEPROM、快閃記憶體或其它存儲器技術、CDROM、數字通用盤(DVD)或其它光碟存儲器、磁帶盒、磁帶、磁碟存儲器、或另外磁存貯器或任意其它可用來存儲所需信息並能由計算機110訪問的其它介質。通信介質一般包含計算機可讀指令、數據結構、程序模塊或諸如載波或其它傳輸機制的調製數據信號中的其它數據並包括任意信息傳送介質。術語「調製數據信號」意指具有以在信號中編碼信息這樣的方式設置或修改的一或多個其特徵的信號。作為示例而非限制,通信介質包括諸如有線網絡或直接線纜連接的有線介質和諸如聲波、RF、紅外和其它無線介質的無線介質。上述任意的組合也應該包括在計算機可讀介質範圍內。
系統存儲器130包括易失性和/或非易失性存儲器形式的計算機存儲介質,諸如只讀存儲器(ROM)131和隨機訪問存儲器(RAM)132。基本輸入/輸出系統133(BIOS),包含在諸如啟動期間幫助計算機110內元件間傳送信息的基本例程,一般存儲在ROM131內。RAM132一般包含由處理單元120立即訪問和/或現在正在操作的數據和/或程序模塊。作為示例而非限制,圖1示出作業系統134、應用程式135、其它程序模塊136和程序數據137。
計算機110還可包括其它可移動/不可移動、易失性/非易失性計算機存儲介質。作為示例,圖1示出讀取或寫入不可移動、非易失性磁介質的硬碟驅動器141、讀取或寫入可移動、非易失性磁碟152的磁碟驅動器151和讀取或寫入可移動、非易失性光碟156,諸如CD ROM或其它光介質的光碟驅動器155。其它可用於示例操作環境的可移動/不可移動、易失性/非易失性計算機存儲介質包括但不限於,磁帶盒、快閃記憶體卡、數字通用盤、數字錄像帶、固態RAM、固態ROM等。硬碟驅動器141一般通過諸如接口140的不可移動存儲接口連接到系統總線121上,而磁碟驅動器151和光碟驅動器155一般通過諸如接口150的可移動存儲接口連接到系統總線121上。
以上討論和示於圖1的驅動器及其相關計算機存儲介質為計算機110提供計算機可讀指令、數據結構、程序模塊和其它數據的存儲。在圖1中,例如,硬碟驅動器141示出為存儲作業系統144、應用程式145、其它程序模塊146和程序數據147。注意這些組件可以與作業系統134、應用程式135、其它程序模塊136和程序數據137相同或不同。這裡給以作業系統144、應用程式145、其它程序模塊146和程序數據147不同的數字表示,最少,它們是不同的拷貝。用戶可通過諸如鍵盤162和通常指滑鼠、軌跡球或觸摸板的定點設備161輸入命令和信息。其它輸入設備(未示出)可包括話筒、遊戲杆、遊戲板、衛星天線、掃描儀等。這些和其它輸入設備常常通過連接在系統總線121上的用戶輸入接口160連接到處理單元120上,但也可由諸如並行埠、遊戲埠或通用串行總線(USB)的其它接口和總線結構連接。
監視器191或其它類型的顯示設備也可通過諸如視頻接口190的接口連接到系統總線121。諸如北橋(Northbridge)等圖形接口182也可連接到系統總線121。北橋是與CPU或主機處理單元120通信的晶片組,並承擔加速圖形埠(AGP)通信的責任。一或多個圖形處理單元(CPU)184可與圖形接口182通信。在這點上,GPU184通常包括片內存儲器存儲,諸如寄存器存儲,且GPU184與視頻存儲器186通信。但是,GPU184隻是協處理器的一個示例,且因而各種協處理器設備可包括在計算機110中。監視器191或其它類型的顯示設備也可通過諸如視頻接口190的接口連接到系統總線121,接口可依次與視頻存儲器186通信。除了監視器191外,計算機還可包括其它外圍輸出設備,諸如揚聲器197和印表機196,它們可通過輸出外圍接口195連接。
計算機110可使用到諸如遠程計算機180的一或多臺遠程計算機的邏輯連接運行於網絡化環境。遠程計算機180可以是個人計算機、伺服器、路由器、網絡PC、對等設備或其它普通網絡節點,並一般包括許多或所有上述關於計算機110的元件,儘管圖1中只示出了存儲器存儲設備181。圖1所示的邏輯連接包括區域網(LAN)171和廣域網(WAN)173,但還可包括其它網絡。這樣的網絡環境在辦公室、企業範圍計算機網絡、內聯網和網際網路上是很普遍的。
當用於LAN網絡環境時,計算機110可通過網絡接口或適配器170連接到LAN171。當用於WAN網絡化環境時,計算機110一般包括數據機172或其它用於在諸如網際網路的WAN173上建立通信的裝置。數據機172,可以是內置的或外置的,可通過用戶輸入接口160或其它適當的機制連接到總線121。在網絡化環境中,所述相關於計算機110的程序模塊或其部分可以存儲在遠程存儲器存儲設備中。作為示例,而非限制,圖1示出遠程應用程式185為駐留在存儲器設備181上。將要理解,所示網絡連接是示例性的,且可使用在計算機之間建立通信連接的其它方法。
本領域普通技術人員能夠理解,計算機110或其它終端設備可布署為計算機網絡的一部分。在這點上,本發明適合於任何具有任意數量存儲器或存儲單元或容量的任意計算機系統,且任意數量的應用程式和過程跨任意數量的存儲單元或容量發生。本發明可應用於帶有布署在網絡環境中的伺服器計算機和客戶端計算機的環境,具有遠程或本地存儲器。本發明還可應用於獨立計算機設備,它具有程式語言功能、解釋和執行能力。
最佳實施準則到資料庫設計的集成圖2是用於將最佳實施準則集成到資料庫設計的示例方法200的流程圖。方法200的一或多步驟是可選的。
在步驟202,可接收到提議對象操縱語句或一組語句。在本發明的一些實施例中,對象操縱語句可包括諸如但不限於BACKUP(備份)和RESTORE(恢復)的操作。示例對象操縱語句可包括CREATE(創建)、ALTER(變更)、DROP(丟棄)、SHRINK(縮減)、ATTACH(附加)、DETACH(分離)、BACKUP和RESTORE語句以及其它語句。在本發明的一些實施例中,對象操縱語句提供於數據定義語言(DDL)中,諸如ANSI(美國國家標準協會)SQL DDL,儘管所預期的本發明不限於此。
在本發明的一些實施例中,驗證提議對象操縱語句來判定要賦值給資料庫對象的提議值是否有效或正確,即,這樣的值是否是對象的允許值。可執行一或多層驗證。
在步驟204,提議值可與被視為表示對於類型在其上創建、設計、變更或操作的資料庫的最佳實施的存檔值比較。
在步驟206,可分析語句來判定它是否遵循最佳實施,即是否該值被視為是對象所關聯的特定資料庫的適當值。在步驟208,如果語句遵循最佳實施,可按照對象操縱語句操縱對象(例如,對象可創建或更改,屬性值持續不變等)。在步驟210,如果語句不遵循最佳實施,可返回包括關聯於相關最佳實施準則信息的反饋。返回的反饋可包括接收推薦的較完全解釋的選項。反饋還可在執行操縱前提供遵循最佳實施準則的值。
在步驟212,可提供修改提議值的機會。如果提議值修改為遵循最佳實施推薦,可在步驟208執行操縱。在步驟214,可提供覆蓋最佳實施推薦的機會。如果推薦被覆蓋,操縱可在步驟208執行,使用非遵從值。
假設,例如,用戶想要創建一存儲過程來返回給定訂單的銷售信息。用戶可輸入以下內容(步驟202)

在步驟204,可分析該創建過程(Create Procedure),且可判定用以「sp_」開始的名字調用此過程不是最佳實施。在步驟210,可用對話框形式返回反饋,它包括諸如這樣的消息「你用了sp_作為你的存儲過程的命名約定。這不是最佳實施。推薦的命名約定為『usp_』。要看為什麼這不是最佳實施的更多信息請選擇X。」即,在這個示例中,以上存儲過程的合適名字應該是usp_CustOrdersDetail。因此,最佳實施遵從的存儲過程可如下


在步驟212,可提供修改存儲過程的機會。如果修改存儲過程以遵循最佳實施推薦,可在步驟208創建對象。
圖3是用於將最佳實施準則集成進資料庫設計的系統的方框圖。系統可用來創建新資料庫對象或者更改或修改現有資料庫對象。資料庫對象可駐留在安裝在一或多臺計算機上的一或多個資料庫中。用於將最佳實施準則集成進資料庫設計的系統可駐留在諸如以上相關圖1所述計算機110的計算機上,或者可跨通過如相關圖1所述的通過網絡連接的一或多臺計算機分布。
按照本發明一些實施例的用於將最佳實施準則集成成資料庫設計的系統可包括以下組件的一或多個接口312,接收輸入310並傳輸關聯於輸入310的信息到API(應用編程接口)模塊314;API314,接收關聯於輸入310的信息並將關聯於此的信息傳輸到最佳實施工具316;最佳實施工具316,從API314接收關聯於輸入310的信息並將關聯於最佳實施的信息返回到API314;最佳實施規則數據存貯器322;以及一或多個諸如資料庫302的資料庫。
諸如資料庫302的資料庫可包括許多對象,諸如對象304、306等。對象304、306等可被創建、更改、改變、刪除和/或在其上操作。這些對象可以關聯於屬性,諸如尺寸、所有權、安全等等。資料庫302可以是關係資料庫管理系統(RDMS),諸如微軟SQL伺服器、微軟Access、Oracle、IBM DB2、Informix、Sybase、MySql、InterBase等。
數據存儲器322可包括一或多個規則或最佳實施。在本發明的一些實施例中,有關聯於資料庫302和關聯於資料庫302內對象304、306等的一系列規則或最佳實施320a、320b、320c等。規則320a、320b、320c等可以是特定實現,即數據存儲器322可只包括那些關聯於具有可兼容於資料庫302特徵的資料庫的最佳實施準則。可供選擇地,規則320a、320b、320c等的數據存儲器322可包括許多不同類型的資料庫的最佳實施的數據存儲器,從中可為針對資料庫302的應用程式選擇關聯於象資料庫302這樣的資料庫的最佳實施準則。
最佳實施工具316(在一些實施例中它可包括最佳實施引擎318)可讀取一或多條規則320a、320b、320c等,它們告訴最佳實施引擎318如何按照最佳實施測試資料庫302。在本發明的一些實施例中,最佳實施引擎318是可擴展的,即新規則可添加到規則庫322中。
規則320a、320b、320c等可以有給定資料庫內更大或更小的環境或適合程度。例如,一些規則事實上可應用於所有類型的資料庫。其它規則只可應用於那些具有特定設置或特徵的資料庫。例如,一給定規則可根據資料庫的大小、資料庫的複雜性或根據資料庫的某個特徵或某組特徵來應用。在本系統的一些實施例中,應用於資料庫的該組規則可由要實現或修改的資料庫的特徵來判定。規則320a、320b、320c等可共同包括數據存儲器322,實現為一個文件、文件集合、資料庫等。數據存儲器322或者一或多條規則320a、320b、320c等可駐留在計算機110和/或從諸如網際網路的計算機網絡上的遠程站點上下載和/或可駐留在計算機網絡內的一或多臺計算機上。
在本發明的一些實施例中,接口312接收關於對象304、306等的輸入310和關聯於對象304、306等的屬性。接口312可包括表示接口內粒度級別的一或多層。輸入310可包括關聯於對象304、306等的諸如備份、恢復、創建、更改或刪除等對象操縱操作的信息。在一些實施例中,例如,輸入310可包括創建或修改存儲過程的一個或一組語句或改變資料庫FILEGROWTH的ALTER語句,如上所述。輸入可以在關聯於RDMS的數據定義語言中。一些實施例中的接口312接收輸入310並發送關聯於輸入310的信息到API314。一些實施例中的API314與最佳實施工具316通信並判定輸入310是否遵循資料庫302的最佳實施。
如果輸入遵循最佳實施規則資料庫322,在一些實施例中由API314按照輸入310更新資料庫302,保持創建的對象或設置等,如上所述。如果輸入不遵循最佳實施規則資料庫322,可通過API314和接口312返回指示,例如,特定設置未遵循最佳實施的消息。在一些實施例中,非遵從設置可被覆蓋。在一些實施例中,非遵從設置可改變至預確定值。消息可通過顯示屏上的對話框可編程地返回到程序模塊,或通過任意合適的方法。
在本發明的一些實施例中,檢查關聯於對象組的設置組並由設置和對象的組合判定要應用的一或多條最佳實施規則。
圖4是用於將最佳實施集成於資料庫設計內的系統的方框圖,示出組件間的交互。
由箭頭450所指出的,輸入402可提供到用戶界面404。在本發明的一些實施例中,輸入402可以是要進行實現或更改或如上所述的其它對象操縱操作的資料庫的一或多個對象的一或多個屬性的一或多個提議設置。輸入402可由用戶提供,諸如但不限於資料庫管理員,或可通過自動資料庫創建工具提供。如箭頭452所指出的,用戶界面404可與在用戶界面404和資料庫408之間接口的API406通信,提供API406以從輸入402收集的信息和(可選地)關聯於輸入402的信息。在本發明的一些實施例中,AP1406可創建對象的工作拷貝。如箭頭454所指出的,API406可與最佳實施分析器412的最佳實施引擎410接口,提供關於對象的信息和(可選地)關於資料庫408的信息至最佳實施分析器412。如箭頭456所指出的,最佳實施分析器412可判定有足夠的信息可用於返回最佳實施信息到API406。最佳實施信息可如箭頭458所指出的返回接口404。如箭頭460所指出的,接口404可在顯示器414上顯示最佳實施信息,或者返回信息(例如,可編程地至另一模塊)。
可供選擇地,最佳實施分析器412可判定沒有足夠的信息可用於返回答案到API406,並可由箭頭462所指出的,訪問資料庫408來判定什麼已經為資料庫408建立(例如,判定資料庫內對象的環境)。如箭頭464所指出的,信息可從資料庫408返回到最佳實施分析器412。根據從API406和資料庫408接收的信息,最佳實施分析器412可分析在資料庫408環境內輸入402中接收的提議設置並返回最佳實施信息至API406,如箭頭466所指出的。此信息可如箭頭468所指出的返回給接口404用於在顯示器414上顯示。
可供選擇地,最佳實施分析器412可判定從API及可選地從資料庫408接收的信息是否代表最佳實施並可返回此信息到API406(箭頭472)。API406可更新資料庫408(箭頭474),保持所創建的、修改的或操縱的資料庫對象。指出資料庫已更新(保持的設置)的消息可通過API406和用戶界面404返回。在這點上,處理可重複直至會話結束。
最佳實施信息可包括諸如提議設置為什麼不組成最佳實施的解釋、關於設置應該是什麼的推薦、關於最佳實施推薦的進一步信息的位置等的信息。在本發明的一些實施例中,最佳實施推薦可被覆蓋。可供選擇地,可強制一些最佳實施推薦。
圖5是依照本發明一些實施例用於將最佳實施集成進資料庫設計的方法的流程圖。該方法的一或多個步驟是可選或可省略的。在步驟502可接收輸入。如上所述,輸入可以是資料庫中對象的提議設置。例如,假設用戶正建立大型(一兆兆字節)企業級商品資料庫的備份策略。在這種情況下,輸入可表示資料庫A每天太平洋標準時間下午3點全部備份。
在步驟504,輸入信息可發送到API。例如,資料庫A 3pm PST/一天一次的備份時間/頻率可發送至API。API可創建帶有3pm PST/一天一次設置的備份對象的拷貝。
在步驟506,關聯於輸入信息的信息可發送到最佳實施分析器。例如,資料庫A 3pm PST/一天一次的備份時間/頻率可發送至最佳實施分析器。
在步驟508,可對完備性檢查輸入信息。如果不需要附加信息,處理可繼續至步驟516。如果需要附加信息,處理可繼續至步驟512。例如,如果接收的輸入不包括關聯於資料庫大小、資料庫特性和資料庫可能多久改變的指示等的信息,最佳實施分析器可判定不存在足夠的信息來返回最佳實施推薦。在步驟512,可訪問資料庫來檢索所需信息(步驟514)。例如,在步驟512,可訪問資料庫A來確定附加信息。從資料庫A返回的信息(步驟514)可指出資料庫A是用於在網際網路上購買可訪問的高-交易-容量、企業-級、一-兆兆字節商品資料庫。
在步驟516,最佳實施分析器可分析輸入信息和從資料庫檢索的信息。例如,最佳實施分析器可分析資料庫A的輸入信息備份時間/3pm PST的頻率/一天一次以及從資料庫檢索的信息可在網際網路上為購買而訪問的高交易、企業級、一兆兆商品資料庫。在步驟518,最佳實施分析器可判定步驟502接收的輸入是否包括最佳實施(對於靜態規則)或可判定在步驟514從資料庫檢索到的信息環境內在步驟502接收到的輸入(對於動態規則)是否包括最佳實施。如果是這樣,處理繼續至步驟524且資料庫中適當對象的屬性更新或設置(持久保存)且處理返回至步驟502。如果不是這樣,處理可繼續在步驟520,且最佳實施信息在步驟520返回到API及在步驟522返回到接口。在這點上,處理可為要接收的附加輸入返回至步驟502。可供選擇地,最佳實施推薦可覆蓋,且資料庫設計可用提議設置更新。
將要理解,以上所引用的屬性示例(即對於快速增長的資料庫的頻繁的「autogrow」選項或者在3pm PST創建大型繁忙資料庫的全備份),是適於某些資料庫而不適於其它的設置示例。這樣一條規則的分析可要求資料庫如以上關於步驟512和514所述被訪問。例如,設置資料庫為頻繁自動增長不一定是壞的實施。例如,微軟的SQL SERVER的頻繁自動增長特性可能適合於具有相對小負載的小資料庫,但可能資料庫越大、負載越大而變得越來越不合適,直到在某一點頻繁自動增長不再認為是最佳實施。
同樣地,一天一次在3pm PST設置全備份可能完全適合於很少用的家庭資料庫,而完全不適合於一天更新數千萬次的大型公共資料庫。
其它資料庫對象屬性可實際應用於所有資料庫。如上關於步驟512和514所述的訪問資料庫可能不是必需的。這樣一個屬性的示例可以是一段稱為存儲過程的功能代碼的命名。用始於「sp_」的名字命名存儲過程鑑於訪問速度的原因可能被認為是壞實施。
將要理解,當以上實施例在資料庫系統的環境內描述時,所預期的本發明並非如此限制。例如,以上所述可應用於任何包括但不限於包括如下的伺服器產品微軟SQL Server、微軟Access、Oracle、IBM DB2、Informix、Sybase、MySql、InterBase等。同樣地,儘管以上是在由面向對象語言實現的對象的環境內描述的,但預期的本發明並非如此限制,任何編程技術或編程技術的組合都可在所討論的伺服器產品的代碼和實現中使用。
這裡所述的各種技術都可結合硬體或軟體,或在合適的地方與兩者的結合,實現。這樣,本發明的方法和裝置或其某些方面或部分,可表現為嵌入在諸如軟盤、CD-ROM、硬碟驅動器或任何其它機器可讀存儲介質中的程序代碼(即指令)的形式,其中,當程序代碼載入並由諸如計算機的機器執行時,機器成為實施本發明的一種裝置。在可編程計算機上程序代碼執行的情況下,計算設備通常將包括處理器、可由處理器讀取的存儲介質(包括易失性和非易失性存儲器和/或存儲元件)至少一個輸入設備以及至少一個輸出設備。可利用本發明的特定領域創建和/或實現的程序模型方面的一或多個程序,例如,通過數據處理API等的使用,可較佳地以高級過程或面向對象語言實現,來與計算機系統通信。然而,程序可用彙編或機器語言實現,如果希望的話。在任意情況下,語言可以是編譯或解釋語言,並可與硬體實現結合。
儘管本發明已連同各附圖的實施例描述,要理解可使用其它類似的實施例或者可對所述實施例進行修改和添加,以不偏離本發明而完成本發明同樣的功能。因此,本發明不應限制於任意單個實施例,而且應該依照所附權利要求書的廣度和範圍來解釋本發明。
權利要求
1.一種用於將最佳實施準則集成進伺服器產品設計的系統,其特徵在於,包括一最佳實施分析器,它接收一關聯於用於伺服器產品對象的對象操縱的提議對象操縱語句,並在執行所述對象操縱之前將所述提議對象操縱語句與用於所述伺服器產品對象的最佳實施規則相比較。
2.如權利要求1所述的系統,其特徵在於,所述最佳實施分析器返回用於所述對象操縱的最佳實施推薦。
3.如權利要求1所述的系統,其特徵在於,響應於判定所述提議對象操縱語句遵循用於所述伺服器產品對象的最佳實施規則,執行所述對象操縱。
4.如權利要求1所述的系統,其特徵在於,響應於判定所述提議對象操縱語句未能遵循用於所述伺服器產品對象的最佳實施規則,返回一最佳實施推薦。
5.如權利要求1所述的系統,其特徵在於,還包括一接口,用於接收所述提議對象操縱語句並傳送關聯於所述提議對象操縱語句的信息到一應用編程接口模塊,所述應用編程接口傳送關聯於所述提議對象操縱語句的信息到所述最佳實施分析器。
6.如權利要求1所述的系統,其特徵在於,還包括一應用編程接口,它從所述最佳實施分析器傳送最佳實施推薦到用戶界面。
7.如權利要求1所述的系統,其特徵在於,還包括一應用編程接口,它執行所述對象操縱。
8.如權利要求1所述的系統,其特徵在於,所述最佳實施分析器選擇用於所述伺服器產品的最佳實施規則,並將所述最佳實施規則應用於所述提議對象操縱語句來判定所述對象操縱是否遵循推薦的實施。
9.如權利要求1所述的系統,其特徵在於,還包括一最佳實施規則數據存儲器,它包括第一規則和一第二規則,所述第一規則包括用於所述伺服器產品的最佳實施規則。
10.如權利要求1所述的系統,其特徵在於,所述伺服器產品對象包括伺服器產品的一部分,且所述伺服器產品包括資料庫。
11.如權利要求10所述的系統,其特徵在於,所述資料庫是SQL資料庫。
12.如權利要求1所述的系統,其特徵在於,所述提議對象操縱語句包括操作。
13.如權利要求1所述的系統,其特徵在於,所述提議對象操縱語句包括提議屬性設置。
14.一種用於將最佳實施集成進資料庫設計的方法,其特徵在於,包括接收用於資料庫的資料庫對象的對象操縱語句,所述對象操縱語句包括所述資料庫對象的一個屬性的值;在所述資料庫設計環境中分析所述對象操縱語句;以及響應於判定所述值遵循用於所述資料庫對象的最佳實施規則,持久保存所述資料庫對象屬性的值。
15.一種用於將最佳實施集成進資料庫設計的方法,其特徵在於,包括接收用於資料庫的資料庫對象的對象操縱語句,所述對象操縱語句包括關聯於所述資料庫對象的值;分析所述對象操縱語句來判定所述值是否遵循用於所述資料庫的資料庫對象的最佳實施規則;以及響應於判定所述值未能遵循用於所述資料庫的資料庫對象的最佳實施規則,在按照所述對象操縱語句操縱所述資料庫對象前提供關聯於所述最佳實施規則的信息。
16.如權利要求15所述的方法,其特徵在於,所述資料庫是SQL資料庫。
17.如權利要求15所述的方法,其特徵在於,所述對象操縱語句通過用戶界面接收,所述用戶界面傳送關聯於所述對象操縱語句的信息到一應用編程接口。
18.如權利要求15所述的方法,其特徵在於,一最佳實施分析器從所述資料庫檢索關聯於所述對象操縱語句的信息。
19.如權利要求15所述的方法,其特徵在於,一應用編程接口傳送關聯於所述對象操縱語句的信息到一最佳實施分析器。
20.如權利要求15所述的方法,其特徵在於,一最佳實施分析器從最佳實施數據存儲器選擇關聯於所述資料庫對象的所述最佳實施規則,並判定所述值是否遵循所述最佳實施規則。
21.如權利要求15所述的方法,其特徵在於,分析所述對象操縱語句包括選擇關聯於所述資料庫的資料庫對象的最佳實施規則。
22.如權利要求15所述的方法,其特徵在於,還包括提供修改所述值以遵循所述最佳實施規則的機會。
23.如權利要求15所述的方法,其特徵在於,還包括持久保存所述值。
24.一種用於分析資料庫對象的提議屬性設置以判定所述提議屬性設置是否遵循一最佳實施規則的系統,其特徵在於,包括一最佳實施分析器,接收用於資料庫的所述資料庫對象的所述提議屬性設置,並在持久保存所述資料庫對象之前提供所述資料庫對象的最佳實施屬性設置。
25.如權利要求24所述的系統,其特徵在於,還包括一用戶界面,用於接收所述提議屬性設置,並發送關聯於所述提議屬性設置的信息到一應用編程接口。
26.如權利要求24所述的系統,其特徵在於,還包括一應用編程接口,用於接收關聯於所述提議屬性設置的信息並將所述提議屬性設置持久保存在所述資料庫中。
27.如權利要求24所述的系統,其特徵在於,還包括一數據存儲器,包括至少一條最佳實施準則,用於在資料庫環境內為所述資料庫對象設置所述提議屬性設置。
28.一種包括計算機可讀指令的計算機可讀介質,所述計算機可讀指令用於接收資料庫內一個資料庫對象的提議屬性值;在持久保存所述提議屬性值之前,判定所述提議屬性值是否遵循關聯於所述資料庫對象的最佳實施信息的存檔記錄。
29.如權利要求28所述的計算機可讀介質,其特徵在於,還包括計算機可讀指令,用於提供關聯於所述資料庫對象的推薦屬性值的信息。
30.如權利要求28所述的計算機可讀介質,其特徵在於,還包括計算機可讀指令,用於提供在持久保存所述提議屬性值之前修改所述提議屬性值的機會。
31.如權利要求28所述的計算機可讀介質,其特徵在於,還包括計算機可讀指令,用於提供覆蓋所述資料庫對象的推薦屬性設置的機會。
全文摘要
將最佳實施準則集成進資料庫應用程式的設計,因此不太可能設置出不適當的值。資料庫對象的提議值可與最佳實施準則的存檔記錄比較。如果提議值沒有遵循最佳實施準則,則可提供最佳實施推薦,並可提供在操縱資料庫對象或設置持久保存前將提議值修改為推薦值的機會。
文檔編號G06F11/32GK1716250SQ20051007587
公開日2006年1月4日 申請日期2005年5月27日 優先權日2004年6月28日
發明者C·克萊納曼, E·P·加登, M·S·拉希姆 申請人:微軟公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀