MySQL入門教程:關系型數據庫系統
最新學訊:近期OCP認證正在報名中,因考試人員較多請盡快報名獲取最近考試時間,報名費用請聯系在線老師,甲骨文官方認證,報名從速!
我要咨詢MySQL入門教程:關系型數據庫系統,所謂關系數據庫管理系統,即RDBMS,為了進一步了解一個RDBMS是由什么構成的,你必須先了解關系模型。
下列情況出現在一個關系模型中:
數據的基礎項是關系。
在這些表上的操作只產生關系(關系型閉合)。
什么是關系?這是一個描述兩個集合的元素如何相互聯系或如何一一對應的數學概念。因此,關系模型是建立在數學基礎上的。然而,對你來說,關系只是一個帶有一些特殊屬性的表,一個關系模型把數據組織到表中,而且僅在表中。客戶、數據庫設計者、數據庫系統管理員和用戶都以同樣的方式—即從表中—查看數據。那么,表就是關系模型的近義詞。
一個關系型表有一組命名的屬性(attribute)或列,以及一組元組(tuple)或行。有時列被稱為域,行被稱為記錄,列和行的交集通常被叫做單元。列標示位置,有作用域或數據類型,例如字符或整數。行自己就是數據。
一個關系表必須符合某些特定條件,才能成為關系模型的一部分:
1、貯存在單元中的數據必須是原子的。
每個單元只能存貯一條數據,這也叫信息原則(InformationPrinciple)。盡管在過去的數年中按某些違反這一條的方式已經建立了許多系統,但違反這一條將不能運用良好的設計原則。當一個單元包含多于一條的信息時,這叫做信息編碼(informationcoding)。在這樣的情況下,是否采用違背理論的方案是一個設計的選擇問題,盡管在多數情況下,結果證明這對數據的完整性是一不利的。
2、貯存在列下的數據必須具有相同數據類型。
3、每行是唯一的(沒有完全相同的行)。
4、列沒有順序。
5、行沒有順序。
6、列有一個唯一性的名稱。
除了表和它們的屬性,關系模型有它自己特殊的操作。不需要深入研究關系型數學,只需說明這些操作可能包括列的子集、行的子集、表的連接以及其他數學集合操作(如聯合)等就足夠了。真正要知道的事情是這些操作把表當作輸入,而將產生的表作為輸出。
SQL是當前RDBMS的ANSI標準語言,它包含這些關系型操作。允許數據操作或數據處理的主要語句是SELECT、INSERT、UPDATE和DELETE。因此,這些數據處理操作中任何一個都是一個事務。
允許數據定義或結構化處理的基本語句是CREATE、ALTER和DROP。關系模型要求的最后一件事是兩個基礎的完整性原則。它們是實體完整性原則(entityintegrityrule)和引用完整性原則(referentialintegrityrule)。首先,讓我們看看兩個定義:
1、主鍵(primarykey)是能唯一標識行的一列或一組列的集合。有時,多個列或多組列可以被當作主鍵。
2、由多個列構成的主鍵被稱為連接鍵(concatenatedkey)、組合鍵(compoundkey),或者更常稱為復合鍵(compositekey)。
數據庫設計者決定哪些列的組合能夠最準確和有效地反映業務情形,這并不意味著其他數據未被存貯,只是那一組列被選作主鍵而已。
剩余有可能被選為主鍵的列被叫做候選鍵(candidatekey)或替代鍵(alternatekey)。一個外鍵(foreignkey)是一個表中的一列或一組列,它們在其他表中作為主鍵而存在。一個表中的外鍵被認為是對另外一個表中主鍵的引用。實體完整性原則簡潔地表明主鍵不能全部或部分地空缺或為空,引用完整性原則簡潔地表明一個外鍵必須為空或者與它所引用的主鍵當前存在的值相一致。
一個RDBMS就是一個建立在前面這些關系模型基礎上的,一般能滿足所提到的全部要求的DBMS。但是,在70年代末到80年代初,RDBMS開始銷售的時候,SQL超越了本質為非關系型的系統,受到普遍歡迎,并被稱作關系型。