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