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