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