芒果视频

網(wang)站分類
登錄 |    

關系型數據庫的特點 關系型數據庫設計原則與步驟

本文章由注冊用戶 天空之城 上傳提供 2023-12-27 評論 0
摘要:關系型數據庫是一種數據庫類型,采用表格的儲存方式,數據以行和列的方式進行存儲,存儲的格式可以直觀地反映實體間的關系。關系數據庫是數據庫應用的主流,許多數據庫管理系統的數據模型都是基于關系數據模型開發的。下面來了解下關系型數據庫的特點,關系型數據庫設計原則與步驟。

一、關系型數據庫是什么

關系型數據庫,是(shi)指采用(yong)(yong)了關(guan)系模(mo)型(xing)來(lai)(lai)組(zu)織(zhi)數據(ju)的(de)數據(ju)庫,其以行(xing)(xing)和列的(de)形式存儲數據(ju),以便(bian)于用(yong)(yong)戶(hu)理解,關(guan)系型(xing)數據(ju)庫這(zhe)一(yi)系列的(de)行(xing)(xing)和列被(bei)稱(cheng)為(wei)表(biao)(biao),一(yi)組(zu)表(biao)(biao)組(zu)成了數據(ju)庫。用(yong)(yong)戶(hu)通過查詢來(lai)(lai)檢索數據(ju)庫中(zhong)(zhong)的(de)數據(ju),而查詢是(shi)一(yi)個用(yong)(yong)于限定數據(ju)庫中(zhong)(zhong)某些區(qu)域的(de)執行(xing)(xing)代碼。關(guan)系模(mo)型(xing)可以簡單(dan)理解為(wei)二(er)維表(biao)(biao)格模(mo)型(xing),而一(yi)個關(guan)系型(xing)數據(ju)庫就是(shi)由二(er)維表(biao)(biao)及其之間的(de)關(guan)系組(zu)成的(de)一(yi)個數據(ju)組(zu)織(zhi)。

該圖片由注冊用戶"天空之城"提供,版權聲明反饋

二、關系型數據庫的特點

1、存儲(chu)方式:傳統的關系(xi)型數據庫采用表格的儲(chu)存方式,數據以行和列(lie)的方式進(jin)行存儲(chu),要讀取和查(cha)詢(xun)都十分方便。

2、存儲(chu)結(jie)(jie)(jie)構(gou):關系型數(shu)(shu)(shu)(shu)據(ju)庫(ku)按照結(jie)(jie)(jie)構(gou)化的(de)方法(fa)存儲(chu)數(shu)(shu)(shu)(shu)據(ju),每個(ge)數(shu)(shu)(shu)(shu)據(ju)表(biao)都必須(xu)對各個(ge)字段(duan)定義(yi)好(hao)(hao)(也(ye)就是先定義(yi)好(hao)(hao)表(biao)的(de)結(jie)(jie)(jie)構(gou)),再根據(ju)表(biao)的(de)結(jie)(jie)(jie)構(gou)存入(ru)數(shu)(shu)(shu)(shu)據(ju),這(zhe)樣做的(de)好(hao)(hao)處就是由于數(shu)(shu)(shu)(shu)據(ju)的(de)形式(shi)和內(nei)容在存入(ru)數(shu)(shu)(shu)(shu)據(ju)之(zhi)前就已經定義(yi)好(hao)(hao)了,所以整(zheng)個(ge)數(shu)(shu)(shu)(shu)據(ju)表(biao)的(de)可靠性和穩定性都比較高,但帶來的(de)問題就是一旦存入(ru)數(shu)(shu)(shu)(shu)據(ju)后(hou),如果需(xu)要(yao)修(xiu)改數(shu)(shu)(shu)(shu)據(ju)表(biao)的(de)結(jie)(jie)(jie)構(gou)就會十分(fen)困難。

3、存(cun)儲(chu)規(gui)(gui)范(fan):關(guan)系(xi)(xi)型數(shu)據(ju)(ju)庫為(wei)了(le)避免重復、規(gui)(gui)范(fan)化數(shu)據(ju)(ju)以(yi)及充分利用好存(cun)儲(chu)空間(jian),把數(shu)據(ju)(ju)按照最小(xiao)關(guan)系(xi)(xi)表(biao)的(de)(de)(de)形(xing)式(shi)進行存(cun)儲(chu),這樣數(shu)據(ju)(ju)管(guan)理(li)的(de)(de)(de)就可以(yi)變(bian)得很清晰、一目了(le)然,當(dang)然這主要(yao)是(shi)一張數(shu)據(ju)(ju)表(biao)的(de)(de)(de)情況(kuang)。如(ru)果是(shi)多(duo)張表(biao)情況(kuang)就不一樣了(le),由于(yu)數(shu)據(ju)(ju)涉及到多(duo)張數(shu)據(ju)(ju)表(biao),數(shu)據(ju)(ju)表(biao)之間(jian)存(cun)在(zai)著復雜(za)的(de)(de)(de)關(guan)系(xi)(xi),隨著數(shu)據(ju)(ju)表(biao)數(shu)量(liang)的(de)(de)(de)增加,數(shu)據(ju)(ju)管(guan)理(li)會(hui)越(yue)來越(yue)復雜(za)。

