數據庫系統的組成
1.硬件平臺
2.軟件
3.人員
(1)數據庫管理員(DBA)
(2)系統分析員、數據庫設計人員
(3)應用程序員
(4)最終用戶
1.偶然用戶
2.簡單用戶
3.復雜用戶
關系數據庫
關系模型是從表(Table)的處理方式中抽象出來的
在對傳統表的操作上,進行數學化嚴格定義的基礎上,引入集合理論和邏輯學理論提出的
標準數據庫語言(SQL語言)就是建立在關系模型之上的
關系模型三要素解釋
一個關系就是一個表
1.數據結構
描述表中各種數據的基本結構形式
2.操作
描述表與表之間可能發生的各種操作(關系運算)
3.完整性約束
描述這些操作應該遵循的約束條件
學關系模型,就是學這個表(table)如何描述、有哪些操作、結果是什么、有哪些約束條件
關系數據結構
1.域:值的集合
一組具有相同數據類型的值的集合
2.笛卡爾積:所有域中值的任意組合
笛卡爾積是所有域中所有取值的任意組合
笛卡爾積可以看著是關系的域
3.關系:笛卡爾積的子集
定義:關系是一組域構成的笛卡爾積的一個子集
關系關聯的值的數量稱作關系的目或度
4.元組:一個關系中的每個元素(關系表的行)
5.屬性:(關系表的列)
碼(鍵):一種特殊的屬性,能夠唯一地標識一個元組
關系的數學定義
1.域:列的取值范圍
2.元組:一行
元組的每一個值叫做一個分量
3.笛卡爾積:組合,N個域中所有可能組合成的N元組的集合
所有可能的元組
笛卡爾積中的每一個元素稱作一個N元組(每個元組有N個變量)
4.關系:有意義的組合
一組域的笛卡爾積的子集
笛卡爾積:所有的組合
關系:有某一方面意義的組合
由于關系的不同列可能來自同一個域,所以為區分,需要為每一個列起一個名字,叫屬性名
5.關系模式:表的標題(聲明)
屬性名:域名(屬性的類型和長度)
關系模式與關系
類似數據結構與數據
6.度、目:關系包含的屬性的數量
7.基數:關系中元組的數量
例:一個三目關系
關系的特性
1.關系與行列的位置無關
調換行列位置,不更換某幾列的值,關系仍等價
2.不重復性
理論上,關系的任意兩個元組不能完全相同
但表(table)不一定遵守此特性
3.屬性不可再分
也稱作關系第一范式
每個屬性必須是最基礎的、不可再分的數據類型
關系中不能有復合屬性、多值屬性machine
關系概念
1.候選碼/候選鍵(Candidate Key)
能唯一的標識一個元組的屬性組
不一定是單個屬性,可以的復數屬性構成的屬性組
關系當中可能有多組候選碼
2.主鍵/主碼(Primary Key)
當有多個候選碼時,可以選定一個做為主碼
3.主屬性與非主屬性
主屬性:包含在任何一個候選碼中的屬性
非主屬性:不屬于任何候選碼的屬性
全碼關系:所有屬性都是候選碼
4.外碼/外鍵
一個屬性組,不是本關系候選碼但是與另一個關系的候選碼對應
兩個關系通常就是靠外碼連接起來的
外碼是連接多個關系的紐帶
總結
關系與表的對應:
關系模式 -- 表標題
屬性與屬性值 -- 列名與列值
元組 -- 行/記錄
關系完整性
1.實體完整性
關系的主碼屬性值不能為空NULL/NAN
空值:不知道、不存在、無意義的值
空值
2.參照完整性
對于外碼,在一個表中可以取空值
但若不取空值,他必須取他連接的外部表的主碼中的某值
3.用戶自定義完整性
用戶在具體的應用環境定義的完整性約束條件
(類似寫在C#屬性中的保護邏輯)
浙公網安備 33010602011771號