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

?

淺析關(guān)系型數(shù)據(jù)庫設(shè)計(jì)的理論和實(shí)踐

2014-11-10 15:02:37彭嬌聶慧
科技創(chuàng)新導(dǎo)報(bào) 2014年20期
關(guān)鍵詞:實(shí)踐數(shù)據(jù)庫理論

彭嬌++聶慧

摘 要:作為一門應(yīng)用性很強(qiáng)的學(xué)科,數(shù)據(jù)庫技術(shù)在軟件開發(fā)中的應(yīng)用越來越廣泛了。該文對關(guān)系型數(shù)據(jù)庫設(shè)計(jì)的理論及實(shí)踐進(jìn)行了簡單分析。首先,簡單介紹了數(shù)據(jù)庫設(shè)計(jì)的重要性;其次分析了關(guān)系型數(shù)據(jù)庫設(shè)計(jì)步驟及原則;最后結(jié)合實(shí)例,分析了在軟件開發(fā)中的數(shù)據(jù)庫設(shè)計(jì)實(shí)踐。

關(guān)鍵詞:關(guān)系型 數(shù)據(jù)庫 理論 實(shí)踐

中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1674-098X(2014)07(b)-0054-01

數(shù)據(jù)庫設(shè)計(jì)(Database Design)是指根據(jù)用戶的需求,在某一具體的數(shù)據(jù)庫管理系統(tǒng)上,設(shè)計(jì)數(shù)據(jù)庫的結(jié)構(gòu)和建立數(shù)據(jù)庫的過程。而關(guān)系型數(shù)據(jù)庫則是創(chuàng)建在關(guān)系模型基礎(chǔ)上的數(shù)據(jù)庫,是借助于集合代數(shù)等數(shù)學(xué)概念和方法來處理數(shù)據(jù),使之能夠有效地存儲數(shù)據(jù),以滿足用戶的各種應(yīng)用需求。

1 數(shù)據(jù)庫的重要性

數(shù)據(jù)庫設(shè)計(jì)是計(jì)算機(jī)軟件設(shè)計(jì)的重要內(nèi)容,同時也是支撐計(jì)算機(jī)軟件系統(tǒng)運(yùn)行的關(guān)鍵,是軟件設(shè)計(jì)的起點(diǎn),起著決定性的質(zhì)變作用,必須對數(shù)據(jù)庫的設(shè)計(jì)高度重視起來。

(1)數(shù)據(jù)庫設(shè)計(jì)最起碼要占用整個項(xiàng)目開發(fā)的40%以上的時間。數(shù)據(jù)庫是用戶需求的直觀反應(yīng)和表現(xiàn),需求的要求和變化都要一一體現(xiàn)在數(shù)據(jù)庫的設(shè)計(jì)中。

(2)數(shù)據(jù)庫設(shè)計(jì)不僅僅停留在頁面demo的表面,還有模塊交互、表之間的聯(lián)系、中轉(zhuǎn)數(shù)據(jù)等所需要的字段。因此,在數(shù)據(jù)庫設(shè)計(jì)中不僅包括基本的數(shù)據(jù)存儲,還包括邏輯數(shù)據(jù)的存儲。

(3)數(shù)據(jù)庫設(shè)計(jì)完成后,項(xiàng)目80%的設(shè)計(jì)開發(fā)在腦海中已經(jīng)完成了。在設(shè)計(jì)每一個字段時,已經(jīng)考慮好這些字段的運(yùn)用,在表中如何體現(xiàn)。當(dāng)數(shù)據(jù)庫設(shè)計(jì)完成后,程序中所有的實(shí)現(xiàn)思路和實(shí)現(xiàn)方式已經(jīng)考慮清楚了,否則會造成一系列不可預(yù)測的問題。

由此可見,數(shù)據(jù)庫設(shè)計(jì)在整個軟件開發(fā)過程中起到了舉足輕重的作用。

2 關(guān)系型數(shù)據(jù)庫設(shè)計(jì)的基本步驟

關(guān)系型數(shù)據(jù)庫設(shè)計(jì)的過程可大體分為四個時期七個階段。

(1)用戶需求分析時期,主要是了解和分析用戶對數(shù)據(jù)的功能需求和應(yīng)用需求,是整個設(shè)計(jì)過程的基礎(chǔ),事關(guān)整個數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計(jì)的成敗。

(2)數(shù)據(jù)庫設(shè)計(jì)時期,主要是將用戶需求進(jìn)行綜合、歸納與抽象,形成一個獨(dú)立于具體DBMS的數(shù)據(jù)模型,可用實(shí)體—聯(lián)系模型來表示,然后將其轉(zhuǎn)換為已選好的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)RDBMS所支持的一組關(guān)系模式并為其選取一個適合應(yīng)用環(huán)境的物理結(jié)構(gòu),包括存儲結(jié)構(gòu)和存取方法。