4、擴(kuo)展方(fang)式:由于關(guan)系型數據(ju)(ju)(ju)庫(ku)將(jiang)數據(ju)(ju)(ju)存儲在(zai)數據(ju)(ju)(ju)表中,數據(ju)(ju)(ju)操作的(de)(de)(de)瓶(ping)頸(jing)出(chu)現在(zai)多(duo)張數據(ju)(ju)(ju)表的(de)(de)(de)操作中,而且(qie)數據(ju)(ju)(ju)表越多(duo)這個(ge)問題越嚴重,如果要緩(huan)解(jie)這個(ge)問題,只(zhi)能提(ti)高處理(li)能力,也(ye)就是選(xuan)擇速度更快性能更高的(de)(de)(de)計算(suan)機(ji),這樣(yang)的(de)(de)(de)方(fang)法雖然(ran)可以(yi)一定(ding)的(de)(de)(de)拓(tuo)展空間,但(dan)這樣(yang)的(de)(de)(de)拓(tuo)展空間一定(ding)有非常(chang)有限(xian)的(de)(de)(de),也(ye)就是關(guan)系型數據(ju)(ju)(ju)庫(ku)只(zhi)具備縱向擴(kuo)展能力。

5、查詢(xun)方式(shi):關系型數據(ju)庫采用結(jie)構化查詢(xun)語(yu)言(即SQL)來對數據(ju)庫進行查詢(xun),SQL早已獲(huo)得(de)了各(ge)個數據(ju)庫廠(chang)商的(de)支持,成為(wei)數據(ju)庫行業(ye)的(de)標準(zhun),它(ta)能夠(gou)支持數據(ju)庫的(de)CRUD(增加,查詢(xun),更新,刪除)操作,具(ju)有非(fei)常(chang)強大的(de)功能,SQL可以(yi)采用類似(si)索引的(de)方法來加快查詢(xun)操作。

6、規(gui)范(fan)化(hua)(hua):在數據(ju)庫的設計開(kai)發(fa)過(guo)程(cheng)(cheng)中(zhong)開(kai)發(fa)人(ren)員通(tong)常(chang)會面對(dui)同(tong)時(shi)需要對(dui)一(yi)個(ge)(ge)或者多(duo)(duo)個(ge)(ge)數據(ju)實體(包括數組、列表和嵌套數據(ju))進(jin)(jin)行操(cao)作,這樣在關系(xi)型數據(ju)庫中(zhong),一(yi)個(ge)(ge)數據(ju)實體一(yi)般首先(xian)要分割(ge)成(cheng)多(duo)(duo)個(ge)(ge)部(bu)分,然后再對(dui)分割(ge)的部(bu)分進(jin)(jin)行規(gui)范(fan)化(hua)(hua),規(gui)范(fan)化(hua)(hua)以(yi)后再分別存入到(dao)多(duo)(duo)張關系(xi)型數據(ju)表中(zhong),這是一(yi)個(ge)(ge)復雜的過(guo)程(cheng)(cheng)。好消(xiao)息是隨(sui)著(zhu)軟(ruan)件技術的發(fa)展,相當多(duo)(duo)的軟(ruan)件開(kai)發(fa)平臺都提供(gong)一(yi)些(xie)簡單(dan)的解決方法(fa),例(li)如,可以(yi)利用ORM層(也就是對(dui)象關系(xi)映(ying)射(she))來將(jiang)數據(ju)庫中(zhong)對(dui)象模型映(ying)射(she)到(dao)基于(yu)SQL的關系(xi)型數據(ju)庫中(zhong)去以(yi)及進(jin)(jin)行不同(tong)類型系(xi)統的數據(ju)之(zhi)間的轉換。

