MySQL數據庫設計與應用(慕課版)
內容描述
本書以課程管理系統為主線,介紹數據庫基礎知識,MySQL操作環境、數據定義與數據操作、查詢與視圖、編程基礎和存儲程序、數據庫安全及管理等基礎知識,通過完成課程管理系統綜合案例介紹基於PHP的MySQL Web數據庫應用系統的開發過程。每章開始有知識結構思維導圖,並配有課程思政內容。本書以建設一流課程為目標,與在線運行的MOOC資源相匹配,適合線上線下混合式教學使用。本書配有MOOC課程、源代碼、教學課件等資源,讀者可登錄人民郵電出版社官網(www.ryjiaoyu.com)下載。本書可作為高等院校電腦基礎課程教材及相關專業MySQL數據庫課程參考用書,也適用於全國電腦等級考試二級科目—MySQL數據庫程序設計的備考及培訓。
目錄大綱
教材結構圖 1第 1章 數據庫概述 21.1數據庫系統概述 31.1.1數據管理的發展 31.1.2數據庫系統組成 41.1.3數據庫技術發展的新方向 51.2數據模型 61.2.1數據模型概述 61.2.2概念模型及E-R圖 71.2.3數據模型的組成要素 91.2.4常用的數據模型 91.3關系模型 101.3.1關系數據結構 101.3.2關系的三類完整性 111.3.3關系代數 111.4關系數據庫設計 151.4.1數據庫設計概述 151.4.2需求分析 151.4.3概念結構設計 161.4.3邏輯結構設計 19本章小結 22第 1章習題 22第 2章 初識MySQL 232.1 MySQL數據庫簡介 242.1.1 什麽是MySQL 242.1.2 MySQL特點 242.1.3 MySQL的獲取與安裝配置 252.2 WampServer的安裝與配置 302.2.1 MySQL圖形用戶管理工具 302.2.2 WAMP與LAMP簡介 312.2.3 WampServer的安裝及配置 322.3 MySQL的配置與管理 352.3.1 MySQL的字符集及字符序 362.3.2 MySQL的存儲引擎 382.3.3 MySQL的安全設置 402.4 MySQL客戶端使用 422.4.1 MySQL命令行界面 422.4.2 MySQL的PhpMyAdmin管理工具的使用 432.5數據庫設計案例 462.5.1 MySQL數據庫的Web應用概要 462.5.2 MySQL數據庫Web應用原生操作 47本章小結 50第 2章習題 50第3章 數據定義與操作 513.1 MySQL數據庫操作 523.1.1創建數據庫 523.1.2選擇數據庫 533.1.3修改數據庫 533.1.4查看數據庫 533.1.5刪除數據庫 543.2 MySQL數據類型 543.2.1數值型 543.2.2日期時間型 553.2.3字符型 553.2.4 MySQL特殊字符系列 553.2.5 二進制類型 563.2.6選擇合適的數據類型 563.3 數據表操作 573.3.1設計表 573.3.2創建表 583.3.3查看數據表 603.3.4復製表 613.3.5修改表名 613.3.6刪除表 623.4修改表 623.4.1修改字段信息 633.4.2 修改約束條件 643.4.3修改表的其他選項 663.5 記錄操作 663.5.1 插入記錄 663.5.2 修改記錄 683.5.3 刪除記錄 683.6 索引 693.6.1 索引簡介 693.6.2 索引與約束 693.6.3 索引設計原則 703.6.4 創建索引 703.6.5 刪除索引 71本章小結 71第3章習題 72第4章 MySQL數據查詢與視圖 734.1查詢概述 744.1.1 理解查詢 744.1.2 基本查詢語句 754.2 單表查詢 764.2.1 查詢所有字段的數據 764.2.2 查詢指定字段的數據 774.2.3 為查詢的列指定別名 774.2.4 去掉查詢結果的重復值 784.3 條件查詢 784.3.1 WHERE子句 784.3.2 IN運算符 804.3.3 BETWEEN AND運算符 814.3.4 LIKE運算符 824.3.5 IS NULL運算符 824.4 連接查詢 834.4.1 內連接查詢 844.4.2 外連接查詢 874.4.3 聯合查詢 884.4.4 自然連接 884.5 MySQL系統函數 894.5.1 聚合函數 894.5.2 數學函數 914.5.3 日期和時間函數 924.5.4 字符串函數 944.6 分組查詢 984.7 查詢結果排序 1004.8 限制查詢結果的記錄數量 1024.9 子查詢 1034.9.1 使用標量子查詢 1044.9.2 使用IN、ANY/SOME、ALL的子查詢 1044.9.3 使用EXISTS的子查詢 1064.9.4 在數據操作語句中使用子查詢 1074.10 查詢結果的去向 1094.10.1 查詢結果輸出到變量 1094.10.2 查詢結果輸出到文件 1094.11 視圖 1114.11.1 視圖概述 1114.11.2 創建和操作視圖 1114.11.3 操作視圖數據 1144.11.4 刪除視圖 116本章小結 116第4章習題 117第5章 MySQL編程基礎 1185.1 MySQL編程概述 1195.2 常量和變量 1195.2.1 常量 1195.2.2 系統變量 1205.2.3 用戶自定義變量 1225.2.4 DELIMITER與BEGIN-END語句塊 1235.3運算符與表達式 1245.3.1 算術運算 1245.3.2 關系運算 1255.3.3 邏輯運算 1265.3.4 位運算 1265.3.5 運算符優先級 1265.4 流程控制語句 1275.4.1 選擇語句IF和CASE 1275.4.2 循環控制語句 1305.4.3 循環與游標 134本章小結 137第5章習題 137第6章 存儲程序 1386.1存儲程序介紹 1396.1.1存儲程序概念 1396.1.2存儲程序分類 1406.2創建和調用存儲過程 1416.2.1創建和調用存儲過程 1416.2.2存儲過程的參數模式 1426.2.3存儲過程返回結果集 1446.2.4存儲過程的安全上下文 1446.3創建和調用存儲函數 1456.3.1創建和調用存儲函數 1456.3.2存儲過程和存儲函數的差異 1466.3.3存儲過程和存儲函數的共同特性 1476.4管理存儲例程 1486.4.1查看存儲例程的狀態和定義 1486.4.2刪除存儲例程 1496.4.3修改存儲例程的定義 1496.4.4修改存儲例程的特性 1496.4.5授權執行存儲例程 1496.5在存儲程序中使用游標和事務 1506.5.1在存儲程序中使用游標 1506.5.2在存儲過程中使用事務 1526.6觸發器 1536.6.1創建觸發器 1536.6.2查看觸發器的定義 1576.6.3刪除觸發器 1576.7用事件定時執行任務 1586.7.1事件的概念和基本屬性 1586.7.2創建事件 1596.7.3查看事件的定義 1606.7.4修改事件的屬性和定義 1606.7.5刪除事件 1616.8課程管理系統中的存儲程序 1616.8.1對選課業務邏輯的討論 1616.8.2選課業務中的存儲函數應用 1626.8.3選課業務中的存儲過程應用 1636.8.4選課業務中的觸發器應用 165本章小結 165第6章習題 166第7章 數據庫管理及安全 1677.1用戶管理 1687.1.1增加用戶 1687.1.2更新用戶 1697.2權限管理 1707.2.1權限概念 1707.2.2管理權限 1737.3日誌文件 1747.3.1錯誤日誌文件 1757.3.2二進制日誌文件 1757.3.3通用查詢日誌文件 1767.3.4慢查詢日誌文件 1777.4備份與恢復 1777.4.1備份的概念 1777.4.2 MySQL數據備份 1787.4.3 MySQL數據恢復 1797.5事務處理 1807.5.1事務概念 1807.5.2 MySQL事務處理 1817.5.3事務的隔離與鎖機制 182本章小結 184第7章習題 184第8章 基於PHP的MySQL Web應用 1868.1 PHP概述 1888.1.1 PHP是什麽 1888.1.2 B/S PHP工作機理 1898.1.3 PHP簡明語法入門 1908.2 PHP的MySQL數據庫連接 1948.2.1 以PHP的MySQL擴展連接數據庫 1948.2.2 以PHP的mysqli擴展連接數據庫 1968.2.3 PHP的PDO方式連接數據庫 1978.3使用PHP實現MySQL數據庫級操作 1988.3.1利用PHP列舉數據庫 1988.3.2利用PHP創建及刪除數據庫 2018.4使用PHP實現MySQL數據表級操作 2028.4.1利用PHP查詢數據 2028.4.2利用PHP實現對數據的增刪改 2048.5 MySQL Web應用實例 2058.5.1 Dreamweaver在MySQL Web開發中的應用 2058.5.2 MySQL Web應用規劃與設計概要 210本章小結 212第8章習題 212第9章 課程管理系統綜合實例 2139.1課程管理系統需求分析 2139.1.1功能性需求 2139.1.2非功能性需求 2149.2系統設計 2159.3 詳細設計 2169.3.1數據庫設計 2169.4 系統實現 2189.4.1通用模塊實現 2189.4.2學生子系統實現 2269.4.3教師子系統實現 2399.5課程管理系統的運行與測試 2779.5.1 學生用戶的功能運行 2779.5.2 教師用戶的功能運行 279本章小結 282參考文獻 283
作者介紹
赵晓侠,1965年6月生,昆明理工大学副教授,硕士生导师,毕业于昆明理工大学信息工程与自动化学院(原昆明工学院),获学士学位。1989—1994年在湖南长沙锌厂从事自动化仪表技术工作,1994年到昆明理工大学从事教学和科研工作至今。主讲课程:大学计算机基础、网页设计与制作、Visual FoxPro数据库程序设计、微机组装与维护、MySQL数据库等多门课程。编写教材:主编《Visual FoxPro数据库》,参编《微机组装与维护》、《大学计算机基础》、《Visual FoxPro数据库程序设计实验指导》等多部教材。科研:主持建设校级精品课1项,主持建设完成慕课1项,在建校级“金课”1项,主讲的《MySQL数据库设计与应用》课程质量档次被我校评为国内一流课程,多次获得教学方面的奖励。近五年来参与国家基金、省基金项目各1项,在其中承担数据处理的工作,近5年来公开发表论文8篇,专利软著15个。