目录 第1章数据库系统基础知识/1 1.1数据库系统的概述1 1.1.1数据库系统的基本概念1 1.1.2计算机数据管理技术的产生和发展4 1.1.3数据库系统的特点6 1.1.4数据库系统的组成7 1.2数据模型9 1.2.1概念模型10 1.2.2数据模型的要素12 1.2.3基本数据模型13 1.3数据库系统结构15 1.3.1数据库系统的三级模式结构15 1.3.2数据库的二级映射功能与数据独立性16 1.3.3数据库管理系统的工作过程17 1.3.4C/S与B/S结构18 1.4本章小结19 1.5思考与练习19 第2章关系数据库系统模型/22 2.1关系数据模型22 2.1.1关系模型的数据结构22 2.1.2关系模型的操作26 2.1.3关系模型的数据完整性27 2.2关系代数及其运算30 2.2.1关系的数学定义30 2.2.2关系代数概述32 2.2.3传统的集合运算33 2.2.4专门的关系运算35 2.3本章小结44 2.4思考与练习44数据库技术与应用(MySQL版)(第2版)目录第3章MySQL的安装与配置/47 3.1MySQL概述47 3.2Windows平台下安装与配置MySQL49 3.2.1下载MySQL软件49 3.2.2安装MySQL50 3.2.3配置MySQL56 3.3MySQL的常用操作60 3.3.1启动与关闭MySQL服务60 3.3.2登录与退出MySQL数据库63 3.3.3更改MySQL配置66 3.4MySQL常用图形化管理工具Navicat68 3.4.1下载Navicat软件69 3.4.2安装Navicat软件69 3.4.3通过Navicat软件登录MySQL数据库72 3.5本章小结74 3.6思考与练习74 第4章使用SQL管理数据库和表/75 4.1SQL的基本知识特点75 4.2数据库定义与管理76 4.3SQL的数据表定义功能78 4.3.1常见的数据类型78 4.3.2用SQL定义数据库表82 4.4数据完整性约束85 4.4.1定义数据完整性86 4.4.2完整性约束重命名90 4.4.3修改完整性约束91 4.5本章小结91 4.6思考与练习92 第5章使用SQL管理表数据/94 5.1SQL的数据操纵功能94 5.1.1插入数据记录94 5.1.2修改数据记录95 5.1.3删除数据记录96 5.1.4使用TRUNCATE清空表数据96 5.2SQL的数据查询功能97 5.2.1查询语句SELECT的基本结构97 5.2.2单表查询98 5.2.3连接查询108 5.2.4嵌套查询114 5.3示例jxgl数据库表结构和数据116 5.4本章小结119 5.5思考与练习119 第6章视图和索引/125 6.1视图概述125 6.1.1视图的优势125 6.1.2视图的工作机制126 6.2视图定义和管理127 6.2.1创建视图127 6.2.2删除视图128 6.2.3查看视图定义128 6.2.4修改视图定义129 6.3通过视图更新数据操作130 6.4索引131 6.4.1索引的特点131 6.4.2索引的分类132 6.4.3索引的定义和管理133 6.4.4设计原则和注意事项137 6.5本章小结139 6.6思考与练习139 第7章MySQL触发器与事件调度器/142 7.1触发器142 7.1.1概念142 7.1.2创建使用触发器143 7.1.3查看触发器146 7.1.4删除触发器146 7.1.5对触发器的进一步说明147 7.2事件148 7.2.1事件概念148 7.2.2创建事件148 7.2.3修改事件150 7.2.4删除事件151 7.3本章小结151 7.4思考与练习151 第8章MySQL存储过程与函数/154 8.1存储过程与函数简介154 8.1.1存储过程的概念154 8.1.2存储过程和函数区别155 8.2存储过程与函数操作155 8.2.1创建和使用存储过程和函数156 8.2.2局部变量的使用160 8.2.3定义条件和处理程序161 8.2.4游标的使用163 8.2.5流程的控制166 8.2.6查看存储过程或函数170 8.2.7删除存储过程或函数173 8.3本章小结173 8.4思考与练习174 第9章用户与授权管理/176 9.1权限表176 9.1.1mysql.user表176 9.1.2mysql.db表180 9.1.3其他权限表180 9.2用户管理181 9.2.1用户登录与退出MySQL数据库181 9.2.2创建普通用户183 9.2.3删除普通用户186 9.2.4修改密码187 9.2.5找回密码188 9.3权限管理189 9.3.1各种权限介绍189 9.3.2查看权限191 9.3.3授予权限191 9.3.4收回权限193 9.4本章小结195 9.5思考与练习195 第10章事务与MySQL多用户并发控制/197 10.1事务197 10.1.1事务的概念197 10.1.2事务的ACID特性198 10.1.3MySQL事务控制语句200 10.2MySQL的并发控制202 10.2.1并发概述202 10.2.2锁的概述203 10.2.3MyISAM表的表级锁205 10.2.4InnoDB表的行级锁207 10.2.5死锁208 10.3事务的隔离性级别209 10.3.1MySQL中的4种隔离级别210 10.3.2设置4种隔离级别211 10.4本章小结218 10.5思考与练习218 第11章MySQL数据库备份与还原/220 11.1备份与还原概述220 11.1.1备份的重要性与常见故障220 11.1.2备份的策略与常用方法221 11.2数据备份222 11.2.1使用mysqldump命令备份数据223 11.2.2直接复制整个数据库目录225 11.3数据恢复226 11.3.1使用MySQL命令还原数据227 11.3.2直接复制到数据库目录227 11.4从文本文件导出和导入表数据228 11.4.1使用SELECT…INTO OUTFILE导出文本文件228 11.4.2使用LOAD DATA…INFILE导入文本文件229 11.5数据库迁移231 11.5.1MySQL数据库之间的迁移231 11.5.2不同数据库之间的迁移231 11.6本章小结232 11.7思考与练习232 第12章数据库设计方法/234 12.1数据库设计概述234 12.1.1数据库设计的内容234 12.1.2数据库设计的步骤234 12.2系统需求分析236 12.2.1需求分析的任务236 12.2.2需求分析的方法237 12.2.3数据流图238 12.2.4数据字典239 12.3概念结构设计241 12.3.1概念结构设计的必要性241 12.3.2概念模型的特点241 12.3.3概念结构设计的方法与步骤242 12.3.4数据抽象和局部ER模型设计242 12.3.5全局ER模型设计245 12.4逻辑结构设计247 12.4.1关系模式规范化249 12.4.2模式评价与改进251 12.5物理结构设计252 12.6数据库实施252 12.6.1建立实际数据库结构252 12.6.2数据导入数据库252 12.6.3应用程序编码与调试253 12.6.4数据库试运行253 12.6.5整理文档254 12.7数据库运行和维护254 12.7.1维护数据库的安全性与完整性254 12.7.2监测并改善数据库性能254 12.7.3重新组织和构造数据库254 12.8本章小结254 12.9思考与练习255 第13章PHP的MySQL数据库编程/259 13.1PHP简介259 13.2PHP编程基础260 13.3使用PHP进行MySQL数据库编程261 13.3.1编程步骤261 13.3.2建立与MySQL数据库服务器的连接262 13.3.3选择数据库264 13.3.4执行数据库操作265 13.3.5关闭与数据库服务器的连接272 13.4本章小结273 13.5思考与练习274 第14章数据库应用系统开发实例/275 14.1需求描述275 14.2系统分析与设计275 14.3数据库设计与实现276 14.4系统实现277 14.5本章小结281 14.6思考与练习281 第15章非关系型数据库——NoSQL/282 15.1NoSQL概述282 15.2NoSQL数据库的优势比较282 15.2.1关系型数据库的优势282 15.2.2关系型数据库的劣势283 15.2.3NoSQL数据库的优势284 15.3NoSQL数据库的类型284 15.3.1键值存储284 15.3.2面向文档的数据库286 15.3.3面向列的数据库286 15.4NoSQL数据库选用原则287 15.5NoSQL的CAP理论287 15.5.1NoSQL系统是分布式系统287 15.5.2CAP理论阐述288 15.6MongoDB概述289 15.6.1选用MongoDB原因289 15.6.2MongoDB的优势和不足290 15.6.3基本概念292 15.7MongoDB数据库安装配置292 15.7.1下载292 15.7.2配置293 15.7.3启动数据库295 15.7.4MongoVUE图形化管理工具299 15.7.5MongoVUE的安装启动299 15.7.6借助MongoVUE工具对数据库操作302 15.8本章小结308 15.9思考与练习308 附录实验/309 实验1概念模型(ER图)绘制309 实验2安装MySQL 8.0及Navicat for MySQL310 实验3MySQL数据库的创建和删除310 实验4MySQL数据库表的创建与管理311 实验5MySQL数据库表的数据插入、修改、删除操作312 实验6MySQL数据库表数据的查询操作315 实验7MySQL数据库多表查询操作317 实验8MySQL数据库视图创建与管理319 实验9MySQL数据库索引创建与管理操作320 实验10MySQL数据库存储过程与函数的创建管理321 实验11MySQL数据库触发器创建与管理322 实验12MySQL数据库的用户管理323 实验13MySQL数据库的备份与恢复324 实验14使用PHP访问MYSQL数据库324 实验15利用PowerDesigner设计数据库应用系统325 参考文献/329