●譯者序
前言
第1章數據庫繫統世界1
1.1數據庫繫統的發展1
1.1.1早期的數據庫管理繫統1
1.1.2關繫數據庫繫統2
1.1.3越來越小的繫統2
1.1.4越來越大的繫統2
1.1.5信息集成3
1.2數據庫管理繫統概述3
1.2.1數據定義語言命令3
1.2.2查詢處理概述4
1.2.3存儲器和緩衝區管理器5
1.2.4事務處理5
1.2.5查詢處理器6
1.3本書概述6
1.4參考文獻7
第一部分關繫數據庫模型
第2章關繫數據模型9
2.1數據模型概述9
2.1.1什麼是數據模型9
2.1.2一些重要的數據模型9
2.1.3關繫模型簡介10
2.1.4半結構化模型簡介10
2.1.5其他數據模型11
2.1.6幾種建模方法的比較11
2.2關繫模型基礎12
2.2.1屬性12
2.2.2模式12
2.組12
2.2.4域12
2.2.5關繫的等價描述13
2.2.6關繫實例13
2.2.7關繫上的鍵13
2.2.8數據庫模式示例14
2.2.9習題15
2.3在SQL中定義關繫模式16
2.3.1SQL中的關繫16
2.3.2數據類型16
2.3.3簡單的表定義17
2.3.4修改關繫模式18
2.3.5默認值18
2.3.6鍵的聲明19
2.3.7習題20
2.4代數查詢語言21
2.4.1為什麼需要一種專門的查詢語言21
2.4.2什麼是代數21
2.4.3關繫代數概述21
2.4.4關繫上的集合操作21
2.4.5投影23
2.4.6選擇23
2.4.7笛卡兒積24
2.4.8自然連接24
2.4.9q連接25
2.4.10組合操作構成查詢26
2.4.11命名和重命名27
2.4.12操作之間的聯繫27
2.4.13代數表達式的線性符號28
2.4.14習題29
2.5關繫上的約束32
2.5.1作為約束語言的關繫代數32
2.5.2引用完整性約束33
2.5.3鍵約束33
2.5.4其他約束舉例34
2.5.5習題35
2.6小結35
2.7參考文獻36
第3章關繫數據庫設計理論37
3.1函數依賴37
3.1.1函數依賴的定義37
3.1.2關繫的鍵38
3.1.3超鍵39
3.1.4習題40
3.2函數依賴的規則40
3.2.1函數依賴的推導40
3.2.2分解/結合規則40
3.2.3平凡函數依賴41
3.2.4計算屬性的閉包42
3.2.5閉包算法為何有效43
3.2.6傳遞規則44
3.2.7函數依賴的閉包集合45
3.2.8投影函數依賴45
3.2.9習題47
3.3關繫數據庫模式設計48
3.3.1異常48
3.3.2分解關繫49
3.3.3Boyce-Codd範式50
3.3.4分解為BCNF50
3.3.5習題52
3.4分解的優劣53
3.4.1從分解中恢復信息53
3.4.2無損連接的chase檢驗55
3.4.3為什麼chase檢驗有效56
3.4.4依賴的保持57
3.4.5習題58
3.5第三範式58
3.5.1第三範式的定義59
3.5.23NF模式綜合算法59
3.5.3為什麼3NF綜合算法有效60
3.5.4習題60
3.6多值依賴61
3.6.1屬性獨立及隨之產生的冗餘61
3.6.2多值依賴的定義61
3.6.3多值依賴的推導62
3.6.4第四範式64
3.6.5分解為第四範式64
3.6.6範式間的聯繫65
3.6.7習題65
3.7MVD的發現算法66
3.7.1閉包和chase66
3.7.2將chase擴展到MVD67
3.7.3chase為何對MVD有效69
3.7.4投影MVD69
3.7.5習題70
3.8小結70
3.9參考文獻71
第4章高級數據庫模型73
4.1E/R模型73
4.1.1實體集73
4.1.2屬性74
4.1.3聯繫74
4.1.4實體-聯繫圖74
4.1.5E/R圖實例75
4.1E/R聯繫的多樣性75
4.1.7多路聯繫76
4.1.8聯繫中的角色77
4.1.9聯繫的屬性78
4.1.10多路聯聯繫的轉換79
4.1.11E/R模型中的子類80
4.1.12習題81
4.2設計原則82
4.2.1忠實性82
4.2.2避免冗餘83
4.2.3簡單性83
4.2.4選擇正確的聯繫83
4.2.5選擇素種類84
4.2.6習題86
4.3E/R模型中的約束87
4.3.1E/R模型中的鍵87
4.3.2E/R模型中鍵的表示87
4.3.3引用完整性88
4.3.4度約束89
4.3.5習題89
4.4弱實體集89
4.4.1弱實體集的來源89
4.4.2弱實體集的要求90
4.4.3弱實體集的符號91
4.4.4習題91
4.5從E/R圖到關繫設計92
4.5.1實體集到關繫的轉化92
4.5.2E/R聯繫到關繫的轉化92
4.5.3關繫組合94
4.5.4處理弱實體集95
……