国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

數(shù)據(jù)庫主鍵的設(shè)計方法探討

2013-04-29 03:43:54熊慧芳
無線互聯(lián)科技 2013年7期
關(guān)鍵詞:主鍵設(shè)計方法數(shù)據(jù)庫

熊慧芳

摘 要:數(shù)據(jù)庫設(shè)計的好壞會直接影響到軟件研發(fā)和實際操作過程,而以主鍵為核心的部分又主導(dǎo)著數(shù)據(jù)庫的功能和運(yùn)行狀態(tài),間接發(fā)揮了后臺支撐的作用。本文深入了解了主鍵的內(nèi)容和屬性,研究主鍵設(shè)計過程中遵循的幾大原則,在此基礎(chǔ)上提出了主鍵的設(shè)計方法,提倡以編號、自動編號、COMB、自制加一來作為主鍵,在維持關(guān)系表唯一性、關(guān)聯(lián)性的前提下開拓數(shù)據(jù)庫的穩(wěn)定性、可行性,真正意義上開發(fā)出適合數(shù)據(jù)錄入、用戶檢索和網(wǎng)絡(luò)運(yùn)行的主鍵類型。

關(guān)鍵詞:數(shù)據(jù)庫;主鍵;設(shè)計方法

科學(xué)、有效的數(shù)據(jù)庫設(shè)計對軟件研發(fā)工作起到事半功倍的作用,細(xì)化數(shù)據(jù)庫工作的每個環(huán)節(jié),其中核心部分就是主鍵設(shè)計,它直接影響到數(shù)據(jù)導(dǎo)入、用戶檢索等重要問題,只有可行性高、穩(wěn)定性強(qiáng)且可靠性大的數(shù)據(jù)庫主鍵才能建立起關(guān)系表的關(guān)聯(lián)關(guān)系,實現(xiàn)記錄和插錄的辨識性、一致性。根據(jù)主鍵設(shè)計原則來尋找和擴(kuò)展方式方法至關(guān)重要,選擇真正適合數(shù)據(jù)庫運(yùn)行的主鍵模式,提高運(yùn)行速度。

1 主鍵

主鍵具有標(biāo)識某一行的作用,從本質(zhì)來說是一類屬性或?qū)傩越M,通常應(yīng)用在處理外鍵關(guān)聯(lián)問題上,主鍵的嵌入使得修改和刪除記錄變得更加便捷、有效,能維持整個關(guān)系表的完好度。實際操作過程中主鍵必須是實值,且單個表對應(yīng)單個鍵和多個候選鍵。在操作要求的指導(dǎo)下主鍵可進(jìn)行刪除和設(shè)置處理,主鍵的功能還體現(xiàn)在審核數(shù)據(jù)和確保資料無恙等方面上,所以在刪除或更新數(shù)據(jù)時準(zhǔn)確率顯著提高,主鍵和外鍵構(gòu)成參照關(guān)系,還肩負(fù)著完整性約束的任務(wù),避免出現(xiàn)數(shù)據(jù)出錯的現(xiàn)象。一般來說主鍵所在列等同于關(guān)鍵字,實際查詢過程中訪問速度得以顯著提高,使其快速呈現(xiàn)出有效數(shù)據(jù)。

2 主鍵的設(shè)計原則

存在主鍵即代表著整個表結(jié)構(gòu)具備完整性和可行性,將可辨別的字段放入表內(nèi)即可生成記錄。將主鍵嵌入表中可順勢形成所有記錄,在這個過程中還約束了和已有主鍵字段值一致的數(shù)據(jù),避免出現(xiàn)輸入和已存值相同的情況;只要不同表之間存在關(guān)聯(lián)關(guān)系即可引用對方記錄,利用表內(nèi)主鍵值來引索出所需數(shù)據(jù)。設(shè)計切合數(shù)據(jù)庫、關(guān)系表的主鍵至關(guān)重要,對后續(xù)運(yùn)行狀態(tài)影響巨大,在設(shè)計關(guān)系表主鍵過程中要遵循以下原則:(1)外鍵匹配相應(yīng)的關(guān)聯(lián)字段;(2)單個鍵只能存在一個;(3)禁止出現(xiàn)復(fù)合鍵;(4)單個外鍵只能對應(yīng)關(guān)聯(lián)中一個鍵字段。

3 主鍵的設(shè)計方法

3.1 編號作主鍵

使用編號來設(shè)計主鍵的模式通常應(yīng)用在小項目低擴(kuò)展問題上,實際業(yè)務(wù)中涉及的唯一字段就是“編號”本身,附著了主鍵功能和屬性。學(xué)校在設(shè)計學(xué)生表時擅長用“學(xué)號”來替代主鍵,從方法和執(zhí)行環(huán)節(jié)上來說都相對簡單,操作數(shù)據(jù)庫間數(shù)據(jù)復(fù)制活動中能有效的避開鍵值矛盾區(qū)域,保證數(shù)據(jù)合并的有效性,而實際執(zhí)行過程中只需要將主鍵值段放入唯一的數(shù)據(jù)庫中即可。該種方法雖然原理清晰、操作簡單,但也存在或多或少的問題,首先在編號修改過程中要花費(fèi)大量精力來尋找相關(guān)表,增加了發(fā)生數(shù)據(jù)沖突的概率,降低了網(wǎng)絡(luò)運(yùn)行速度,而手工維護(hù)主鍵的模式繁瑣而量大,不利于關(guān)系表的正常運(yùn)行狀態(tài)。

