關係數據庫基本術語

來源

《數據庫系統原理》數據庫

第二節  關係數據模型

  關係數據庫系統是支持關係模型的數據庫系統。做爲一種數據模型,關係模型一樣包含三個組成要素,分別是關係數據結構、關係操做集合和關係完整性約束。數據結構

1、關係數據結構

  關係模型的數據結構很是簡單,只包含單一的數據結構。即關係。在關係模型中,現實世界的實體以及實體間的各類聯繫,均是使用關係來表示。在用戶看來,關係模型是把數據庫表示爲數據的集合,且關係數據庫 是以二維表格的形式組織數據,例如表2.1就是一張記錄學生基本信息的二維表格,該表格爲學生基本信息登記表。spa

表2.1  學生基本信息登記表



學號對象

姓名ci

性別開發

出生日期io

籍貫table

民族基礎

班號原理

身份證號

201311111

張沙

1997/12/11

山西

AC1311

XXX1

201311112

張萌

1996/6/1

安徽

AC1311

XXX2

201311113

張伊尉

1998/1/1

安徽

AC1311

XXX3

  下面。以表2.1所示的二維表格爲例,介紹關係數據庫的基本術語。

  1.表(Table)

  表,也稱爲關係,是一個二維的數據結構,它由表名、構成表的各個列(如學號,姓名,性別,出生日期等)及若干行數據(各個學生的基本信息)組成。每一個表有一個惟一的表名,表中每一行數據描述一條具體的記錄值,如一個學生的基本信息。

  2.關係(Relation)

  一個關係邏輯上對應一張二維表,能夠爲每一個關係取一個名稱進行標識。例如,表2.1所示的學生基本信息登記表,也即學生基本信息登記表關係。

  關係能夠有三種類型,即基本關係、查詢表和視圖表。其中,基本關係一般又稱爲基本表或基表,是實際存在的表,它是實際存儲數據的邏輯表示;查詢表是查詢結果對應的表;視圖表是由基本表或其餘視圖表導出的表,是虛表,部隊營實際存儲的數據。

  3.列(Column)

  表中的列,也稱做字段(Field)或屬性(Attribute)。表中每一列有一個名稱,稱爲列名、字段名或屬性名。每一列表示實體的一個屬性,具備相同的數據類型。如表2.2所示,它列出了表2.1學生基本信息登記表中各個字段的字段名及其數據類型的定義。

表2.2  學生基本信息登記表的結構定義


中文字段名

數據類型

寬度

學號

字符型

10

姓名

字符型

20

性別

字符型

3

出生日期

日期型


籍貫

字符型

20

民族

字符型

30

班號

字符型

8

身份證號

字符型

18


  須要說明的是:在一個數據庫中,表名必須惟一;在表中,字段名必須惟一,不一樣表中能夠出現相同的字段名;表和字段的命名應儘可能有意義,儘可能簡單。

  4.屬性(Attribute)

  表中的一列即爲一個屬性,給每個屬性起一個名稱極爲屬性名。與之同義的術語是「列」。表中屬性的個數稱爲關係的元或度。列的值稱爲屬性值;屬性值的取值範圍稱爲值域。例如,表2.1中學生基本信息登記表關係的屬性有:學號、姓名、性別、出生日期、籍貫、民族、版號、身份證,因此元數是8,即學生基本信息登記表關係是一個8元關係或8度關係。

  5.行(Row)

  表中的行(Row),也稱做元組(Tuple)或記錄(Record)。表中的數據是按行存儲的。表中的一行數據即爲一個元組或一條記錄,其每行由若干字段值組成,每一個字段值描述該對象的一個屬性或特徵。例如,在表2.1中,第一行數據表示的是學號爲2013111十一、姓名爲張沙的學生基本信息。

  6.元組(Tuple)

  表中的一行即爲一個元組。例如,在表2.1中的元組有:

201311111

張沙

1997/12/11

山西

AC1311

XXX1

201311112

張萌

1996/6/1

安徽

AC1311

XXX2

201311113

張伊尉

1998/1/1

安徽

AC1311

XXX3

等。

  7.份量(Component)

  元組中的一個屬性值,稱爲份量。例如,在學生基本信息登記表中元組

201311112

張萌

1996/6/1

安徽

AC1311

XXX2

的每個屬性值:「201311112」、「張萌」、「女」、「1996/6/1」,「安徽」,「漢」,「AC1311」,「XXX2」都是它的份量。

  8.碼或鍵(Key)

  若是在一個關係中,存在這樣的屬性(或屬性組),使得在該關係的任何一個關係狀態中的兩個元組,在該屬性(或屬性組)上值的組合都不相同,即這些屬性(或屬性組)的值都能用來惟一標識該關係的元組,稱這些屬性(或屬性組)爲該關係的碼或鍵。(讀者譯:物理數據「實際數據」值的引用)

  9.超碼或超鍵(Super Key)

   若是在關係的一個碼中移去某個屬性,它仍然是這個關係的碼,則稱這樣的碼或鍵爲該關係的超碼或超鍵。通常的,每一個關係至少有一個默認的超碼或超鍵,即該關係的全部屬性的集合,也是這個關係的最大超碼或超鍵。例如,在表2.1中,

學號

姓名

性別

