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