(3)數(shù)據(jù)庫實(shí)現(xiàn)時期,包括數(shù)據(jù)庫結(jié)構(gòu)創(chuàng)建階段和應(yīng)用行為設(shè)計(jì)與實(shí)現(xiàn)階段,是根據(jù)數(shù)據(jù)庫的物理模型創(chuàng)建數(shù)據(jù)庫、創(chuàng)建表、創(chuàng)建索引、創(chuàng)建聚簇等。

(4)數(shù)據(jù)庫運(yùn)行與維護(hù)階時期,最后一個階段則是數(shù)據(jù)庫應(yīng)用系統(tǒng)經(jīng)過試運(yùn)行后即可投入正式運(yùn)行。

3 關(guān)系型數(shù)據(jù)庫設(shè)計(jì)的幾個原則

在進(jìn)行關(guān)系型數(shù)據(jù)庫的設(shè)計(jì)過程中,要遵循以下幾個原則,借此可以提高數(shù)據(jù)庫的存儲效率、數(shù)據(jù)完整性和可擴(kuò)展性。

3.1 命名規(guī)范化

在概念模型設(shè)計(jì)中,對于出現(xiàn)的實(shí)體、屬性及相關(guān)表的結(jié)構(gòu)要統(tǒng)一。例如在數(shù)據(jù)庫設(shè)計(jì)中,指定學(xué)生Sstudent,專指本科生,相關(guān)的屬性有:學(xué)號、姓名、性別、出生年月等,及每個屬性的類型、長度、取值范圍等都要進(jìn)行確定,這樣就能保證在命名時不會出現(xiàn)同名異義或異名同義、屬性特征及結(jié)構(gòu)沖突等問題。

3.2 數(shù)據(jù)的一致性和完整性

在關(guān)系型數(shù)據(jù)庫中可以采用域完整性、實(shí)體完整性和參照完整性等約束條件來滿足其數(shù)據(jù)的一致性和完整性,用check、default、null、主鍵和外鍵約束來實(shí)現(xiàn)。

3.3 數(shù)據(jù)冗余

數(shù)據(jù)庫中的數(shù)據(jù)應(yīng)盡可能地減少冗余,這就意味著重復(fù)數(shù)據(jù)應(yīng)該減少到最少。例如:若一個部門職員的電話存儲在不同的表中,假設(shè)該職員的電話號碼發(fā)生變化時,冗余數(shù)據(jù)的存在就要求對多個表進(jìn)行更新操作,若某個表不幸被忽略了,那么就會造成數(shù)據(jù)不一致的情況。所以在數(shù)據(jù)庫設(shè)計(jì)中一定要盡可能存在少地冗余。

3.4 范式理論

在關(guān)系數(shù)據(jù)庫設(shè)計(jì)時,一般是通過設(shè)計(jì)滿足某一范式來獲得一個好的數(shù)據(jù)庫模式,通常認(rèn)為3NF在性能、擴(kuò)展性和數(shù)據(jù)完整性方面達(dá)到了最好的平衡,因此,一般數(shù)據(jù)庫設(shè)計(jì)要求達(dá)到3NF,消除數(shù)據(jù)依賴中不合理的部分,最終實(shí)現(xiàn)使一個關(guān)系僅描述一個實(shí)體或者實(shí)體間一種聯(lián)系的目的。

4 以具體實(shí)例設(shè)計(jì)的關(guān)系型數(shù)據(jù)庫設(shè)計(jì)的實(shí)踐

以大學(xué)教學(xué)管理軟件開發(fā)中的數(shù)據(jù)庫設(shè)計(jì)為例進(jìn)行分析。

(1)重視系統(tǒng)的總體設(shè)計(jì)。總體設(shè)計(jì)不僅與軟件項(xiàng)目順利開展的進(jìn)度有關(guān),還與是否可以達(dá)到預(yù)期的項(xiàng)目開發(fā)目標(biāo)有關(guān)。下面以大學(xué)教學(xué)管理數(shù)據(jù)庫開發(fā)為例進(jìn)行說明。

(2)首先對大學(xué)教學(xué)管理軟件所涉及的數(shù)據(jù)進(jìn)行詳細(xì)的分析。按照上述的設(shè)計(jì)思想,共設(shè)計(jì)了如下表,例如,學(xué)生關(guān)系表、專業(yè)關(guān)系表等,然后創(chuàng)建視圖和存儲過程。

