目录
目 录
前言
理论部分
第1章 数据库设计
学习目标
1.1 为什么需要数据库设计
1.2 数据库概念模型
1.2.1 信息实体的概念
1.2.2 实体的关系
1.3 实体关系(E-R)模型
1.3.1 E-R模型的图形描述
1.3.2 将E-R图转换为表
1.4 数据规范化
1.4.1 范式理论
1.4.2 规范化和性能的关系
1.5 设计数据库的步骤
总结
作业
扩展练习
第2章 MySQL概述与安装配置
学习目标
2.1 MySQL介绍
2.1.1 MySQL简介
2.1.2 为什么选择MySQL
2.2 MySQL的用户
2.2.1 craigslist网站
2.2.2 维基百科
2.2.3 雅虎财经
2.3 安装和配置MySQL
2.3.1 下载MySQL
2.3.2 安装配置MySQL
2.4 MySQL客户端
2.4.1 命令行客户端介绍
2.4.2 MySQL的GUl客户端程序
2.4.3 MySQL的网页客户端
总结
作业
第3章 MySQL存储引擎和数据类型
学习目标
3.1 存储引擎
3.1.1 MylSAM
3.1.2 lnnoDB
3.1.3 MEMORY
3.1.4 MERGE
3.1.5 FEDERATED
3.1.6 ARCHlVE
3.2 数据类型和属性
3.2.1 数据类型
3.2.2 数据类型属性
总结
作业
第4章 MySQL数据库基础
学习目标
4.1 数据库和表操作
4.1.1 创建数据库
4.1.2 删除数据库
4.1.3 创建表
4.1.4 删除表
4.1.5 复制表
4.1.6 修改表
4.2 数据完整性
4.2.1 什么是数据完整性
4.2.2 数据完整性的分类
4.3 使用SQL语句为表创建和删除约束
4.3.1 添加约束
4.3.2 删除约束
4.4 数据操作
4.4.1 插入数据
4.4.2 更新数据
4.4.3 删除数据
总结
作业
第5章 MySQL查询
学习目标
5.1 连接查询
5.2 子查询
5.3 集合操作(UNlON)
5.4 管理MySQL
5.4.1 数据备份
5.4.2 性能优化
总结
作业
第6章 存储过程与事务处理
学习目标
6.1 存储过程简介
6.1.1 应当使用存储过程吗
6.1.2 存储过程的优点
6.1.3 存储过程的缺点
6.2 MySQL如何实现存储过程
6.2.1 创建存储过程
6.2.2 声明和设置变量
6.2.3 执行存储过程
6.2.4 创建和使用多语句存储过程
6.2.5 从另一个存储过程中调用存储过程
6.2.6 修改存储过程
6.2.7 删除存储过程
6.2.8 查看存储过程状态
6.2.9 查看存储过程的创建语法
6.2.10 条件处理
6.3 事务处理
6.3.1 为什么使用事务
6.3.2 事务的特性
6.3.3 创建事务
6.3.4 事务的使用技巧和注意事项
6.3.5 事务的隔离级别
总结
作业
第7章 视图与索引
学习目标
7.1 介绍视图
7.2 MySQL对视图的支持
7.2.1 创建和执行视图
7.2.2 查看视图信息
7.2.3 修改视图
7.2.4 删除视图
7.2.5 更新视图
7.3 索引
7.3.1 索引的概念
7.3.2 索引的类型
7.3.3 创建索引前的准备
7.3.4 如何创建索引
7.3.5 删除索引
7.4 MySQL索引应用
7.4.1 MySQL创建普通索引
7.4.2 MySQL创建唯一索引
7.4.3 MySQL创建全文索引
7.4.4 MySQL创建单列索引
7.4.5 MySQL创建多列索引
7.4.6 MySQL创建空间索引
7.5 MySQL索引的优缺点
总结
作业
第8章 触发器
学习目标
8.1 介绍触发器
8.1.1 为什么使用触发器
8.1.2 在事件前采取行动
8.1.3 在事件后采取行动
8.1.4 前触发器和后触发器
8.1.5 MySQL对触发器的支持
8.2 MySQL实现触发器
8.2.1 创建触发器
8.2.2 查看现有的触发器
8.2.3 修改触发器
8.2.4 删除触发器
总结
作业
第9章 函数
9.1 函数的概念
9.1.1 函数的类型
9.1.2 自定义函数的优点
9.2 MySQL中的内置函数
9.2.1 字符函数
9.2.2 数值函数
9.2.3 日期函数
9.2.4 聚合函数
9.2.5 信息函数
9.2.6 加密函数
9.3 MySQL中的自定义函数
9.3.1 创建自定义函数
9.3.2 创建无参数的函数
9.3.3 创建有参数的函数
9.4 自定义函数和存储过程的比较
总结
作业
扩展练习
第10章 MySQL安全
学习目标
10.1 首先应该做什么
10.2 保护mysqld守护进程
10.3 MySQL访问权限系统
10.3.1 权限系统的工作方式
10.3.2 访问信息存储在哪里
10.4 用户和权限管理
10.4.1 创建用户
10.4.2 删除用户
10.4.3 重命名用户
10.4.4 GRANT和REVOKE命令
10.5 限制用户资源
10.6 保护MySQL连接
10.6.1 授权选项
10.6.2 SSL选项
10.6.3 启用SSL的MySQL服务器
10.6.4 使用启用SSL的客户端进行连接
10.6.5 在my.cnf文件中存储SSL选项
总结
作业
第11章 MySQL的性能优化
学习目标
11.1 SQL语句优化
11.1.1 优化count()查询
11.1.2 优化关联查询
11.1.3 优化limit分页
11.1.4 优化union
11.2 MySQL简单工作原理
11.2.1 MySQL逻辑框架
11.2.2 MySQL查询过程
11.3 其他SQL优化
11.3.1 Scheme设计与数据类型优化
11.3.2 优化索引
总结
作业
扩展练习
上机部分
上机1 数据库设计(第1章)
第1阶段 指导
指导1 阅读理解图书管理系统的需求
指导2 使用PowerDesigner 12设计图书管理系统数据库
第2阶段 练习
练习 使用PowerDesigner 12设计网吧计费系统数据库
上机2 MySQL数据库基础(第4章)
第1阶段 指导
指导1 创建数据库和表
指导2 表的数据操作
第2阶段 练习
练习1 删除图书信息
练习2 删除图书类型
上机3 MySQL查询(第5章)
第1阶段 指导
指导1 使用内连接显示图书详细信息
指导2 使用子查询显示计算机类的图书详细信息
第2阶段 练习
练习1 使用集合显示图书编号为2和3的图书信息
练习2 数据的高级查询
上机4 存储过程与事务处理(第6章)
第1阶段 指导
指导 创建存储过程完成图书添加
第2阶段 练习
练习1 创建存储过程完成图书修改
练习2 创建存储过程完成图书删除
上机5 视图与索引(第7章)
第1阶段 指导
指导 查询book表数据
第2阶段 练习
练习1 根据条件查询book表数据
练习2 使用索引提高图书信息的效率
上机6 触发器(第8章)
第1阶段 指导
指导1 记录添加总字符数
指导2 记录数据的插入和更新时间
第2阶段 练习
练习1 修改记录时,检查时间格式是否正确
练习2 修改记录时,检查是否备注,没有自动添加当前时间
上机7 函数(第9章)
第1阶段 指导
指导 使用函数根据类型名称和类型备注获取刚插入的类型编号
第2阶段 练习
练习1 使用函数根据用户传入的图书名称查询图书作者信息
练习2 使用函数根据用户传入的图书信息获取现在的图书编号
附录1 MySQL常用工具
学习目标
1.1 PhpMyAdmin
1.1.1 功能特点
1.1.2 安装与配置
1.1.3 使用
1.2 Navicat for MySQL
1.2.1 安装与配置
1.2.2 使用
1.3 SQLyog
1.3.1 安装与配置
1.3.2 使用
总结
作业
附录2 分布式数据库系统
学习目标
2.1 概述
2.1.1 分布式数据库系统
2.1.2 分布式数据库系统的特点
2.2 使用Mysql-Cluster搭建数据库集群
2.2.1 mysql cluster中的几个概念解释
2.2.2 架构图及说明
2.2.3 下载mysql cluster
2.2.4 安装mysql cluster之前
2.2.5 安装配置管理节点
2.2.6 安装配置数据和mysql节点
2.2.7 测试
2.2.8 启动和关闭
2.3 读写分离
2.3.1 实现方式
2.3.2 实现过程
2.3.3 读写分离测试
总结
作业