一、什么是關(guān)系數(shù)據(jù)庫
關(guān)系數(shù)據(jù)庫,是建立在關(guān)系數(shù)據(jù)庫模型基礎(chǔ)上的數(shù)據(jù)庫,借助于集合代數(shù)等數(shù)學(xué)概念和方法來處理數(shù)據(jù)庫中的數(shù)據(jù),同時(shí)也是一個(gè)被組織成一組擁有正式描述性的表格,該形式的表格作用的實(shí)質(zhì)是裝載著數(shù)據(jù)項(xiàng)的特殊收集體,這些表格中的數(shù)據(jù)能以許多不同的方式被存取或重新召集而不需要重新組織數(shù)據(jù)庫表格。
關(guān)系數(shù)據(jù)庫的定義造成元數(shù)據(jù)的一張表格或造成表格、列、范圍和約束的正式描述。每個(gè)表格(有時(shí)被稱為一個(gè)關(guān)系)包含用列表示的一個(gè)或更多的數(shù)據(jù)種類。每行包含一個(gè)唯一的數(shù)據(jù)實(shí)體,這些數(shù)據(jù)是被列定義的種類。當(dāng)創(chuàng)造一個(gè)關(guān)系數(shù)據(jù)庫的時(shí)候,你能定義數(shù)據(jù)列的可能值的范圍和可能應(yīng)用于那個(gè)數(shù)據(jù)值的進(jìn)一步約束。而SQL語言是標(biāo)準(zhǔn)用戶和應(yīng)用程序到關(guān)系數(shù)據(jù)庫的接口。其優(yōu)勢是容易擴(kuò)充,且在最初的數(shù)據(jù)庫創(chuàng)造之后,一個(gè)新的數(shù)據(jù)種類能被添加而不需要修改所有的現(xiàn)有應(yīng)用軟件。主流的關(guān)系數(shù)據(jù)庫有oracle、db2、sqlserver、sybase、mysql等。
二、關(guān)系數(shù)據(jù)庫的模型結(jié)構(gòu)是什么
1、單一的數(shù)據(jù)結(jié)構(gòu)----關(guān)系(表文件)。關(guān)系數(shù)據(jù)庫的表采用二維表格來存儲數(shù)據(jù),是一種按行與列排列的具有相關(guān)信息的邏輯組,它類似于Excel工作表。一個(gè)數(shù)據(jù)庫可以包含任意多個(gè)數(shù)據(jù)表。
在用戶看來,一個(gè)關(guān)系模型的邏輯結(jié)構(gòu)是一張二維表,由行和列組成。這個(gè)二維表就叫關(guān)系,通俗地說,一個(gè)關(guān)系對應(yīng)一張表。
2、元組(記錄)。表中的一行即為一個(gè)元組,或稱為一條記錄。
3、屬性(字段)。數(shù)據(jù)表中的每一列稱為一個(gè)字段,表是由其包含的各種字段定義的,每個(gè)字段描述了它所含有的數(shù)據(jù)的意義,數(shù)據(jù)表的設(shè)計(jì)實(shí)際上就是對字段的設(shè)計(jì)。創(chuàng)建數(shù)據(jù)表時(shí),為每個(gè)字段分配一個(gè)數(shù)據(jù)類型,定義它們的數(shù)據(jù)長度和其他屬性。字段可以包含各種字符、數(shù)字、甚至圖形。如錯(cuò)誤!未找到引用源。
4、屬性值。行和列的交叉位置表示某個(gè)屬性值,如“數(shù)據(jù)庫原理”就是課程名稱的屬性值。
5、主碼。主碼(也稱主鍵或主關(guān)鍵字),是表中用于唯一確定一個(gè)元組的數(shù)據(jù)。關(guān)鍵字用來確保表中記錄的唯一性,可以是一個(gè)字段或多個(gè)字段,常用作一個(gè)表的索引字段。每條記錄的關(guān)鍵字都是不同的,因而可以唯一地標(biāo)識一個(gè)記錄,關(guān)鍵字也稱為主關(guān)鍵字,或簡稱主鍵。如錯(cuò)誤!未找到引用源。
6、域。屬性的取值范圍。
7、關(guān)系模式。關(guān)系的描述稱為關(guān)系模式。對關(guān)系的描述,一般表示為:關(guān)系名(屬性1,屬性2.....屬性n)。例如上面的關(guān)系可描述為:課程(課程號、課程名稱、學(xué)分、任課老師)。
但是關(guān)系模型的這種簡單的數(shù)據(jù)結(jié)構(gòu)能夠表達(dá)豐富的語義,描述出現(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的各種關(guān)系。