7、事務性(xing):關系型(xing)數(shu)據(ju)庫強(qiang)(qiang)調(diao)ACID規則(原子(zi)性(xing)(Atomicity)、一致性(xing)(Consistency)、隔離性(xing)(Isolation)、持久性(xing)(Durability)),可以滿足對(dui)(dui)事務性(xing)要求較(jiao)高或者需(xu)要進行復雜數(shu)據(ju)查(cha)詢的(de)數(shu)據(ju)操(cao)作(zuo),而且可以充分滿足數(shu)據(ju)庫操(cao)作(zuo)的(de)高性(xing)能和操(cao)作(zuo)穩定性(xing)的(de)要求。并(bing)且關系型(xing)數(shu)據(ju)庫十分強(qiang)(qiang)調(diao)數(shu)據(ju)的(de)強(qiang)(qiang)一致性(xing),對(dui)(dui)于事務的(de)操(cao)作(zuo)有(you)很好的(de)支持。關系型(xing)數(shu)據(ju)庫可以控制(zhi)事務原子(zi)性(xing)細粒度,并(bing)且一旦操(cao)作(zuo)有(you)誤(wu)或者有(you)需(xu)要,可以馬上(shang)回(hui)滾(gun)事務。

8、讀(du)(du)寫(xie)性(xing)能(neng)(neng):關系型數據庫十分強調數據的一致性(xing),并為此降低讀(du)(du)寫(xie)性(xing)能(neng)(neng)付出(chu)了巨(ju)大的代價,雖然(ran)關系型數據庫存儲數據和(he)處(chu)理數據的可靠性(xing)很不錯,但一旦面(mian)對(dui)海量數據的處(chu)理的時(shi)(shi)候效(xiao)率就(jiu)會變得很差,特別是(shi)遇到高并發讀(du)(du)寫(xie)的時(shi)(shi)候性(xing)能(neng)(neng)就(jiu)會下降的非常厲(li)害。

9、授權方式:關系(xi)型數據庫常見的(de)(de)有Oracle,SQLServer,DB2,Mysql,除了Mysql大多數的(de)(de)關系(xi)型數據庫如果要(yao)使(shi)用都需要(yao)支付(fu)一(yi)筆價格高昂的(de)(de)費(fei)用,即使(shi)是免費(fei)的(de)(de)Mysql性能也(ye)受到了諸多的(de)(de)限制(zhi)。

三、關系型數據庫設計原則

在進行關系(xi)型數據庫的設計過程中,要遵(zun)循以下幾個(ge)原則,借此可以提高數據庫的存儲效率、數據完(wan)整性和可擴展性。

1、命名規范化

在(zai)(zai)概念模型設計中(zhong),對于出(chu)現的(de)實體、屬(shu)(shu)性及相關表(biao)的(de)結(jie)構(gou)要(yao)統一。例如在(zai)(zai)數據(ju)庫設計中(zhong),指定(ding)學(xue)生Sstudent,專指本科生,相關的(de)屬(shu)(shu)性有:學(xue)號、姓(xing)名、性別、出(chu)生年(nian)月等(deng)(deng)(deng),及每(mei)個(ge)屬(shu)(shu)性的(de)類(lei)型、長度、取值范圍等(deng)(deng)(deng)都要(yao)進行(xing)確定(ding),這(zhe)樣就能(neng)保證在(zai)(zai)命名時不(bu)會出(chu)現同名異(yi)義或異(yi)名同義、屬(shu)(shu)性特征及結(jie)構(gou)沖突(tu)等(deng)(deng)(deng)問題。

2、數據的一致性和完整性

在關系型(xing)數據庫(ku)中可以采用(yong)域完整性、實(shi)體(ti)完整性和參照完整性等約(yue)束條(tiao)件來滿足其數據的(de)一致性和完整性,用(yong)check、default、null、主鍵和外鍵約(yue)束來實(shi)現。

3、數據冗余

數(shu)據(ju)(ju)庫(ku)中(zhong)的數(shu)據(ju)(ju)應(ying)盡可能(neng)地(di)減少(shao)(shao)冗(rong)(rong)余(yu)(yu),這就意(yi)味著重復數(shu)據(ju)(ju)應(ying)該減少(shao)(shao)到最(zui)少(shao)(shao)。例如:若一(yi)(yi)個(ge)部門職員的電(dian)話存儲在不同的表中(zhong),假(jia)設(she)該職員的電(dian)話號碼發生變化時,冗(rong)(rong)余(yu)(yu)數(shu)據(ju)(ju)的存在就要(yao)(yao)求對(dui)多個(ge)表進行更新操作,若某個(ge)表不幸(xing)被忽(hu)略了(le),那么就會造成數(shu)據(ju)(ju)不一(yi)(yi)致的情況。所以在數(shu)據(ju)(ju)庫(ku)設(she)計中(zhong)一(yi)(yi)定要(yao)(yao)盡可能(neng)存在少(shao)(shao)地(di)冗(rong)(rong)余(yu)(yu)。

4、范式理論

