數據庫基本概念(二)

1、數據庫基本概念

一、關係數據庫數據庫

(1)關係操做ide

  關係操做所操做的對象和結果都是集合,成爲一次一集合的方式。而非關係數據模型的數據庫操做方式爲一次一記錄的方式。對象

  關係數據模型中最重要的是關係查詢操做,主要分爲:選擇(select)、投影(project)、鏈接(jion)、除(divide)、並(union)、差(except)、交(intersection)和笛卡爾積等。其中,選擇、投影、並、差、笛卡爾積是5種基本的操做。產品

(2)關係型數據庫語言

  在實際的關係數據庫系統中,爲實現選擇、投影、並、差等操做,爲用戶提供了一種介於關係代數和關係驗算之間的語言SQL(Strutured Query Language,結構化查詢語言)。SQL語言是用於關係數據庫查詢的結構化語言,目前許多關係型數據庫管理系統支持SQL語言,如SQL Server、Access、Oracle、DB二、MySQL等。it

  SQL語言的功能包括數據查詢、數據操縱、數據定義和數據控制四個部分。SQL語言簡潔、方便、實用,爲完成其核心功能只用了6個動詞——SELECT、CREATE、INSERT、UPDATE、DELETE和GRANT(REVOKE)。做爲關係型數據庫標準語言雖然被衆多商用數據庫管理系統產品採用,可是不一樣的數據庫管理系統在實踐過程當中都對SQL規範作了某改編和擴充。因此,在實際上不一樣數據庫管理系統之間的SQL語言不能徹底互相通用。如甲骨文公司的ORACLE數據庫所使用的SQL語言是Procedural Language/SQL(簡稱PL/SQL),而微軟的SQL Server數據庫系統支持的是Transact-SQL(簡稱T-SQL)。io

(3)關係的完整性

  關係數據庫模型的完整性規則是對關係的某種約束條件。關係模型中有三類完整性約束:實體完整性、參照完整性、用戶定義的完整性。當中實體完整性和參照完整性是關係模型必須知足的完整性約束條件。被稱做是關係的兩個不變性。應該由關係系統本身主動支持。select

  • 實體完整性(Entity Integrity):若屬性(指一個或一組屬性)A是基本關係R的主屬性,則A不能取空值。所謂空值就是「不知道」或「不存在」的值。
    依照實體完整性的規則的規定,基本關係的主碼都不能取控制。引用

    假設主碼由若干屬性組成,則所有這些主屬性都不能取空值。
    對於實體完整性規則說明:
    1)實體完整性規則是針對基本關係而言的。一個基本表一般相應現實世界的一個實體集。nio

    如學生關係相應於學生的集合。
    2)現實世界中的實體是可區分的。即他們具備某種惟一性標識。好比每個學生都是獨立的個體,是不同的。
    3)關係模型中以主碼做爲惟一性標識。
    4)主碼中的屬性,即主屬性不能取空值。假設主屬性取空值。就說明存在某個不可標識的實體,即存在不可區分的實體,這與2)相矛盾,所以這個規則稱爲實體完整性。數據

  • 參照完整性(Refernetial Integrity):在現實生活中,實體之間每每存在某種聯繫,在數據庫模型中的實體機實體之間的聯繫都用關係描述,這樣就存在着關係與關係間的引用。在關係數據庫系統中,經過引入外鍵的概念來表達實體之間的相互引用。

  1)設F是基本關係R的一個或一組屬性,但不是關係R的碼。

  K是基本關係S的主碼。假設F與K相相應,則稱F是R的外碼(foreign key)。

  並稱基本關係R爲參照關係。

  基本關係S爲被參照關係。外碼並不必定要與相應的主碼同名。
  2)若屬性(或屬性組)F是基本關係R的外碼。它與基本關係S的主碼K相相應(基本關係R與S不必定是不一樣的關係)。則對於R中每個元組在F上的值必須爲:◀或者取空值(F的每個屬性值均爲空值)◀或者等於S中的某個元組的主碼值。

  • 用戶定義的完整性(User-defined Integrity):實體完整性和參照完整性是任何關係數據庫系統都必須支持的。除此以外,不一樣的關係數據庫系統根據其應用環境不一樣,每每還須要一些特殊的約束條件,用戶定義的完整性就是針對某一具體關係數據庫的約束條件。它反映某一具體應用所涉及的數據必須知足的語義要求。

  例如,在‘學生’表中,用戶規定總學分爲60分才爲及格。

相關文章
相關標籤/搜索