Java, Only Java!

          統計

          留言簿(20)

          積分與排名

          好友空間

          文檔技巧

          閱讀排行榜

          評論排行榜

          《數據庫技術基礎與應用(第2版)》學習筆記——第3章

          第3章 關系模型的基本概念

          3.1 關系的定義與性質

          3.1.1 關系的定義
          域(Domain):是值的集合
          笛卡爾積(Cartesian Product):集合中各元素之間一切可能的匹配組合構成的集合。
          笛卡爾積中包含元組(Tuple)。元組個數稱為笛卡爾積的基數(Cardinality)。元組由元組分量組成,元組分量是元組的值。參與笛卡爾積的域的個數,稱為元數(Arity)或度。
          關系:也稱為關系模式的一個實例。
          域中的任一個元素稱為關系中的一個元組。
          3.1.2 鍵(Key):即關鍵字
          超鍵(Super Key):在一個關系中能夠唯一標識元組的屬性組合
          候選鍵(Candidate Key):不含多余屬性的超鍵
          主鍵(Primary Key):用戶選做元組標識的那個候選鍵
          外鍵(Foreign Key):關系R中某個屬性組合A不是關系R的候選鍵,而是關系S的候選鍵,則稱A為R的外鍵
          3.1.3 關系的性質
          關系中的每個元組分量必須是原子的
          關系中不允許出現相同的元組
          定義一個關系模式時可隨意指定屬性的排列次序
          在一個關系中元組的排列次序可任意交換
          關系模式相對穩定,關系實例則隨時間的推移而不斷地變化

          3.2 關系模型

          3.2.1 從ER圖導出關系模型數據結構
          兩實體集間1:N聯系
          將“1”方關系的“主鍵”納入“N”方關系中作為“外鍵”,同時把聯系的屬性也一起納入“N”方關系中。
          兩實體集間M:N聯系
          將“聯系”單獨建立一個關系,需要把聯系關聯的雙方實體的“主鍵”納入到“聯系”的關系中作為“主鍵”和“外鍵”。
          兩實體集間1:1聯系
          “聯系”不單獨建立關系,將其中一個實體集的主鍵納入另一個實體集作為外鍵。
          “聯系”單獨建立關系,將兩個實體集的主鍵都納入關系中作為主鍵和外鍵。
          同一實體集內各實體間1:N聯系
          在實體集內增加一個屬性,用來表示與當前實體相聯系的另一個實體的“主鍵”
          同一實體集內各實體間M:N聯系
          “聯系”單獨建立關系,將相互聯系的雙方實體的“主鍵”都納入到關系中。
          多個實體集間M:N多元聯系
          “聯系”單獨建立關系,將相互聯系的所有實體的“主鍵”都納入到關系中。
          3.2.2 關系模型的體系結構
          關系概念模式
          由若干個關系模式組成的集合,它描述關系數據庫中全部數據的整體邏輯結構。
          關系外模式
          關系外模式是關系概念模式的一個邏輯子集。描述關系數據庫中數據的局部邏輯結構。
          關系概念模式與關系外模式之間的映射在外模式中描述。
          在關系數據庫中,一個用戶可以使用的全部的“表”和“虛表”構成這個用戶的數據視圖,視圖中所有“表”和“虛表”的框架組成數據庫的外模式。
          系統把“虛表”的定義存儲在數據字典中。
          關系內模式
          關系存儲時的基本組織方式是文件,關系中的元組對應文件中的記錄。
          關系概念模式和關系內模式之間的映射在內模式中描述。
          3.2.3 關系模型的三類完整性約束規則
          實體完整性約束規則
          關系中不允許出現相同的元組,在組成主鍵的屬性上也不允許取空值
          參照完整性約束規則
          不能引用不存在的實體,又稱為引用完整性
          用戶定義的完整性約束規則
          針對某些具體數據的約束規則,主要是保證數據的語義要求。
          3.2.4 關系模型的形式定義
          關系模型是一種結構數據模型,是能夠在計算機中真正實現的模型,有著嚴格的形式化定義。
          關系模型的組成
          數據結構:數據的表達方式和數據聯系的實現方式。
          數據操作:檢索和更新(即插入、刪除和修改)兩大類操作。
          數據完整性約束:給出數據及聯系的制約與依賴規則,保證數據的正確性。

          3.3 關系數據語言

          3.3.1 關系數據描述語言(DDL)
          問答式DDL
          通過人機對話建立關系模式,簡單易學,但是人工干預多,速度慢。
          語言描述式DDL
          使用源語句描述定義關系模式的內容,再編譯成目標模式。
          3.3.2 關系數據操縱語言(DML)
          DML的特點
          操作對象與操作結果都是關系
          語言完備性及非過程性
          語言所提供的運算(或操作)可以存取數據庫中的任何數據及數據間的聯系信息。
          關系代數和關系演算都是衡量關系數據庫語言完備性的標準
          用戶在編寫應用程序時,只需要提出“做什么”,不需要說明“怎么做”,就稱這種語言的非過程性級別高。
          語言建立在嚴密的數學理論基礎上
          用關系代數運算表達查詢,查詢以集合理論為基礎
          用關系演算公式表達查詢,查詢以數理邏輯謂詞演算為基礎
          3.3.3 標準數據庫語言SQL
          SQL介紹
          SQL是一種介于關系代數與關系演算之間的語言
          SQL是已經被認可的標準數據庫語言

          備注:

          《數據庫技術基礎與應用(第2版)》的豆瓣鏈接https://book.douban.com/subject/2995584/

          posted on 2017-12-25 15:07 zYx.Tom 閱讀(215) 評論(0)  編輯  收藏 所屬分類: 5.數據世界

          主站蜘蛛池模板: 长汀县| 阜新| 阿拉善右旗| 恩平市| 四平市| 和平区| 水城县| 通化市| 莱州市| 隆昌县| 黄大仙区| 通城县| 安岳县| 屏山县| 花莲市| 秦皇岛市| 建宁县| 滨州市| 齐齐哈尔市| 竹山县| 甘南县| 阿克苏市| 扶风县| 卫辉市| 潞城市| 布拖县| 大石桥市| 长海县| 衡阳县| 罗城| 辉南县| 施秉县| 阿拉善右旗| 金川县| 保定市| 郎溪县| 洪湖市| 富平县| 广南县| 大邑县| 玉屏|