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