数据库知识点2——关系模型之基本概念
關系模型之基本概念
1.?關系模型概述?
2.?什么是關系?
3.?關系模型中的完整性約束
?1.?關系模型概述?
形象地說,一個關系(relation)就是一個Table
? 關系模型就是處理Table的,它由三個部分組成: ? 描述DB各種數據的基本結構形式(Table/Relation)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 描述Table與Table之間所可能發生的各種操作(關系運算)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 描述這些操作所應遵循的約束條件(完整性約束)
關系模型的三個要素):? 基本結構:Relation/Table
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? 基本操作:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 完整性約束:實體完整性、參照完整性和用戶自定義的完整性
關系模型與關系數據庫語言的關系
?關系運算:關系代數和關系演算;關系演算:元組演算和域演算。
?關系代數示例:基于集合的運算 。即:操作的對象及結果都是集合,是一次一集合(Set-at-a-time)的操作。 而非關系型的數據操作通常是一次一記錄(Record-at-a-time)的操作
元組演算示例:基于邏輯的運算? ? ? ? ? ? ? ? ? ?域演算示例:基于示例的運算
為什么要學習關系模型與關系數據庫語言?
什么是關系?
?
關系的任意兩個元組不能完全相同。
表(Table)可能并不完全遵守此特性
什么是域?? ?“列”的取值范圍稱為“域(Domain)”
什么是笛卡爾積???笛卡爾積是由n個域形成的所有可能的n-元組的集合
什么是關系?? ? ??一組域D1 , D2 ,…, Dn的笛卡爾積的子集。笛卡爾積中具有某一方面意義的那些元組被稱作一個關系
注:由于關系的不同列可能來自同一個域,為區分,需要為每一列起一個名字,該名字即為屬性名。
關系模式與關系
1. 同一關系模式下,可有很多的關系
2.?關系模式是關系的結構, 關系是關系模式在某一時刻的數據
3.關系模式是穩定的;而關系是某一時刻的值,是隨時間可能變化的
屬性不可再分特性:又被稱為關系第一范式
候選碼(Candidate Key)/候選鍵:關系中的一個屬性組,其值能唯一標識一個元組,若從該屬性組中去掉任何一個屬性,它就不具有這一性質了,這樣的屬性組稱作候選碼。
注:在一個關系中有可能有很多組候選碼
主碼(Primary Key)/主鍵:當有多個候選碼時,可以選定一個作為主碼
主屬性與非主屬性:包含在任何一個候選碼中的屬性被稱作主屬性,而其他屬性被稱作非主屬性
注:最簡單的,候選碼只包含一個屬性 ;最極端的,所有屬性構成這個關系的候選碼,稱為全碼(All-Key)。
外碼(Foreign Key)/外鍵:關系R中的一個屬性組,它不是R的候選碼,但它與另一個關系S的候選碼相對應,則稱這個屬性組為R的外碼或外鍵。
注:兩個關系通常是靠外碼連接起來的。
關系模型中的完整性?
實體完整性:關系的主碼中的屬性值不能為空值
參照完整性:如果關系R1的外碼Fk與關系R2的主 碼Pk相對應,則R1中的每一個元組的 Fk值或者等于R2 中某個元組的Pk 值, 或者為空值
用戶自定義完整性:用戶針對具體的應用環境定義的完整性約束條件
注:實體完整性和參照完整性由DBMS系統自動支持
現有如下關系:患者(患者編號,患者姓名,性別,出生日期),醫療(患者編號,患者姓名,醫生編號,醫生姓名,診斷日期)。其中,“醫療”關系中的外鍵是_______?? ? ? ? ? ? ? ? ? ?患者編號
總結
以上是生活随笔為你收集整理的数据库知识点2——关系模型之基本概念的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java的知识点25——程序、进程与线程
- 下一篇: Java知识点26——模拟12306买票