在(zai)關(guan)系(xi)數(shu)據(ju)庫(ku)設計(ji)時,一(yi)般是通(tong)過(guo)設計(ji)滿(man)足(zu)某一(yi)范式來獲(huo)得一(yi)個好的(de)(de)(de)數(shu)據(ju)庫(ku)模式,通(tong)常認為(wei)3NF在(zai)性(xing)能、擴展性(xing)和數(shu)據(ju)完整性(xing)方面達到(dao)了最好的(de)(de)(de)平衡,因此,一(yi)般數(shu)據(ju)庫(ku)設計(ji)要求達到(dao)3NF,消除數(shu)據(ju)依賴中(zhong)不合理(li)的(de)(de)(de)部分,最終實現使一(yi)個關(guan)系(xi)僅描述一(yi)個實體或者(zhe)實體間(jian)一(yi)種聯系(xi)的(de)(de)(de)目的(de)(de)(de)。

四、關系型數據庫設計步驟

關系型數據庫設計的過程可大體分為四個(ge)時期七個(ge)階(jie)段。

1、用(yong)戶需(xu)求(qiu)分(fen)(fen)析(xi)時期,主要是了(le)解(jie)和分(fen)(fen)析(xi)用(yong)戶對數(shu)據(ju)(ju)的功能需(xu)求(qiu)和應(ying)用(yong)需(xu)求(qiu),是整個設(she)計(ji)過程的基(ji)礎(chu),事關整個數(shu)據(ju)(ju)庫應(ying)用(yong)系統(tong)設(she)計(ji)的成敗。

2、數(shu)據(ju)庫設計時(shi)期,主要是將(jiang)用戶需求進(jin)行綜(zong)合、歸納與抽象,形成(cheng)一(yi)(yi)個(ge)獨立于(yu)具體(ti)DBMS的數(shu)據(ju)模型,可用實體(ti)—聯系(xi)模型來表示,然(ran)后將(jiang)其轉換(huan)為(wei)已選好的關(guan)系(xi)型數(shu)據(ju)庫管理(li)系(xi)統RDBMS所支持的一(yi)(yi)組關(guan)系(xi)模式并為(wei)其選取一(yi)(yi)個(ge)適合應(ying)用環境(jing)的物理(li)結(jie)構,包(bao)括存(cun)儲(chu)結(jie)構和存(cun)取方法。

3、數(shu)據(ju)(ju)庫(ku)(ku)實現時期,包括數(shu)據(ju)(ju)庫(ku)(ku)結構創建階段和(he)應用行為設計與(yu)實現階段,是根據(ju)(ju)數(shu)據(ju)(ju)庫(ku)(ku)的物理(li)模型創建數(shu)據(ju)(ju)庫(ku)(ku)、創建表、創建索引、創建聚(ju)簇等。

4、數(shu)據庫運行(xing)與維護(hu)時期,最后一個(ge)階段(duan)則是(shi)數(shu)據庫應用系(xi)統經過(guo)試運行(xing)后即(ji)可投入正式(shi)運行(xing)。

網站提醒和聲明
本站為注冊(ce)(ce)用(yong)戶(hu)提供信(xin)息(xi)存儲空間(jian)服務,非“MAIGOO編輯上傳(chuan)提供”的文(wen)章(zhang)/文(wen)字均是注冊(ce)(ce)用(yong)戶(hu)自主發布上傳(chuan),不代表本站觀點,版權(quan)歸原(yuan)作者所有(you),如有(you)侵權(quan)、虛(xu)假信(xin)息(xi)、錯誤(wu)信(xin)息(xi)或任何問題,請(qing)及時聯系我們(men),我們(men)將在(zai)第一時間(jian)刪除或更正。 申請刪除>> 糾錯>> 投訴侵權>> 網頁(ye)上相(xiang)關信息(xi)的知識(shi)產權(quan)(quan)歸(gui)網站方(fang)所有(you)(包(bao)括但不限于文字、圖(tu)片、圖(tu)表、著作權(quan)(quan)、商標權(quan)(quan)、為用戶(hu)提供的商業信息(xi)等),非(fei)經許(xu)可不得抄襲(xi)或使用。
提交(jiao)說明(ming): 快速提交發布>> 查看提交幫助>> 注冊登錄>>
發表評論
您還未登錄,依《網絡安全法》相關要求,請您登錄賬戶后再提交發布信息。點擊登錄>>如您還未注冊,可,感謝您的理解及支持!
最新評論
暫無評論
天空之城
注冊用戶-時尚界的美少女的個人賬號
關注
頁面相關分類
裝修居住/場景空間
生活知識百科分類
地區城市
更多熱門城市 省份地區
人群
季節
TOP熱門知識榜
知識體系榜