999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

數據庫中表設計原則分析

2016-03-07 00:55:40陳紅艷
無線互聯科技 2015年18期

陳紅艷

摘要:文章指出,數據結構設計時任何一個應用系統運行的支撐,是整個應用系統的基礎,在設計過程中結構設計存在缺陷,那么相對其進行調整只通過數據庫的參數是遠遠不夠的。通常來講,需要清除用戶復雜表的結構以及表中這樣的表的大小,從而拆開幾個有關系的表結構。不能單單將用戶標原封不動地進行轉換,這樣的行為方式是非常不明智的。

關鍵詞:數據庫邏輯設計;表;主鍵;字段及類型

在Oracle應用中,除了影響性能的大都是系統的配置參數等原因外,影響應用系統性能的另一個原因是應用程序的編寫不當。因而,調整應用程序也是改善性能的一個方面。

在對系統分析這個階段中,需要有工作經驗的分析員以及編程人員跟客戶一起討論商量。這個過程所需要做的工作就是聆聽客戶的需求。當全面理解客戶的初步需求之后,就需要分析員將客戶的這些需求以文檔的形式進行歸檔,即是將數據的需求定義編寫。然后根據E R圖進行邏輯設計。設計應盡量遵循如下原則。

1主鍵字段的正確選擇

在對主鍵字段選擇的時候,對其要求是非常重視的,要求其不能有重復的值現象發生,對于留空的一定要杜絕發生,這是主鍵選段的最基礎的要求。在這過程中還需要注意以下幾個方面內容:(1)主鍵的選擇不能采用單位形式,不能過長的采用列值。(2)主鍵的選擇建議采用字符或者數型。(3)不能使用類似日期、浮點之類的形式。(4)使用過程中出現主鍵重復,那么可以選擇2個字段作主鍵,但是不推薦使用3個以上作為主鍵。

2字段類型以及長度的選擇

在設計的過程中,每個設計者的思維是不同的,在一個字段的表示上,不同的設計者給出的結果是不相同的,有時候定義的字段其實際意義各不相同。在這個程度上,目前的理論內容還沒有完全給出一個定義來定義這種現象,所以,眾多人表示只要字段能夠滿足客戶要求就行。其實面對一個比較復雜的應用系統,在定義字段過程中需要考慮的變化因素是眾多的。筆者經過多年實際工作經驗對應用以及設計進行分析,以供同行參考。

2.1如果能用字符型就不要用數字型

在設計過程,有很多的地方、很多字段都是可以用字符型以及數字型進行表示,例如,工作員的身份證號。其內容基本上都是以數字組成。身份證的每一個部位都包含特殊的含義,其在輸入以及查詢的過程中都會有一套嚴密的核查方法。例如:最后一位表示男(1)或女(2)。當用字符型時,可以在輸入中用where substr(per_id,15,1)=l'orsubstr(per_id,15,1)=2來檢查數據的正確性。如果采用數字這樣的判斷就不那么容易了。

2.2運算過程需求一致

在定義字段的過程中,除了要求數字型能夠容納日后也許變化的數據之外,還有一部分內容是值得重視的,即在可能參加運算的字段中,其長度和精度必須是保持一致的。

這樣的處理方法,看上去會在一定程度上浪費空間,但是,沒有必要去擔心空間的使用程度,因為,假設其長度以及精度相差不齊,那么在運算過程中容易有算錯的結果出現。

例如,可以采取PRO*C進行編程工作。當表內的數字字段的定義發生變量的時候,C編譯不會去檢查其中一致性的關系。舉個例子說明:在表里面字段顯得大,而在C語言中能夠說明其小,當將表中的字段取出放到表量的過程中,語言沒有提示錯誤的現象發生。在不經過任何轉換的形式下進行運算,就會有不同的結果產生。

2.3不能為節省空間隨意拆開字節

隨著科技的迅猛發展,目前的儲存硬件的發展進步是相當快的,在當前的應用設計階段不要講以往教科書里面的理論帶到現在的環境中。這里所說的是指,實際的用戶需要就是字段的長度需要。比如,有人經常將日期分成3個字段來定義,可能寫nian char(2),即2位的年;yue char(1)即1位的月,ri char(2),2位的日。這樣在年份只能存放2位,2000年存為00,2001年存為01;而月份就不同了,設計者要求用戶1月輸入成1,2月輸入成2,…而10月輸入成a;11月輸入成b等。

這種設計形式好像節省了很多的空間,但實際上也沒有節省多少,一條記錄節省的也就是2個字節,那么成千上萬條的記錄也不過節省幾十兆字節而己,這樣的處理方式只會給程序的處理增加時間,對于優化和未來的移植是起到阻礙作用的。

2.4將LOB類型的字段與其它的類型分開

Oracle8i提供了許多可以用于存儲大對象數據的類型,如LONG,LONG RAW等。從性能的角度考慮出發,建議在設計表格的時候將那些相對較大的對象跟其他種類的數據分開儲存。比如職工的檔案證件這些東西,職工檔案其內容包含有一些關于職工的基本情況、相片之類的東西,在設計過程需要將這些信息與職工的信息進行分割,最后采取關鍵字段進行連接處理。

3采用具有編碼的設計方法

在對多處使用值采用編碼設計的階段里,類似員工的單位名稱這個部位,因為員工的里面包含的員工很多,假設在記錄過程將每個員工的單位都進行記錄,那么就會出現傳說中的冗余現象。編碼大概是劃分為2中,排除剛才敘述的一種之外,還需要考慮另外一種,考慮一些應用使用性能方便的應用。比如,銀行存款系統的應用,這個設計過程可以考慮考法一款(交易代碼)的程序代碼。分別用(存入、取出、結息)這3個步驟表示,可以將該字段取名為:

