官术网_书友最值得收藏!

1.3 關系數據庫

關系數據庫以關系數據模型為基礎,用關系表示模型,用運算表示數據操作。本書討論的VFP 9.0就是采用關系模型的數據庫管理系統。

1.3.1 關系模型的數據結構

1.3.1.1 關系模型的基本概念

1.關系

一個關系是一個二維表,即一個表文件,每個關系都有一個關系名。

2.元組

元組指二維表中每一行的數據,一個元組對應表中的一條記錄。

3.屬性

屬性指二維表中的每一列,每個屬性都有屬性名。一個屬性對應表中一個字段,屬性名對應字段名,屬性值對應于各個記錄的字段值。

4.主鍵

主鍵指區別其他元組的唯一標識,可以是單個或多個屬性的組合,其值不能為空。

5.外鍵

外鍵可以是單個或多個屬性的組合,它不一定是自己關系的主碼,但一定是另一關系的主碼,與另一關系的聯系通過外鍵來實現。

6.關系模式

關系模式是對關系的描述,其格式為:

      關系名(屬性名1,屬性名2,屬性名3, …,屬性名n)

1.3.1.2 關系的基本特點

關系的基本特點如下。

(1)關系是一種規范化了的二維表格,屬性值不可分解。

(2)同一關系中沒有重復的元組。

(3)同一關系中同一屬性列必須是相同類型的數據,同列具有相同的取值范圍。

(4)同一關系中元組和屬性的順序無關緊要,可以任意交換。

1.3.1.3 關系模型的主要優點

關系模型的主要優點如下。

(1)關系模型是創建在嚴格數學概念基礎上的。

(2)關系模型概念簡單,不論實體還是實體之間的聯系都用關系表示。對數據各種操作的結果仍是關系,操作簡便。

(3)關系模型的存取路徑對用戶透明,具有較高的數據獨立性和安全保密性,提高了開發效率。

1.3.2 關系運算

關系運算的運算對象是關系,運算結果也是關系。

傳統的集合運算有并、交、差、迪卡爾積,在關系數據模型中關系運算主要包括選擇、投影、連接和除法運算,而前3種為常用關系運算。

1.選擇

選擇又稱為“限制”,它是在關系R中選擇滿足給定條件的元組,記為:

σF(R)={t|tR∧F(t)=“真”}

其中F表示選擇條件,它是一個邏輯表達式,取邏輯值“真”或“假”。

邏輯表達式F由邏輯運算符∧、∨、- 連接各算術表達式組成,算術表達式的基本形式為:

XθY

其中θ為比較運算符,可以是>、≥、<、≤、=或≠; XY可以是屬性名或為常量或為簡單函數等。

選擇運算實際上是從關系R中選擇使邏輯表達式為真的元組,是從行的角度進行的運算。

2.投影

關系R上的投影是從R中選擇出若干屬性列組成新的關系,記作:

∏A(R)={t[A]|tR}

其中AR中屬性列的集合。

投影運算是從列的角度進行的運算。

3.連接

一般來說,執行連接運算的兩個關系必須具有相同的屬性列,并且根據相同的屬性列的取值是否相等來選擇構成結果關系的元組,在結果中把重復的屬性列去掉。設RS具有相同的屬性B,則連接運算可記作:

R S={trts|trRtsStr[B]= ts[B]}

連接操作不僅從行的角度進行運算,而且還要取消重復列,即同時從行和列的角度進行運算。

1.3.3 關系的完整性約束

1.實體完整性約束

若屬性A(指單個屬性或多個屬性組合)是基本關系R的主鍵,則A不能為空。例如,在關系人事表RSB(編號、姓名、性別、出生年月、基本工資)中編號屬性為主鍵,則編號不能取空值。

2.參照完整性約束

關系的外鍵必須是另一個關系主鍵的有效值或者是空值。例如,在關系人事表RSB(編號、姓名、性別、出生年月、基本工資)中主鍵是編號;另一關系增加工資表ZZ(編號、增資日期、增加工資)中的主鍵是屬性編號與增資日期的組合,外鍵是編號,增加工資表ZZ中的編號必須是人事表RSB中主鍵編號已經存在的值。

3.用戶定義完整性約束

指的是針對用戶的具體應用環境給出的具體數據的約束條件,反映某一具體應用所涉及的數據必須滿足的語義要求。例如,在關系人事表RSB(編號、姓名、性別、出生年月、基本工資)中性別只能取“男”或者“女”。

主站蜘蛛池模板: 稻城县| 潮州市| 阜平县| 农安县| 西城区| 柘荣县| 孟连| 芷江| 宝鸡市| 郸城县| 兴城市| 永福县| 昭觉县| 临西县| 龙泉市| 柳州市| 虹口区| 安宁市| 尼勒克县| 泉州市| 石首市| 江城| 修文县| 鹿邑县| 松江区| 巫山县| 美姑县| 阜康市| 福贡县| 彭山县| 大埔区| 乐昌市| 蒙自县| 綦江县| 伊通| 郴州市| 砚山县| 天津市| 霍林郭勒市| 阿克陶县| 枝江市|