出生日期

籍貫

民族

班號

身份證號

  都是超碼或超鍵。

  10.候選碼或候選鍵(Candidate Key)

  若是在關係的一個碼或鍵中,不能從中移去任何一個屬性,不然它就不是這個關係的碼或鍵,則稱這樣的爲該關係的候選碼或候選鍵。可見,一個關係的候選碼是這個關係的最小超碼或超鍵。例如,表2.1最中學號和身份證號都是候選建,由於若給定學號或身份證號,均可以肯定一個學生的所有基本信息。

  有些狀況下,須要幾個屬性(即屬性組或屬性集合)才能惟一肯定一條記錄。例如,對於表2.3所示的學生成績表的結構定義,僅僅肯定學號或課程號,都不能惟一肯定某個學生具體一門課程的成績。因此,學生成績表的主鍵是由學號和課程號兩個屬性組成的屬性集合,即(學號,課程號)。

表2.3  學生成績表的結構定義


中文字段名

數據類型

寬度

學號

字符型

10

課程號

字符型

6

開課學期

字符型

5

成績

數值型



  11.主碼或主鍵(Primary Key)

  在一個關係的若干候選碼或候選鍵中指定一個用來惟一標識關係的元組,則稱這個被指定的候選碼或候選鍵爲該關係的主碼或主鍵。

  12.全碼或全鍵(All-Key)

  一個關係模式的全部屬性集合是這個關係的主碼或主鍵,責成這樣的主碼或主鍵爲全碼或全鍵。

  13.主屬性(Primary Attribute)和非主屬性(Nonprimary Attribute)

  關係中包含在任何一個候選碼中的屬性稱爲主屬性或碼屬性,不包含在任何一個候選碼中的屬性稱爲非主屬性或非碼屬性。例如,在表2.1在學生基本信息登記表中,學號和身份證號是主屬性,其餘屬性是非主屬性。

  14.外碼或外鍵(Foreign Key)

  當關系中的某個屬性(或屬性組)不是這個關係的主碼或候選碼,而是另外一關係的主碼時,稱該屬性(或屬性組)爲這個關係的外碼或外鍵。例如,在表2.4中班號是班級表的主鍵,而該屬性又是表2.1學生基本信息登記表的一個屬性,則成屬性班號爲學生基本信息表的外鍵。


中文字段名

數據類型

寬度

班號

字符型

8

班級名稱

字符型

20

所屬院系

字符型

30

入學時間

日期型


班級最大人數

數值型


  15.參照關係(Referencing Relation)和被參照關係(Referened Relation)

  參照關係也稱爲從關係,被參照關係也稱爲主關係,它們是指之外鍵相關聯的兩個關係。覺得外鍵爲主碼的關係稱爲被參照關係;外鍵所在的關係稱爲參照關係。被參照關係與參照關係是經過外鍵相聯繫的,這種聯繫一般是一對多聯繫。例如,表2.4所定義的班級表是被參照關係,而表2.1所示的學生基本信息登記表是參照關係,它們經過外鍵「班號」相聯繫。

  16.域(Domain)

  域表示屬性的取值範圍。

  17.數據類型(Date Type)

  表中每一個列都有對應的數據類型,它用於限制(或允許)該列中存儲的數據。每一個字段表示同一類信息,具備相同的數據類型。

  18.關係模式(Relation Schema)

  同數據模型同樣,數據庫也有「型」(Type)和「值」(Value)之分。在關係數據庫中,關係模式是型,關係是值,即關係模式是對關係的描述,例如表2.2就是對對關係的結構定義,關係則是元組的集合,是關係模式在某一時刻的狀態或內容。

  關係模式是靜態的、穩定的,而關係是動態的、隨時間變化的。這是由於關係操做在不斷的更新着數據庫中的數據,例如,(讀者譯:別例如了,這東西本身想象,哦描述了數據模式,用概念來創造一個概念模型,這個模型在開發中,是不能更改的,除非用戶需求更改)。

  在實際工做中,人們經常會把關係模式和關係都籠統地稱爲關係,(讀者譯:甚至表>__<),固然這不難從上下文中加以區別。

  19.關係數據庫(Relation DateBase)

  關係數據庫是以關係模型做爲數據的邏輯模型,並採用關係做爲組織方式的一類數據庫,其數據庫操做創建在關係代數的基礎上。在一個給定的應用領域中,全部關係的集合構成一個關係數據庫。

  

 

  此外,儘管關係模型的數據結構表示爲二維表,但不是任意的一個二維表均可以做爲一個關係。關係數據庫對關係是有限定的,具體要求以下。

  i)每個屬性都是不可分解的。這是關係數據庫對關係的最基本的一個限定,要求關係的每個份量必須是一個不可分的數據項。

  ii)每個關係僅僅有一種關係模式,即每個關係模式中的屬性的數據類型以及屬性的個數是相對固定的。

  iii)每個關係模式中的屬性必須命名,在同一個關係模式中屬性名必須是不一樣的。

  iv)同一個關係中不容許出現候選碼或候選鍵徹底相同的元組。

  v)在關係中元組順序(即行序)是可有可無的,任意交換。

  vi)在關係中屬性的順序(即列序)是可有可無的。任意交換。

相關文章
相關標籤/搜索