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