- Visual FoxPro程序設計
- 黃玲芳 劉建蘭主編
- 1489字
- 2019-07-25 11:48:21
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|t∈R∧F(t)=“真”}
其中F表示選擇條件,它是一個邏輯表達式,取邏輯值“真”或“假”。
邏輯表達式F由邏輯運算符∧、∨、- 連接各算術表達式組成,算術表達式的基本形式為:
XθY
其中θ為比較運算符,可以是>、≥、<、≤、=或≠; X、Y可以是屬性名或為常量或為簡單函數等。
選擇運算實際上是從關系R中選擇使邏輯表達式為真的元組,是從行的角度進行的運算。
2.投影
關系R上的投影是從R中選擇出若干屬性列組成新的關系,記作:
∏A(R)={t[A]|t∈R}
其中A為R中屬性列的集合。
投影運算是從列的角度進行的運算。
3.連接
一般來說,執行連接運算的兩個關系必須具有相同的屬性列,并且根據相同的屬性列的取值是否相等來選擇構成結果關系的元組,在結果中把重復的屬性列去掉。設R和S具有相同的屬性B,則連接運算可記作:
R S={trts|tr∈R∧ts∈S∧tr[B]= ts[B]}
連接操作不僅從行的角度進行運算,而且還要取消重復列,即同時從行和列的角度進行運算。
1.3.3 關系的完整性約束
1.實體完整性約束
若屬性A(指單個屬性或多個屬性組合)是基本關系R的主鍵,則A不能為空。例如,在關系人事表RSB(編號、姓名、性別、出生年月、基本工資)中編號屬性為主鍵,則編號不能取空值。
2.參照完整性約束
關系的外鍵必須是另一個關系主鍵的有效值或者是空值。例如,在關系人事表RSB(編號、姓名、性別、出生年月、基本工資)中主鍵是編號;另一關系增加工資表ZZ(編號、增資日期、增加工資)中的主鍵是屬性編號與增資日期的組合,外鍵是編號,增加工資表ZZ中的編號必須是人事表RSB中主鍵編號已經存在的值。
3.用戶定義完整性約束
指的是針對用戶的具體應用環境給出的具體數據的約束條件,反映某一具體應用所涉及的數據必須滿足的語義要求。例如,在關系人事表RSB(編號、姓名、性別、出生年月、基本工資)中性別只能取“男”或者“女”。
- 黑客攻防從入門到精通(實戰秘笈版)
- Boost程序庫完全開發指南:深入C++”準”標準庫(第5版)
- Git Version Control Cookbook
- Software Testing using Visual Studio 2012
- Java Web及其框架技術
- Python機器學習實戰
- Spring Boot企業級項目開發實戰
- INSTANT Sinatra Starter
- Vue.js 2 Web Development Projects
- GameMaker Essentials
- PowerDesigner 16 從入門到精通
- C++面向對象程序設計
- C語言從入門到精通(視頻實戰版)
- LabVIEW數據采集(第2版)
- 詩意的邊緣