tran_code char(1) check(tran code'1,ortran code=2or tran code=3),

在設計操作處理界時,只有3種步驟供使用者選用,即“存入”“取出”“結息”3種選擇,這樣可以避免讓操作員直接輸入字符所帶來的不一致等的問題。

在Oracle系統里,提供了功能特別的decode函數。使用它可以在性能上得到特別的效果。這樣使用的前提是,先在建立表結構時就需要將該列描述為較短的寬度。然后在SQL語句中來使用它。如:銀行的活期存款表結構,可以對借貸字段存入或取出。

4建立公共字典表

除了以上提到的建立代碼的方法外,在現實設計中還有一種使用較為廣泛的方式,就是對象數據字典的建立,其與Oracle系統的數據字典類似。應用系統的數據字典也是為了各個對象的命名標準而采用的方法。凡是表名、索引名、表中的列名以及過程所用名稱等最好以數據字典的方式在數據庫建立。這樣可以讓Oracle系統幫助人們檢查。在一個新的對象需要建立命名的時候,需要將其設立在這個字典里面。這里需要和客戶取得溝通后才能進行下一步工作,在對討論出來的結果認定后就不能隨便更改,但是遇到非要更改的情況時,一定要經過DBA的同意并且備案才能修改。另外一個建議是建立過程要控制兩者不能建立相同的名字,為了做好這一點,建議先將各種關鍵字放到一個表格里面,在建立時候再進行比對,以這樣的方式很好地避開重復。

5哪種類型的表設為cache方式

Oracle提供了一種方法,可以將表的數據駐留在內存的SGA區內,這叫做緩存(cache)。一般來說,對于在應用中那些數據量不大、被頻繁訪問的表,應該將其設置成緩存方式,這樣在數據庫啟動完成后被說明為緩存的表的數據就被系統讀到SGA區中了。可以用Alter table或Create table命令上加cache子句使表成為緩存表(一直放在SGA區內不被清除)。

如:alter table ACCOUNT_CODE cache;

如果不需要緩存而取消緩存設置可用nocache來完成。如:alter ACCTOUNT_CODE nocache;

例:在建表時將表設置成緩存的方式:

SQL>CREATE table phone_1st

(employee Id number,

phone_no varchar2(15),

extension varchar2(5)

)tablespace users

storage(INITIAL 1m next 500k pctincrease 0)

CACHE;

對于已經將表設置成Cache的信息,可以從DBA_TABLES字典中查到,如:

SQL>select owner,table_name from dba_tables

Where LTRIM(cache)=Y;

6結語

正確地對數據庫表進行設計,直接關乎到每個用戶的切身利益,也直接影響到企業的效益。所以需要合理科學的設計數據庫中的表,提高系統的性能。

主站蜘蛛池模板: 亚洲va视频| 欧美人人干| 黄色网址手机国内免费在线观看| av在线5g无码天天| 亚洲乱码视频| 国产精品尹人在线观看| 久久 午夜福利 张柏芝| 1769国产精品视频免费观看| 久久精品只有这里有| 国产成人在线无码免费视频| 真实国产乱子伦视频| 国产h视频免费观看| 精品国产成人av免费| 国产中文一区二区苍井空| 欧洲高清无码在线| 亚洲熟女中文字幕男人总站| 国产精品无码久久久久久| 久久精品无码中文字幕| 国产靠逼视频| 亚洲成网777777国产精品| 国产精品美女网站| 亚洲欧美国产高清va在线播放| 中文字幕日韩丝袜一区| 女同久久精品国产99国| 成人福利免费在线观看| 国产SUV精品一区二区| 国产精品污视频| 国内精自线i品一区202| 在线观看国产精品第一区免费| 欧美午夜视频| 国产一级毛片yw| 在线观看视频一区二区| 国产高潮视频在线观看| 婷婷色一区二区三区| 日韩大乳视频中文字幕| 在线观看网站国产| 亚洲欧洲一区二区三区| 九九九精品成人免费视频7| 国模极品一区二区三区| 国产爽妇精品| 波多野结衣一二三| 午夜精品国产自在| 久久一本精品久久久ー99| 伊人久久久久久久| 亚洲日本在线免费观看| Jizz国产色系免费| 久精品色妇丰满人妻| 2020精品极品国产色在线观看| 91亚洲精品第一| 国产一区二区三区在线精品专区| 久久人人爽人人爽人人片aV东京热 | 99热最新在线| 日韩av资源在线| aⅴ免费在线观看| 黄色不卡视频| 中文字幕乱码二三区免费| 无码AV日韩一二三区| 国产白浆在线观看| 国产网友愉拍精品视频| 伊人久久影视| 在线看AV天堂| 久久香蕉国产线看观看亚洲片| 亚洲美女一区| 国产91丝袜在线播放动漫 | 亚洲人成影院午夜网站| 无码精油按摩潮喷在线播放| 波多野结衣亚洲一区| 国产91av在线| 91视频99| 国产性生大片免费观看性欧美| 怡春院欧美一区二区三区免费| 亚洲一欧洲中文字幕在线| 欧美亚洲激情| 人人妻人人澡人人爽欧美一区| 欧美va亚洲va香蕉在线| 国产麻豆精品久久一二三| 黄片一区二区三区| 日本草草视频在线观看| 精品久久蜜桃| 国产成人精品18| 国产成人乱无码视频| 99免费在线观看视频|