2.1 《数据库系统概论》关系数据结构及形式化定义(关系、关系模式、关系数据库)
文章目錄
- 0.思維導圖
- 1. 關系
- (1)域(Domain)
- (2)笛卡爾積(Cartesian Product)
- (3)關系(Relation)
- (4)三類關系
- 2.關系模式
- (1)什么是關系模式
- (2)定義關系模式
- 3.關系模式和關系的對比
- 4.關系數據庫
0.思維導圖
1. 關系
什么是關系?
- 單一的數據結構----關系
現實世界的實體以及實體間的各種聯系均用關系來表示 - 邏輯結構----二維表
從用戶角度,關系模型中數據的邏輯結構是一張二維表 - 建立在集合代數的基礎上
(1)域(Domain)
- 域是一組具有相同數據類型的值的集合。例:
整數
實數
介于某個取值范圍的整數
長度指定長度的字符串集合
{‘男’,‘女’}
………………
(2)笛卡爾積(Cartesian Product)
-
笛卡爾積
給定一組域D1,D2,…,Dn,這些域中可以有相同的。
D1,D2,…,Dn的笛卡爾積為:
所有域的所有取值的一個組合;
不能重復; -
元組(Tuple)
笛卡爾積中每一個元素(d1,d2,…,dn)叫作一個n元組(n-tuple)或簡稱元組(Tuple);
(張清玫,計算機專業,李勇)、(張清玫,計算機專業,劉晨)等都是元組 ; -
分量(Component)
笛卡爾積元素(d1,d2,…,dn)中的每一個值di叫作一個分量;
張清玫、計算機專業、李勇、劉晨等都是分量 ; -
基數(Cardinal number)
可以把基數看做笛卡爾積元素的個數,及元組的個數;
若Di(i=1,2,…,n)為有限集,其基數為mi(i=1,2,…,n),則D1×D2×…×Dn的基數M為:
-
笛卡爾積的表示方法:
笛卡爾積可表示為一個二維表;
表中的每行對應一個元組,表中的每列對應一個域;
(3)關系(Relation)
-
關系
·笛卡爾積·D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的關系,表示為:
R:關系名
n:關系的目或度(Degree) -
元組
·關系·中的每個元素是關系中的元組,通常用t表示。 -
單元關系與二元關系
當n=1時,稱該關系為單元關系(Unary relation)或一元關系 ;
當n=2時,稱該關系為二元關系(Binary relation); -
·關系的表示·
關系也是一個二維表,表的每行對應一個元組,表的每列對應一個域
-
屬性
關系中不同列可以對應相同的域;
為了加以區分,必須對每列起一個名字,稱為屬性(Attribute);
n目關系必有n個屬性; -
碼
- 候選碼(Candidate key)
若關系中的某一屬性組的值能唯一地標識一個元組,則稱該屬性組為候選碼;
簡單的情況:候選碼只包含一個屬性; - 全碼(All-key)
最極端的情況:關系模式的所有屬性組是這個關系模式的候選碼,稱為全碼(All-key); - 主碼
若一個關系有多個候選碼,則選定其中一個為主碼(Primary key); - 主屬性
候選碼的諸屬性稱為主屬性(Prime attribute);
不包含在任何侯選碼中的屬性稱為非主屬性( Non-Prime attribute)或非碼屬性(Non-key attribute) ;
- 候選碼(Candidate key)
-
D1,D2,…,Dn的笛卡爾積的某個子集才有實際含義
·例:·表2.1 的笛卡爾積沒有實際意義
取出有實際意義的元組來構造關系
關系:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)
假設:導師與專業:1:1, 導師與研究生:1:n
主碼:POSTGRADUATE(假設研究生不會重名)
SAP關系可以包含三個元組:{ (張清玫,計算機專業,李勇), (張清玫,計算機專業,劉晨),(劉逸,信息專業,王敏) }
(4)三類關系
- 基本關系(基本表或基表)
實際存在的表,是實際存儲數據的邏輯表示 - 查詢表
查詢結果對應的表 - 視圖表
由基本表或其他視圖表導出的表,是虛表,不對應實際存儲的數據
- 在 SQL 中,視圖是基于 SQL 語句的結果集的可視化的表。
- 視圖包含行和列,就像一個真實的表。視圖中的字段就是來自一個或多個數據庫中的真實的表中的字段。
- 我們可以向視圖添加 SQL 函數、WHERE 以及 JOIN 語句,我們也可以提交數據,就像這些來自于某個單一的表。
- 注釋:數據庫的設計和結構不會受到視圖中的函數、where 或 join 語句的影響。
- 基本關系(二維表)的性質
① 列是同質的(Homogeneous);
② 不同的列可出自同一個域,其中的每一列稱為一個屬性,不同的屬性要給予不同的屬性名;
③ 列的順序無所謂,列的次序可以任意交換;
④ 任意兩個元組的候選碼不能相同;
⑤ 行的順序無所謂,行的次序可以任意交換;
⑥ 分量必須取原子值,這是規范條件中最基本的一條;
2.關系模式
(1)什么是關系模式
關系模式(Relation Schema)是型
關系是值
關系模式是對關系的描述:
- 元組集合的結構
- 屬性構成
- 屬性來自的域
- 屬性與域之間的映象關系
- 元組語義以及完整性約束條件
- 屬性間的數據依賴關系集合
(2)定義關系模式
關系模式可以形式化地表示為:
- R(U,D,DOM,F)
- R 關系名
- U 組成該關系的屬性名集合
- D 屬性組U中屬性所來自的域
- DOM 屬性向域的映象集合
- F 屬性間的數據依賴關系集合
·例:·
導師和研究生出自同一個域——人,取不同的屬性名,并在模式中定義屬性向域的映象,即說明它們分別出自哪個域;
DOM(SUPERVISOR-PERSON)= DOM(POSTGRADUATE-PERSON)=PERSON
關系模式通常可以簡記為
R (U) 或 R (A1,A2,…,An)
R: 關系名
A1,A2,…,An : 屬性名
注:域名及屬性向域的映象常常直接說明為屬性的類型、長度
3.關系模式和關系的對比
- 關系模式
對關系的描述
靜態的、穩定的 - 關系
關系模式在某一時刻的狀態或內容
動態的、隨時間不斷變化的
關系模式和關系往往統稱為關系
在數據庫學科中可以把關系模式理解為表的結構、屬性之間的關系、約束條件,把關系理解為二維表
4.關系數據庫
- 關系數據庫·
在一個給定的應用領域中,所有·關系的集合·構成一個關系數據庫 - ·關系數據庫模式包括
若干域的定義;
在這些域上定義的若干關系模式; - 關系數據庫的·型·與值
關系數據庫的型: 關系數據庫模式, 對關系數據庫的描述。
關系數據庫的值: 關系模式在某一時刻對應的關系的集合,簡稱為關系數據庫
總結
以上是生活随笔為你收集整理的2.1 《数据库系统概论》关系数据结构及形式化定义(关系、关系模式、关系数据库)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 4.2.1 路由算法与路由协议概述(静态
- 下一篇: 2.2 《数据库系统概论》之关系操作、关