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