3.2 自動編號作主鍵

自動編號作主鍵的第一步就是建立起有效的ID字段,它具有自動增長、快速調(diào)度的優(yōu)點,所以無論向數(shù)據(jù)庫添加多少數(shù)據(jù)都不會受到主鍵取值活動的影響,只要記錄插錄生成就會將信息反饋到數(shù)據(jù)庫系統(tǒng),分配出來的數(shù)值是唯一且有效的。自動編號方法還具有方便、節(jié)省的優(yōu)點,本身數(shù)字化類型決定了小空間、寬檢索特點,解決了中間多環(huán)節(jié)、雜流程的問題。唯一的不足之處體現(xiàn)在手動插入指定ID記錄現(xiàn)象上,操作者在遇到系統(tǒng)之間集成情況時難以完成數(shù)據(jù)導(dǎo)入工作,而原系統(tǒng)的ID發(fā)生主鍵矛盾的概率劇增,同樣會帶來網(wǎng)絡(luò)的負(fù)擔(dān)甚至崩潰。運(yùn)行數(shù)據(jù)緩沖模式時也會造成一定的困擾,主鍵和外鍵的值將變得不確定。

3.3 使用“COMB(Combine)”作主鍵

“COMB”設(shè)計方法由Jimmy Nilsson提出,在《The Cost of GUIDs as Primary Keys》得以實現(xiàn)COMB數(shù)據(jù)類型。首先將組合方式來排列位于UniqueIdentifier前十位的字節(jié),而GUID生成的時間則用最后的6個字節(jié)來代替,完成UinqueIdentifier和時間信息之間的有效組合,實現(xiàn)唯一性和成效性,對使用者來說能迅速得到索引結(jié)果。使用COMB作主鍵雖然能避免數(shù)據(jù)重復(fù)的情況,但在執(zhí)行刪除、插入等操作環(huán)節(jié)時速度有所降低。

3.4 自制加一作主鍵

自制加一作主鍵極具靈活性,首先要把主鍵類型設(shè)置為字符型,通過手動完成表的建立工作,以表名來設(shè)為字段,保證當(dāng)前序列值滿足特別表要求。在處理表中插入值時要從多類表中選擇相應(yīng)表,往最大值內(nèi)加一后即可插入。Lock和unLock線程方式可以很好的處理數(shù)據(jù)并發(fā)的現(xiàn)象,一旦生成值符合要求就開啟Lock模式,值出來了就轉(zhuǎn)換成unLock模式,很好的解決了表值同時生成的問題。缺點就是很難在導(dǎo)前和導(dǎo)后保持一致性,在和其他系統(tǒng)集成的過程中生成方法會不斷改變,自制表的主動性會隨之減弱。

4 結(jié)語

設(shè)計數(shù)據(jù)庫主鍵過程中要綜合考量各方面問題,以數(shù)據(jù)庫規(guī)模為出發(fā)點,分析用戶群、操作頻率、應(yīng)用方向等內(nèi)容,以設(shè)計原則為指導(dǎo),考量操作的可行性和穩(wěn)定性,以關(guān)系表、數(shù)據(jù)庫的關(guān)聯(lián)關(guān)系為契合點,避免出現(xiàn)主鍵數(shù)值重復(fù)、沖突的現(xiàn)象,真正意義上優(yōu)化數(shù)據(jù)庫的主鍵功能。

[參考文獻(xiàn)]

[1]巫宗賓.數(shù)據(jù)庫表主鍵設(shè)計方法的探討[J].數(shù)字社區(qū)&智能家居,2006(11):25-25,50.

[2]魚功勝.關(guān)系數(shù)據(jù)庫主鍵設(shè)計的研究[J].中國高新技術(shù)企業(yè)評價,2007(4):83-83,91.

猜你喜歡
主鍵設(shè)計方法數(shù)據(jù)庫
基于Go 實現(xiàn)的分布式主鍵系統(tǒng)研究
基于外鍵的E-R圖繪制方法研究
數(shù)據(jù)庫
財經(jīng)(2017年2期)2017-03-10 14:35:35
話劇舞臺服裝設(shè)計方法探究
戲劇之家(2016年19期)2016-10-31 17:12:25
淺析旅游景區(qū)公共設(shè)施的設(shè)計
今傳媒(2016年9期)2016-10-15 23:14:14
公路橋梁結(jié)構(gòu)橋梁抗疲勞設(shè)計方法應(yīng)用
如何利用七年級新教材進(jìn)行英語課堂閱讀教學(xué)
考試周刊(2016年77期)2016-10-09 10:31:55
數(shù)據(jù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
數(shù)據(jù)庫
財經(jīng)(2016年6期)2016-02-24 07:41:51
惠水县| 方城县| 普格县| 石渠县| 章丘市| 山西省| 元谋县| 浮梁县| 中西区| 吴川市| 临汾市| 寻乌县| 信宜市| 麟游县| 承德市| 杭锦旗| 汉沽区| 桦南县| 灌云县| 胶州市| 青岛市| 东莞市| 高安市| 大冶市| 临澧县| 如东县| 德令哈市| 平塘县| 宜州市| 高尔夫| 龙门县| 衡水市| 江门市| 汾西县| 福清市| 威信县| 买车| 游戏| 望谟县| 盈江县| 平塘县|