freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

oracle9i數(shù)據(jù)庫設計指引全集(編輯修改稿)

2025-06-09 22:33 本頁面
 

【文章內(nèi)容簡介】 較大的表,根據(jù)表數(shù)據(jù)的屬性進行分區(qū),以得到較好的性能。如果表按某些字段進行增長,則采用按字段值范圍進行范圍分區(qū)。如果表按某個字段的幾個關(guān)鍵值進行分布,則采用列表分區(qū)。對于靜態(tài)表,則采用hash分區(qū)或列表分區(qū)。在范圍分區(qū)中,如果數(shù)據(jù)按某關(guān)鍵字段均衡分布,則采用子分區(qū)的復合分區(qū)方法?! ?聚蔟表  如果某幾個靜態(tài)表關(guān)系比較密切,則可以采用聚蔟表的方法。   完整性設計原則   主鍵約束  關(guān)聯(lián)表的父表要求有主健,主健字段或組合字段必須滿足非空屬性和唯一性要求。對于數(shù)據(jù)量比較大的父表,要求指定索引段。   外鍵關(guān)聯(lián)  對于關(guān)聯(lián)兩個表的字段,一般應該分別建立主鍵、外鍵。實際是否建立外鍵,根據(jù)對數(shù)據(jù)完整性的要求決定。為了提高性能,對于數(shù)據(jù)量比較大的標要求對外健建立索引。對于有要求級聯(lián)刪除屬性的外鍵,必須指定on delete cascade 。   NULL值  對于字段能否null,應該在sql建表腳本中明確指明,不應使用缺省。由于NULL值在參加任何運算中,結(jié)果均為NULL。所以在應用程序中必須利用nvl()函數(shù)把可能為NULL值得字段或變量轉(zhuǎn)換為非NULL的默認值。例如:NVL(sale,0)?! ?Check條件  對于字段有檢查性約束,要求指定check規(guī)則?! ?觸發(fā)器  觸發(fā)器是一種特殊的存儲過程,通過數(shù)據(jù)表的DML操作而觸發(fā)執(zhí)行,起作用是為確保數(shù)據(jù)的完整性和一致性不被破壞而創(chuàng)建,實現(xiàn)數(shù)據(jù)的完整約束。  觸發(fā)器的before或after事務屬性的選擇時候,對表操作的事務屬性必須與應用程序事務屬性保持一致,以避免死鎖發(fā)生。在大型導入表中,盡量避免使用觸發(fā)器。   注釋  表、字段等應該有中文名稱注釋,以及需要說明的內(nèi)容?! ?索引設計  對于查詢中需要作為查詢條件的字段,可以考慮建立索引。最終根據(jù)性能的需要決定是否建立索引。對于復合索引,索引字段順序比較關(guān)鍵,把查詢頻率比較高的字段排在索引組合的最前面。在分區(qū)表中,盡量采用local分區(qū)索引以方便分區(qū)維護。  除非時分區(qū)local索引,否則在創(chuàng)建索引段時候必須指定指定索引段的tablespace、storage屬性?! ?視圖設計  視圖是虛擬的數(shù)據(jù)庫表,在使用時要遵循以下原則:  從一個或多個庫表中查詢部分數(shù)據(jù)項。  為簡化查詢,將復雜的檢索或字查詢通過視圖實現(xiàn)?! √岣邤?shù)據(jù)的安全性,只將需要查看的數(shù)據(jù)信息顯示給權(quán)限有限的人員?! ∫晥D中如果嵌套使用視圖,級數(shù)不得超過3級。  由于視圖中只能固定條件或沒有條件,所以對于數(shù)據(jù)量較大或隨時間的推移逐漸增多的庫表,不宜使用視圖??梢圆捎脤嶓w化視圖代替?! 〕厥庑枰?,避免類似Select * from [TableName] 而沒有檢索條件的視圖?! ∫晥D中盡量避免出現(xiàn)數(shù)據(jù)排序的SQL語句?! ?包設計  存儲過程、函數(shù)、外部游標必須在指定的數(shù)據(jù)包對象PACKAGE中實現(xiàn)。存儲過程、函數(shù)的建立如同其它語言形式的編程過程,適合采用模塊化設計方法。當具體算法改變時,只需要修改需要存儲過程即可,不需要修改其它語言的源程序。當和數(shù)據(jù)庫頻繁交換數(shù)據(jù)是通過存儲過程可以提高運行速度,由于只有被授權(quán)的用戶才能執(zhí)行存儲過程,所以存儲過程有利于提高系統(tǒng)的安全性?! 〈鎯^程、函數(shù)必須檢索數(shù)據(jù)庫表記錄或數(shù)據(jù)庫其他對象,甚至修改(執(zhí)行Insert、Delete、Update、Drop、Create等操作)數(shù)據(jù)庫信息。如果某項功能不需要和數(shù)據(jù)庫打交道,則不得通過數(shù)據(jù)庫存儲過程或函數(shù)的方式實現(xiàn)。在函數(shù)中避免采用DML或DDL語句?! ≡跀?shù)據(jù)包采用存儲過程、函數(shù)重載的方法,簡化數(shù)據(jù)包設計,提高代碼效率。存儲過程、函數(shù)必須有相應的出錯處理功能?! ?安全性設計   管理默認用戶  在生產(chǎn)環(huán)境中,必須嚴格管理sys和system用戶,必須修改其默認密碼,禁止用該用戶建立數(shù)據(jù)庫應用對象。刪除或鎖定數(shù)據(jù)庫測試用戶scott ?! ?數(shù)據(jù)庫級用戶權(quán)限設計  必須按照應用需求,設計不同的用戶訪問權(quán)限。包括應用系統(tǒng)管理用戶,普通用戶等,按照業(yè)務需求建立不同的應用角色。  用戶訪問另外的用戶對象時,應該通過創(chuàng)建同義詞對象synonym進行訪問?! ?角色與權(quán)限  確定每個角色對數(shù)據(jù)庫表的操作權(quán)限,如創(chuàng)建、檢索、更新、刪除等。每個角色擁有剛好能夠完成任務的權(quán)限,不多也不少。在應用時再為用戶分配角色,則每個用戶的權(quán)限等于他所兼角色的權(quán)限之和?! ?應用級用戶設計  應用級的用戶帳號密碼不能與數(shù)據(jù)庫相同,防止用戶直接操作數(shù)據(jù)庫。用戶只能用帳號登陸到應用軟件,通過應用軟件訪問數(shù)據(jù)庫,而沒有其它途徑操作數(shù)據(jù)庫?! ?用戶密碼管理  用戶帳號的密碼必須進行加密處理,確保在任何地方的查詢都不會出現(xiàn)密碼的明文。   SQL編寫   字符類型數(shù)據(jù)  SQL中的字符類型數(shù)據(jù)應該統(tǒng)一使用單引號。特別對純數(shù)字的字串,必須用單引號,否則會導致內(nèi)部轉(zhuǎn)換而引起性能問題或索引失效問題。利用trim(),lower()等函數(shù)格式化匹配條件。   復雜sql  對于非常復雜的sql(特別是有多層嵌套,帶子句或相關(guān)查詢的),應該先考慮是否設計不當引起的。對于一些復雜SQL可以考慮使用程序?qū)崿F(xiàn)?! SER_TAB_COMMENTS 數(shù)據(jù)字典  Comment on 可加注解   高效性   避免In子句  使用In 或 not In子句時,特別是當子句中有多個值時,且查詢數(shù)據(jù)表數(shù)據(jù)較多時,速度會明顯下降。可以采用連接查詢或外連接查詢來提高性能?! har 比 varchar 查詢時高詢  在進行查詢及建立索引時,char比varchar的效率要高,當然varchar在存儲上比char要好   避免嵌套的Select子句  這個實際上是In子句的特例?! ?避免使用Select * 語句  如果不是必要取出所有數(shù)據(jù),不要用*來代替,應給出字段列表,注:不含select count(*)?! ?避免不必要的排序  不必要的數(shù)據(jù)排序大大的降低系統(tǒng)性能。   健壯性   Insert語句  使用Insert語句一定要給出要插入值的字段列表,這樣即使更改了表結(jié)構(gòu)加了字段也不會影響現(xiàn)有系統(tǒng)的運行?! ?Count(*)、Count(*)、count(distinct id)的區(qū)別  Select count(*) from testtab  得到表testtab的記錄數(shù)  select count(id) from testtab  得到表testtab id字段非空記錄數(shù)  select count(distinct id) from testtab  得到表testtab id字段值非相同記錄數(shù)   Not null 為字段類型性質(zhì)的約束  本約束功能在后期無語法使期失效,可使用修改字段類型方式  alter table modif
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1