一、什么是關系數據庫
關系數據庫,是(shi)建立在關系數(shu)據庫模型基礎上的(de)(de)(de)數(shu)據庫,借助(zhu)于(yu)集合代數(shu)等數(shu)學概念和方法來(lai)處理數(shu)據庫中(zhong)的(de)(de)(de)數(shu)據,同(tong)時也是(shi)一個被組織(zhi)(zhi)成一組擁有正式(shi)(shi)描述(shu)性的(de)(de)(de)表(biao)格(ge),該形式(shi)(shi)的(de)(de)(de)表(biao)格(ge)作用的(de)(de)(de)實質(zhi)是(shi)裝(zhuang)載著數(shu)據項的(de)(de)(de)特殊收集體,這些表(biao)格(ge)中(zhong)的(de)(de)(de)數(shu)據能以(yi)許(xu)多不同(tong)的(de)(de)(de)方式(shi)(shi)被存取或重(zhong)新(xin)召集而不需(xu)要重(zhong)新(xin)組織(zhi)(zhi)數(shu)據庫表(biao)格(ge)。
關系數據(ju)庫(ku)的(de)(de)(de)(de)(de)(de)定義(yi)造(zao)(zao)成(cheng)元數據(ju)的(de)(de)(de)(de)(de)(de)一(yi)(yi)張表格或造(zao)(zao)成(cheng)表格、列(lie)、范圍(wei)和(he)約(yue)束(shu)的(de)(de)(de)(de)(de)(de)正式描(miao)述。每個(ge)表格(有時被稱為一(yi)(yi)個(ge)關系)包(bao)含用(yong)列(lie)表示的(de)(de)(de)(de)(de)(de)一(yi)(yi)個(ge)或更多的(de)(de)(de)(de)(de)(de)數據(ju)種(zhong)類。每行包(bao)含一(yi)(yi)個(ge)唯(wei)一(yi)(yi)的(de)(de)(de)(de)(de)(de)數據(ju)實體,這(zhe)些數據(ju)是被列(lie)定義(yi)的(de)(de)(de)(de)(de)(de)種(zhong)類。當創(chuang)造(zao)(zao)一(yi)(yi)個(ge)關系數據(ju)庫(ku)的(de)(de)(de)(de)(de)(de)時候,你能定義(yi)數據(ju)列(lie)的(de)(de)(de)(de)(de)(de)可能值(zhi)的(de)(de)(de)(de)(de)(de)范圍(wei)和(he)可能應用(yong)于(yu)那個(ge)數據(ju)值(zhi)的(de)(de)(de)(de)(de)(de)進一(yi)(yi)步(bu)約(yue)束(shu)。而(er)SQL語(yu)言是標準用(yong)戶和(he)應用(yong)程(cheng)序到關系數據(ju)庫(ku)的(de)(de)(de)(de)(de)(de)接(jie)口。其(qi)優勢是容易擴充,且在最(zui)初的(de)(de)(de)(de)(de)(de)數據(ju)庫(ku)創(chuang)造(zao)(zao)之后,一(yi)(yi)個(ge)新的(de)(de)(de)(de)(de)(de)數據(ju)種(zhong)類能被添加而(er)不需要修改(gai)所(suo)有的(de)(de)(de)(de)(de)(de)現有應用(yong)軟件。主流的(de)(de)(de)(de)(de)(de)關系數據(ju)庫(ku)有oracle、db2、sqlserver、sybase、mysql等。
二、關系數據庫的模型結構是什么
1、單一的數據結構----關系(表文件)。關系數據庫的(de)(de)表采用二維表格(ge)來存儲數據,是一(yi)種按行與列排列的(de)(de)具(ju)有相關信息的(de)(de)邏輯組(zu),它(ta)類似(si)于Excel工作(zuo)表。一(yi)個數據庫可以(yi)包含任意多個數據表。
在用戶看(kan)來,一(yi)(yi)個關系(xi)(xi)模型的邏(luo)輯(ji)結構是(shi)一(yi)(yi)張(zhang)二維(wei)(wei)表(biao),由行和列組成(cheng)。這(zhe)個二維(wei)(wei)表(biao)就叫關系(xi)(xi),通(tong)俗地說,一(yi)(yi)個關系(xi)(xi)對應一(yi)(yi)張(zhang)表(biao)。
2、元組(記錄)。表中的一行(xing)即為一個元組,或稱為一條記錄。
3、屬(shu)性(字(zi)段(duan))。數(shu)(shu)據表中的(de)(de)每(mei)(mei)一(yi)(yi)列稱為(wei)一(yi)(yi)個(ge)字(zi)段(duan),表是(shi)由其包(bao)含的(de)(de)各(ge)種(zhong)字(zi)段(duan)定義(yi)(yi)的(de)(de),每(mei)(mei)個(ge)字(zi)段(duan)描述(shu)了它(ta)所含有(you)的(de)(de)數(shu)(shu)據的(de)(de)意義(yi)(yi),數(shu)(shu)據表的(de)(de)設(she)計實(shi)際上就是(shi)對字(zi)段(duan)的(de)(de)設(she)計。創建(jian)數(shu)(shu)據表時,為(wei)每(mei)(mei)個(ge)字(zi)段(duan)分配一(yi)(yi)個(ge)數(shu)(shu)據類(lei)型,定義(yi)(yi)它(ta)們的(de)(de)數(shu)(shu)據長度(du)和其他屬(shu)性。字(zi)段(duan)可以包(bao)含各(ge)種(zhong)字(zi)符(fu)、數(shu)(shu)字(zi)、甚至(zhi)圖(tu)形。如錯(cuo)誤!未找到(dao)引用源(yuan)。
4、屬性(xing)值。行(xing)和列的交叉位置表示(shi)某個屬性(xing)值,如“數據(ju)庫原(yuan)理”就是課程名稱的屬性(xing)值。
5、主碼(ma)。主碼(ma)(也稱主鍵或主關鍵字(zi)(zi)),是表(biao)中用于唯(wei)一(yi)(yi)確(que)定一(yi)(yi)個(ge)元組的(de)(de)(de)數(shu)據(ju)。關鍵字(zi)(zi)用來確(que)保表(biao)中記錄的(de)(de)(de)唯(wei)一(yi)(yi)性,可以是一(yi)(yi)個(ge)字(zi)(zi)段或多個(ge)字(zi)(zi)段,常用作一(yi)(yi)個(ge)表(biao)的(de)(de)(de)索引(yin)字(zi)(zi)段。每條記錄的(de)(de)(de)關鍵字(zi)(zi)都是不同(tong)的(de)(de)(de),因而可以唯(wei)一(yi)(yi)地標(biao)識一(yi)(yi)個(ge)記錄,關鍵字(zi)(zi)也稱為(wei)主關鍵字(zi)(zi),或簡稱主鍵。如錯誤!未找到引(yin)用源。
6、域(yu)。屬性的取值范圍。
7、關(guan)(guan)(guan)系(xi)模(mo)式。關(guan)(guan)(guan)系(xi)的描(miao)述稱為關(guan)(guan)(guan)系(xi)模(mo)式。對關(guan)(guan)(guan)系(xi)的描(miao)述,一般表示為:關(guan)(guan)(guan)系(xi)名(ming)(屬(shu)(shu)性(xing)1,屬(shu)(shu)性(xing)2.....屬(shu)(shu)性(xing)n)。例如上面的關(guan)(guan)(guan)系(xi)可描(miao)述為:課(ke)程(cheng)(cheng)(課(ke)程(cheng)(cheng)號、課(ke)程(cheng)(cheng)名(ming)稱、學分、任課(ke)老師(shi))。
但是關(guan)系(xi)模(mo)型(xing)的(de)這種(zhong)簡單的(de)數據(ju)結構能(neng)夠表(biao)達豐富(fu)的(de)語(yu)義,描(miao)述出現實世界的(de)實體(ti)以及(ji)實體(ti)間(jian)的(de)各(ge)種(zhong)關(guan)系(xi)。