戰神數據庫筆記(二)

第三講

 、關係模型:就是在表的基礎上引入了集合理論與邏輯學理論。是個很厲害的存在。三大經典數據庫模型之一,當今許多商業數據庫仍然在使用。更牛逼的是:標準數據庫語言SQL是定義在它的基礎之上的。

2  、關係模型的內容包括(通俗理解):1描述表的結構  2 對這些表有哪些操作  3這些操作要遵循哪些條件

關係模型的內容包括(專業版):基礎結構、基礎操作(並差乘積選擇投影)、完整性約束(實體\參照\用戶自定義完整性)

3、 關係運算= 關係代數 + 關係演算    , 其中     關係演算=元組演算+域演算     (對這些術語不理解的找上一篇筆記)

4、關係代數  就是基於集合的運算,比如求交集、並集、差集,操作的對象和結果都是集合。而非關係模型(如網狀模型)基於記錄。

在應用過程中,要把數學語言描述轉換成數據庫語言描述。

擴展一下,學生時代感覺很牛的“數學建模”無非就是對某類問題建立一些數學描述,後人可以用代碼轉換成實踐應用。和上面說的把用數學語言描述的運算轉換成用數據庫語言描述的代碼並實用在軟件中是一個道理。

5、元組演算  就是基於邏輯的運算,比如與、或、非。最後也要把這些邏輯運算符轉換成計算機能識別的符號。

6、域演算:與元組演算的區別是,元組演算參與對象是元組,而域演算參與對象是域對象。運算是一樣的只是運算的對象不同。

7、 什麼是迪卡爾積:就是給你不同的元組,求 這些元組中所有分量共能組合出多少種形式。

 8、什麼是關係:笛卡爾積中,有意義的一部分元組。所以,關係是表裏邊的“行”

9、關係的特點:

(1)列值必須是相同數據類型 

(2)不同列可以來自一個域但名字必須不同,即屬性名不同。

(3) 關係與行列位置是無關的。 (區分哪一列是靠屬性名,區分哪一行是靠某一或某多列區分。)

(4)關係的任意兩個元組不能重複(所有屬性值相同)。有些DBMS中把關係叫table,但生活中的“表”裏面是允許存在重複元組的。

(5)關係的屬性不可再分,這個特性又叫關係第一範式。

 

 10、關係中使用的術語

(1)候選鍵:一個能唯一標識一個元組的  屬性組。 有時關係中有多個候選碼,應選一個做爲主鍵,DBMS通常以主碼爲線索。

(2)主碼:候選碼有多組,選出一組爲主。比如姓名和地址可以當候選碼,學號也可以當,選出學號做主碼則DBMS會用學號操作相關關係。

(3)主屬性:在任何候選碼中都包含的那個屬性。非主屬性:任何候選碼中都不包含的屬性。

(4)外碼:又叫外鍵。關係中的一個屬性組,它不是所在關係的候選碼但卻是另一個關係的候選碼。外碼可以爲空值。

小結: 

11、約束條件:三個完整性

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章