-
關係數據庫
鎖定
關係數據庫,是建立在關係數據庫模型基礎上的數據庫,藉助於集合代數等概念和方法來處理數據庫中的數據,同時也是一個被組織成一組擁有正式描述性的表格,該形式的表格作用的實質是裝載着數據項的特殊收集體,這些表格中的數據能以許多不同的方式被存取或重新召集而不需要重新組織數據庫表格。關係數據庫的定義造成元數據的一張表格或造成表格、列、範圍和約束的正式描述。每個表格(有時被稱為一個關係)包含用列表示的一個或更多的數據種類。 每行包含一個唯一的數據實體,這些數據是被列定義的種類。當創造一個關係數據庫的時候,你能定義數據列的可能值的範圍和可能應用於那個數據值的進一步約束。而SQL語言是標準用户和應用程序到關係數據庫的接口。其優勢是容易擴充,且在最初的數據庫創造之後,一個新的數據種類能被添加而不需要修改所有的現有應用軟件。主流的關係數據庫有oracle、db2、sqlserver、sybase、mysql等。
[1]
- 中文名
- 關係數據庫
- 外文名
- relational database
- 基 礎
- 關係數據庫模型
- 藉 助
- 集合代數等概念和方法
- 作 用
- 處理數據庫中的數據
關係數據庫概念
關係數據庫是數據庫應用的主流,許多數據庫管理系統的數據模型都是基於關係數據模型開發的。
1)關係數據庫:在一個給定的應用領域中,所有實體及實體之間聯繫的集合構成一個關係數據庫。
2)關係數據庫的型與值:關係數據庫的型稱為關係數據庫模式,是對關係數據庫的描述,若干域的定義,在這些域上定義的若干關係模式;關係數據庫的值是這些關係模式在某一時刻對應的關係的集合,通常簡稱為關係數據庫。
[2]
關係數據庫分為兩類:一類是桌面數據庫,例如Access、FoxPro和dBase等;另一類是客户/服務器數據庫,例如SQL Server、Oracle和Sybase等。一般而言,桌面數據庫用於小型的、單機的應用程序,它不需要網絡和服務器,實現起來比較方便,但它只提供數據的存取功能。客户/服務器數據庫主要適用於大型的、多用户的數據庫管理系統,應用程序包括兩部分:一部分駐留在客户機上,用於向用户顯示信息及實現與用户的交互;另一部分駐留在服務器中,主要用來實現對數據庫的操作和對數據的計算處理。
關係數據庫歷史
1970年,IBM的研究員,有“關係數據庫之父”之稱的埃德加·弗蘭克·科德(Edgar Frank Codd或E. F. Codd)博士在刊物《Communication of the ACM》上發表了題為“A Relational Model of Data for Large Shared Data banks(大型共享數據庫的關係模型)”的論文,文中首次提出了數據庫的關係模型的概念,奠定了關係模型的理論基礎。20世紀70年代末,關係方法的理論研究和軟件系統的研製均取得了很大成果,IBM公司的San Jose實驗室在IBM370系列機上研製的關係數據庫實驗系統System R歷時6年獲得成功。1981年IBM公司又宣佈了具有System R全部特徵的新的數據庫產品SQL/DS問世。由於關係模型簡單明瞭、具有堅實的數學理論基礎,所以一經推出就受到了學術界和產業界的高度重視和廣泛響應,並很快成為數據庫市場的主流。20世紀80年代以來,計算機廠商推出的數據庫管理系統幾乎都支持關係模型,數據庫領域當前的研究工作大都以關係模型為基礎。
[3]
關係數據庫關係模型結構
1、單一的數據結構----關係(表文件)。關係數據庫的表採用二維表格來存儲數據,是一種按行與列排列的具有相關信息的邏輯組,它類似於Excel工作表。一個數據庫可以包含任意多個數據表。
在用户看來,一個關係模型的邏輯結構是一張二維表,由行和列組成。這個二維表就叫關係,通俗地説,一個關係對應一張表。
2、元組(記錄)。表中的一行即為一個元組,或稱為一條記錄。
3、屬性(字段)。數據表中的每一列稱為一個字段,表是由其包含的各種字段定義的,每個字段描述了它所含有的數據的意義,數據表的設計實際上就是對字段的設計。創建數據表時,為每個字段分配一個數據類型,定義它們的數據長度和其他屬性。字段可以包含各種字符、數字、甚至圖形。如錯誤!未找到引用源。
4、屬性值。行和列的交叉位置表示某個屬性值,如“數據庫原理”就是課程名稱的屬性值
5、主碼。主碼(也稱主鍵或主關鍵字),是表中用於唯一確定一個元組的數據。關鍵字用來確保表中記錄的唯一性,可以是一個字段或多個字段,常用作一個表的索引字段。每條記錄的關鍵字都是不同的,因而可以唯一地標識一個記錄,關鍵字也稱為主關鍵字,或簡稱主鍵。如錯誤!未找到引用源。
6、域。屬性的取值範圍。
7、關係模式。關係的描述稱為關係模式。對關係的描述,一般表示為:關係名(屬性1,屬性2.....屬性n)。例如上面的關係可描述為:課程(課程號、課程名稱、學分、任課老師)。
但是關係模型的這種簡單的數據結構能夠表達豐富的語義,描述出現實世界的實體以及實體間的各種關係。
關係數據庫主數據庫
oracle數據庫是oracle公司(中文名叫甲骨文公司)的,還有SQL,access;db2是IBM的(中文名稱是國際商務機器公司)。主流的關係數據庫還有微軟的Sql server,Sybase公司的sybase,(英孚美)軟件公司的informix以及免費的MySQL等。
關係數據庫集合
1)操作
◇查詢:選擇、投影、連接、除、並、交、差
◇數據更新:插入(insert)、刪除(delete)、修改(update)
查詢的表達能力是其中最主要的部分
2)特點
集合操作方式:即操作的對象和結果都是集合。
(非關係數據模型的數據操作方式:一次一記錄文件系統的數據操作方式)
3)種類
◇關係代數語言
用對關係的運算來表達查詢要求
典型代表:ISBL
◇關係演算語言:用謂詞來表達查詢要求元組關係演算語言
謂詞變元的基本對象是元組變量
典型代表:APLHA, QUEL
典型代表:QBE
◇具有關係代數和關係演算雙重特點的語言
典型代表:SQL
4)關係數據語言的特點
◇關係語言是一種高度非過程化的語言
a.存取路徑的選擇由DBMS的優化機制來完成
b.用户不必用循環結構就可以完成數據操作
◇能夠嵌入高級語言中使用
◇關係代數、元組關係演算和域關係演算三種語言在表達能力上完全等價
關係數據庫約束
1)實體完整性
通常由關係系統自動支持
2)參照完整性
早期系統不支持,但大型系統能自動支持
3)用户定義的完整性
反映應用領域需要遵循的約束條件,體現了具體領域中的語義約束
用户定義後由系統支持
關係數據庫延伸
在數據庫世界裏,後關係數據庫仍舊泰然自若,保持其本色。
在現代IT界,SQL和XML已經成為數據庫的非常重要組成部分,這二者成為數據庫系統結構組成部分的歷史也很長久了,至於開始的時間我也很難記得了。
但是,在60年代末和70年代初,出現了具備靈活字段長度、嵌套表格、鬆散數據類型選擇的數據庫構架,這樣的數據庫系統不僅受市場歡迎,也得到大家的青睞。這些早期的數據庫系統雖然缺乏像XML一樣的標記功能,但是它們在實際工作中卻表現出和XML極為類似的功能。
描述這些數據庫系統的術語是“後關係”或者“多值”,它們沒有SQL關係數據庫知名,是因為這些數據庫系統缺乏許多新聞的宣傳度,我們很容易把它認為是一個實驗而已,然後這些實驗在人們的印象中就會半途而廢了,最終慢慢的消失。
[4]
- 參考資料
-
- 1. 關係數據庫比較:SQLite vs MySQL vs PostgreSQL .極客網[引用日期2016-10-08]
- 2. 王珊,薩師煊.數據庫系統概論:高等教育出版社,2009:46-47
- 3. 王珊 薩師煊.數據庫系統概論:高等教育出版社,2009:41
- 4. 後關係數據庫必將有用武之地 .TechTarget數據庫[引用日期2015-09-24]
- 5. 重塑數據庫發展路徑 人大金倉如何走向世界級? .金融界[引用日期2022-03-20]