①學(xué)生關(guān)系表S:S#(學(xué)號),SNAME(姓名),SSEX(性別),SBIRTHIN(出生年月)等字段,主鍵為S#(學(xué)號)。②專業(yè)關(guān)系表SS:SCODE#(專業(yè)代碼),SSNAME(專業(yè)名稱)等字段,主鍵為SCODE#(專業(yè)代碼)。③課程關(guān)系表C:C#(課程號),CNAME(課程名稱),CLASSH(學(xué)時)等字段,主鍵為C#(課程號)。④設(shè)置關(guān)系表CS:SCODE#(專業(yè)代碼),C#(課程號)等字段,主鍵為SCODE#(專業(yè)代碼),C#(課程號)。⑤學(xué)習(xí)關(guān)系表SC:S#(學(xué)號),C#(課程號),GRADE(分?jǐn)?shù))等字段,主鍵為S#(學(xué)號),C#(課程號)。⑥教師關(guān)系表T:T#(教工號),TNAME(姓名),TSEX(性別)等字段,主鍵為T#(教工號)。⑦講授關(guān)系表TEACH:T#(教工號),C#(課程號)等字段,主鍵為TEACH:T#(教工號),C#(課程號)。

數(shù)據(jù)庫中的每一個表都建立了主鍵,部分表為了滿足查詢和排序的需要,還需要建立索引。例如查詢學(xué)生信息時,除了按學(xué)號查詢,有時還會用到按照班級查詢。因此,在學(xué)生表中除了對主鍵“學(xué)號”建立主索引外,也對“班級”建立了次索引。同時,在數(shù)據(jù)庫中,數(shù)據(jù)按照主鍵和外鍵的關(guān)系,建立起了關(guān)系。另外,根據(jù)查詢需要,還建立了教學(xué)安排視圖、課程成績視圖和學(xué)生平均成績視圖及相關(guān)的存儲過程。

5 結(jié)語

通過前面的分析和研究,數(shù)據(jù)庫的設(shè)計(jì)是非常重要的,為之后整個系統(tǒng)的穩(wěn)定可靠運(yùn)行提供了穩(wěn)固的后臺保障。數(shù)據(jù)庫必須與應(yīng)用程序的業(yè)務(wù)需求相輔相成,在設(shè)計(jì)過程中要嚴(yán)格遵循關(guān)系數(shù)據(jù)庫的設(shè)計(jì)步驟,并靈活運(yùn)用上述原則。

參考文獻(xiàn)

[1] 潘博.計(jì)算機(jī)軟件數(shù)據(jù)庫設(shè)計(jì)的重要性以及原則研究[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2013(8).

[2] 王曉軍.數(shù)據(jù)庫設(shè)計(jì)的理論和實(shí)踐在軟件開發(fā)中的作用[J].科技與生活,2012 (8).

[3] 孟志偉.管理系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)[J].信息與電腦,2009(7).

[4] 李長海,郭穎,董廣輝.淺析數(shù)據(jù)庫設(shè)計(jì)[J].數(shù)字技術(shù)與應(yīng)用,2010(8).

[5] 李俊山,羅榮.數(shù)據(jù)庫原理及應(yīng)用[M].清華大學(xué)出版社,2012.endprint

猜你喜歡
實(shí)踐數(shù)據(jù)庫理論
堅(jiān)持理論創(chuàng)新
神秘的混沌理論
理論創(chuàng)新 引領(lǐng)百年
相關(guān)于撓理論的Baer模
數(shù)據(jù)庫
初中政治教學(xué)中強(qiáng)化新八德教育探討
成才之路(2016年26期)2016-10-08 11:14:30
體驗(yàn)式學(xué)習(xí)在數(shù)學(xué)教學(xué)中的應(yīng)用研究
成才之路(2016年25期)2016-10-08 10:50:54
生物專業(yè)師范生教學(xué)實(shí)習(xí)的問題與對策研究
成才之路(2016年25期)2016-10-08 10:01:19
校企協(xié)同實(shí)施高職專業(yè)課程改革的實(shí)踐研究
科技視界(2016年20期)2016-09-29 12:54:06
數(shù)據(jù)庫
锡林浩特市| 灌南县| 柞水县| 太和县| 娄烦县| 吴川市| 乐亭县| 天门市| 邢台县| 驻马店市| 湖州市| 屏山县| 隆尧县| 上虞市| 平原县| 卫辉市| 增城市| 东方市| 大姚县| 吉隆县| 台江县| 高州市| 宣城市| 海林市| 延庆县| 和硕县| 三都| 乳源| 沂南县| 无极县| 万宁市| 涿州市| 衡东县| 明星| 弋阳县| 广安市| 侯马市| 奉贤区| 天门市| 烟台市| 东港市|