關系數據庫的基本概念


1.屬性和域
  在現實世界中,一個事物常常取若干特性來描述,這些特性成為屬性(Attribute)。每個屬性的取值范圍對應一個值的集合,成為該屬性的域(domain)。一般在關系數據模型中,限制所有的域都是原子數據(atomic data)。例如,整數、字符串是原子數據,而集合、記錄、數組是非原子數據。關系數據模型的這種限制稱為第一范式(First Normal Form,1NF)條件。

2.主要術語

  • 目或度(Degree):屬性個數n是關系的目或度。
  • 候選碼(Candidate Key):若關系中某一屬性(或屬性組)的值能唯一地標識一個元組,則稱該屬性(屬性組)為候選碼。
  • 主碼(Primary Key):若一個關系能多個候選碼,則選定其中一個為主碼。
  • 主屬性(Key attribute):包含在任何候選碼中的屬性稱為主屬性。
  • 非碼屬性(Non-Key attribute):不包含在任何候選碼中的屬性稱為非碼屬性。
  • 外碼(Foreign Key):如果關系模式R中的屬性(屬性組)不是該關系的碼,但它是其他關系的碼,那么該屬性(屬性組)對關系模式R而言是外碼。例如,客戶與貨款之間的借貸聯系c-l(c-id, loan-no),屬性c-id是客戶關系的碼,所以c-id是外碼;屬性loan-no是貸款關系中的碼,所以loan-no也是外碼。
  • 全碼(All-Key):關系模型的所有屬性組是這個關系模型的候選碼,稱為全碼。

  例如,關系模式R(T,C,S),屬性T表示教師,屬性C表示課程,屬性S表示學生。假設一個教師可以講授多門課程,某門課程可以由多個教師講授,學生可以聽不同教師講授的不同的課程,那么,要想區分關系中的每一個元組,這個關系模式R的碼應為全屬性T,C和S,即All-Key。

3.關系的性質
一個基本關系具有以下5條性質。

  1. 分量必須取原子值,每個分量必須是不可再分的數據項。
  2. 列是同質的,每列中的分量必須是同一類型的數據,來自同一個域。
  3. 屬性不能重名。
  4. 行列的順序無關。
  5. 任何兩個元組不能完全相同,這是由主碼約束來保證的。但是有些數據庫若用戶沒有定義完整性約束條件,允許有兩行以上的相同的元組。

4.關系的三種類型

  1. 基本關系(通常又稱為基本表或基表)。是實際存在的表,它是實際存儲數據的邏輯表示。
  2. 查詢表。查詢結果對應的表。
  3. 視圖表。是由基本表或其他視圖表導出的表。由於它本身不獨立存儲在數據庫中,數據庫中只存放它的定義,所以常稱為虛表。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM