新書推薦:
《
希腊文明3000年(古希腊的科学精神,成就了现代科学之源)
》
售價:HK$
82.8
《
粤行丛录(岭南史料笔记丛刊)
》
售價:HK$
80.2
《
岁月待人归:徐悲鸿自述人生艺术
》
售價:HK$
59.8
《
女人的中国医疗史:汉唐之间的健康照顾与性别
》
售價:HK$
103.8
《
资治通鉴熊逸版:第四辑
》
售價:HK$
458.9
《
中国近现代名家精品——项维仁:工笔侍女作品精选
》
售價:HK$
66.1
《
宋瑞驻村日记(2012-2022)
》
售價:HK$
112.7
《
汗青堂丛书138·帝国的切口:近代中国口岸的冲突与交流(1832-1914)
》
售價:HK$
124.2
|
編輯推薦: |
本书采用任务驱动的教学方式,全书贯穿一个完整的MySQL系统开发案例,并针对各章的知识点设计15个课堂实践,方便学生练习和巩固。
|
內容簡介: |
本书从数据库技术的实际应用出发,根据应用型本科和高等职业教育的特点和要求,以任务驱动为主要教学方式编写,每章都以具体的学习任务为主线,引导读者理解、掌握知识和技能。全书共10章,从数据库的规范化设计开始,通过大量丰富、实用、前后衔接的数据库项目来完整地介绍MySQL 数据库技术,具有概念清晰、系统全面、精讲多练、实用性强和突出技能训练等特点,可以使读者由浅入深、全面、系统地掌握MySQL数据库管理系统及其应用开发的相关知识。 本书可作为高等学校计算机及相关专业教材和参考用书,也可作为各类培训学校教材,还可供数据库开发或管理人员、自学MySQL 数据库技术的读者使用。
|
目錄:
|
目录
第1章数据库技术基础
1.1数据库系统概述
1.1.1数据库的概念
1.1.2数据管理技术的产生和发展
1.1.3数据库系统的特点
1.2数据模型
1.2.1数据处理的三个世界
1.2.2实体间的联系
1.2.3数据模型的分类
1.2.4关系模型的规范化
1.2.5关系运算
1.3数据库系统结构
1.3.1数据库系统的三级模式结构
1.3.2数据库系统的二级映像
1.4数据库设计基础
1.4.1设计原则
1.4.2设计步骤
1.5需求分析
1.5.1需求分析的任务
1.5.2需求分析的方法
1.5.3数据字典
1.6数据库实施
1.6.1数据的载入和应用程序的调试
1.6.2数据库的试运行
课堂实践: 教务管理系统的数据库设计
1.7本章小结
1.8思考与实践
第2章MySQL概述
2.1MySQL的功能及特点
2.1.1MySQL的版本
2.1.2MySQL的特性
2.2MySQL的安装和配置
2.2.1安装MySQL
2.2.2配置MySQL服务器
2.2.3连接服务器
2.3MySQL管理工具
2.3.1MySQL Workbench管理工具
2.3.2MySQL Administrator管理器工具
2.3.3MySQL Query Browser数据查询工具
2.3.4MySQL Migration Toolkit数据库迁移工具
课堂实践: MySQL的简单应用
2.4本章小结
2.5思考与实践
第3章数据库的创建与管理
3.1MySQL数据库简介
3.1.1数据库的构成
3.1.2数据库文件
3.1.3数据库对象
3.1.4数据库对象的标识符
3.2管理数据库
3.2.1创建数据库
3.2.2查看已有的数据库
3.2.3打开数据库
3.2.4修改数据库
3.2.5删除数据库
3.2.6使用MySQL Workbench管理数据库
课堂实践: 创建和管理教务管理系统数据库
3.3本章小结
3.4思考与实践
第4章表的创建与管理
4.1表概述
4.1.1表的概念
4.1.2表的类型
4.1.3表的数据类型
4.1.4表的设计
4.2创建和管理表
4.2.1创建表
4.2.2查看表的信息
4.2.3修改表结构
4.2.4删除表
4.3表数据操作
4.3.1添加数据
4.3.2更新数据
4.3.3删除数据
课堂实践1: 创建教务管理系统数据表
4.4创建和管理索引
4.4.1索引概述
4.4.2创建索引
4.4.3查看索引
4.4.4删除索引
4.5数据完整性
4.5.1数据完整性的分类
4.5.2数据完整性的实现
4.5.3使用约束
课堂实践2: 教务管理系统中表的约束管理
4.6本章小结
4.7思考与实践
第5章数据查询与视图管理
5.1简单查询
5.1.1SELECT语句结构
5.1.2SELECT子语句
5.1.3WHERE子语句
5.1.4ORDER BY子语句
5.1.5GROUP BY子语句
5.1.6HAVING子语句
课堂实践1: 简单查询的应用
5.2连接查询
5.2.1内连接
5.2.2外连接
5.2.3交叉连接
5.2.4自连接
5.2.5多表连接
课堂实践2: 连接查询的应用
5.3子查询
5.3.1IN子查询
5.3.2比较运算符子查询
5.3.3ANY或ALL子查询
5.3.4EXISTS子查询
课堂实践3: 子查询的应用
5.4联合查询
5.4.1UNION操作符
5.4.2UNION操作符和JOIN操作符的区别与联系
5.5视图管理
5.5.1视图概述
5.5.2创建视图
5.5.3更新视图
5.5.4删除视图
课堂实践4: 教务管理系统中视图管理的应用
5.6本章小结
5.7思考与实践
第6章SQL语言基础
6.1SQL基础
6.1.1标识符
6.1.2注释
6.1.3数据类型
6.1.4常量与变量
6.1.5操作符
6.1.6表达式
6.2函数
6.2.1系统函数
6.2.2存储函数
6.3流程控制语句
6.3.1顺序控制语句
6.3.2分支控制语句
6.3.3循环控制语句
6.4游标
6.4.1游标的概念
6.4.2游标的使用
课堂实践: 游标在教务管理系统中的应用
6.5本章小结
6.6思考与实践
第7章存储过程和触发器
7.1存储过程
7.1.1存储过程概述
7.1.2创建存储过程
7.1.3管理存储过程
7.1.4存储过程中的异常处理
课堂实践1: 创建查询选课记录的存储过程
7.2触发器
7.2.1触发器概述
7.2.2创建触发器
7.2.3管理触发器
课堂实践2: 创建一个插入事件触发器
7.3事件
7.3.1创建事件
7.3.2管理事件
7.4本章小结
7.5思考与实践
第8章数据库安全管理
8.1MySQL的安全性
8.1.1MySQL安全性概述
8.1.2MySQL安全管理等级
8.2用户管理
8.2.1创建用户
8.2.2修改用户名和密码
8.2.3删除用户
8.3权限管理
8.3.1权限概述
8.3.2授予权限
8.3.3收回权限
8.3.4查看权限
课堂实践1: 创建数据管理员用户
8.4日志文件
8.4.1二进制日志
8.4.2错误日志
8.4.3通用查询日志
8.4.4慢查询日志
8.5数据备份与恢复
8.5.1数据备份
8.5.2数据恢复
课堂实践2: 备份教务管理系统数据库
8.6本章小结
8.7思考与实践
第9章事务与锁
9.1事务
9.1.1事务概述
9.1.2事务操作
9.2锁
9.2.1并发问题
9.2.2事务的隔离级别
9.2.3MySQL中的锁定
课堂实践: 定义一个学生选课的事务
9.3本章小结
9.4思考与实践
第10章数据库应用开发实例
10.1系统分析
10.1.1开发背景
10.1.2需求分析
10.2系统设计
10.2.1系统功能设计
10.2.2数据库设计
10.2.3开发环境选择
10.3系统实现
10.3.1数据库访问设计
10.3.2登录模块设计
10.3.3图书借阅管理模块设计
10.3.4系统主模块设计
10.4本章小结
10.5思考与实践
参考文献
|
內容試閱:
|
前言
本书从数据库技术的实际应用出发,以任务驱动、案例教学为主要教学方式,旨在突出应用型本科和高等职业教育特点,注重培养读者适应信息化社会要求的数据处理能力。本书以提高应用能力为目的,以实际应用案例为主线,具有实例引导、项目驱动的特点,在分析实例的基础上,展开具体实现的过程,使读者切实感受到现实工作的实际需求,充分激发读者的学习主动性,使读者熟练掌握数据库应用的基本知识和技术,提高分析问题、解决问题的能力,提高自主学习能力和获取计算机新知识、新技术的能力。本书凝结了编者从事数据库教学与开发方面的经验,根据高等职业教育必需、够用的原则和读者的特点,按照读者的认知过程编排内容,由浅入深,详略得当。概念、方法、步骤都用实例说明,易于理解。对于数据库各种对象的创建方法和步骤,仅在重要处详细介绍,其他地方从略。本书系统、全面地介绍了MySQL的实用技术,具有概念清晰、系统全面、精讲多练、实用性强和突出技能培训等特点。全书从数据库的规范化设计开始,通过大量丰富、实用、前后衔接的数据库项目来完整地介绍MySQL 数据库技术,可以使读者由浅入深、全面、系统地掌握MySQL数据库管理系统及其应用开发的相关知识。本书围绕教务管理系统的实施与管理展开,以理论联系实际的方式,从具体问题分析开始,在解决问题的过程中讲解知识,介绍操作技能。全书共包含15个课堂实践。基本实践任务(数据库的创建与管理,表的创建与管理)侧重于数据库的应用,面向数据库管理员岗位; 主要实践任务(数据查询,存储过程和触发器等)侧重于数据高级查询和编程,面向应用软件开发人员。全书的示例均使用SQL语句实施和管理。本书可作为应用型本科、高等职业教育、高等专科教育、成人教育及各类培训机构的数据库技术教材,也可作为各应用领域数据库管理和开发人员的参考书。本书由卜耀华、石玉芳编著。许多老师对本书提出了宝贵意见,给予了热情帮助,在此向他们表示感谢。由于编者水平有限,书中难免有不妥之处,望读者予以指正。本书的PPT课件等配套资源可以从清华大学出版社网站www.tup.com.cn下载。有关本书及课件使用中的问题和建议,请联系fuhy@tup.tsinghua.edu.cn。
编者2017年1月
第3章数据库的创建与管理
学习要点: 通过在MySQL数据库管理系统支持下创建和维护教务管理系统数据库,理解MySQL数据库的构成,理解MySQL数据库对象,了解MySQL系统数据库和实例数据库,掌握MySQL数据库的创建方法,掌握MySQL数据库的创建、修改、删除操作方法。
3.1MySQL数据库简介数据库是数据库对象的容器,数据库不仅可以存储数据,而且能够使数据存储和检索以安全可靠的方式进行,并以操作系统文件的形式存储在磁盘上。数据库对象是存储、管理和使用数据的不同结构形式。3.1.1数据库的构成MySQL数据库主要分为系统数据库、示例数据库和用户数据库。1. 系统数据库系统数据库是指随安装程序一起安装,用于协助MySQL系统共同完成管理操作的数据库,它们是MySQL运行的基础。这些数据库中记录了一些必需的信息,用户不能直接修改这些系统数据库,也不能在系统数据库表上定义触发器。1 sys数据库sys数据库包含了一系列的存储过程、自定义函数以及视图,可以帮助用户快速地了解系统的元数据信息。sys系统数据库还结合了information_schema和performance_schema的相关数据,让用户更加容易地检索元数据。2 information_schema数据库Information_schema数据库类似数据字典,提供了访问数据库元数据的方式。元数据是关于数据的数据,如数据库名、数据表名、列的数据类型及访问权限等。3 performance_schema数据库performance_schema数据库主要用于收集数据库服务器性能参数。MySQL用户不能创建存储引擎为performance_schema的表。performance_schema功能有: 提供进程等待的详细信息,包括锁、互斥变量、文件信息; 保存历史的事件汇总信息,为提高MySQL服务器性能做出详细的判断; 易于增加或删除监控事件点,并可随意改变MySQL服务器的监控周期,如CYCLE、MICROSECOND。4 mysql数据库mysql数据库是MySQL的核心数据库,它记录了用户及其访问权限等MySQL所需的控制和管理信息。如果该数据库被损坏,MySQL将无法正常工作。2. 示例数据库示例数据库是系统为了让用户学习和理解MySQL而设计的。sakila和world示例数据库是完整的示例,具有更接近实际的数据容量、复杂的结构和部件,可以用来展示MySQL的功能。3. 用户数据库用户根据数据库设计创建的数据库,如教务管理系统数据库D_eams、图书管理系统数据库D_lms等。3.1.2数据库文件数据库管理的核心任务包括创建、操作和支持数据库。在MySQL中,每个数据库都对应存放在一个与数据库同名的文件夹中。MySQL数据库文件有.FRM.MYD和.MYI三种,其中.FRM是描述表结构的文件,.MYD是表的数据文件,.MYI是表数据文件中的索引文件。它们都存放在与数据库同名的文件夹中。数据库的默认存放位置是C:\ProgramData\MySQL\MySQL Server 5.7\Data\。通过配置向导或手工配置修改数据库的默认存放位置,具体操作方法请参考2.2节。3.1.3数据库对象MySQL数据库中的数据在逻辑上被组织成一系列数据库对象,这些数据库对象包括表、视图、约束、索引、存储过程、触发器、用户定义函数、用户和角色。下面对这些常用数据库对象进行简单介绍。1. 表表是MySQL数据库中最基本、最重要的对象,是关系模型中实体的表示方式,用于组织和存储具有行列结构的数据对象。行是组织数据的单位,列是用于描述数据的属性,每一行都表示一条完整的信息记录,而每一列表示记录中相同的元素属性值。由于数据库中的其他对象都依赖于表,因此表也称基本表。2. 视图视图是一种常用的数据库对象,它为用户提供了一种查看数据库中数据的方式,其内容由查询需求定义。视图是一个虚表,与表非常相似,也是由字段与记录组成的。与表不同的是,视图本身并不存储实际数据,它是基于表存在的。3. 索引索引是为提高数据检索的性能而建立的,利用它可快速地确定指定的信息。索引包含由表或视图中的一列或多列生成的键。这些键存储在一个结构B树中,使MySQL可以快速有效地查找与键值关联的行。4. 存储过程和触发器存储过程和触发器是两个特殊的数据库对象。在MySQL中,存储过程的存在独立于表,而触发器则与表紧密结合。用户可以使用存储过程来完善应用程序,使应用程序的运行更加有效率; 可以使用触发器来实现复杂的业务规则,更加有效地实施数据完整性。5. 用户和角色用户是对数据库有存取权限的使用者。角色是指一组数据库用户的集合。数据库中的用户可以根据需要添加,用户如果被加入到某一角色,则将具有该角色的所有权限。3.1.4数据库对象的标识符数据库对象的标识符指数据库中由用户定义的、可唯一标识数据库对象的有意义的字符序列。标识符必须遵守以下规则。1 可以包含来自当前字符集的数字、字母、字符_和$。2 可以以在一个标识符中合法的任何字符开头。标识符也可以以一个数字开头,但是不能全部由数字组成。3 标识符最长可为64个字符,而别名最长可为256个字符。4 数据库名和表名在UNIX操作系统上是区分大小写的,而在Windows操作系统上是忽略大小写的。5 不能使用MySQL关键字作为数据库名、表名。6 不允许包含特殊字符,如.或\。如果要使用的标识符是一个关键字或包含特殊字符,必须用反引号`括起来加以界定。例如:
create table `select`
`char-colum` char8,
`myscore`int
;
3.2管理数据库现在主流的数据库管理系统都提供了图形用户界面管理数据库方式。同时也可以使用SQL语句进行数据库的管理。在MySQL中主要使用两种方法创建数据库: 一是使用图形化管理工具MySQL Workbench创建数据库,此方法简单、直观,以图形化方式完成数据库的创建和数据库属性的设置; 二是使用SQL语句创建数据库,此方法可以将创建数据库的脚本保存下来,在其他计算机上运行以创建相同的数据库。3.2.1创建数据库创建用户数据库的SQL语句是CREATE DATABASE语句,其语法格式如下:
CREATE {DATABASE|SCHEMA}[IF NOT EXISTS]
[选项];
说明:1 语句中[]内为可选项。2 IF NOT EXISTS在创建数据库前加上一个判断,只有该数据库目前尚不存在时才执行CREATE DATABASE操作。3 选项用于描述字符集和校对规则等选项。设置字符集或校对规则,语法格式如下:
[DEFAULT] CHARACTER SET[=]字符集
|[DEFAULT] COLLATE[=]校对规则名
例3.1创建名为D_sample的数据库,SQL语句如下:
create database D_sample;
在MySQL命令行工具中输入以上SQL语句,执行结果如图3.1所示。
图3.1创建数据库D_sample
例3.2为避免因重复创建时系统显示错误信息,使用IF NOT EXISTS选项创建名为D_sample的数据库。SQL语句如下:
create database if not exists D_sample;
在MySQL命令行工具中输入以上SQL语句,执行结果如图3.2所示。
图3.2使用IF NOT EXISTS选项创建数据库
3.2.2查看已有的数据库对于已有的数据库,可以使用MySQL Workbench和SQL语句查看。
图3.3查看已有数据库的信息
使用SHOW DATABASES语句显示服务器中所有可以使用的数据库的信息,其格式如下:
SHOW DATABASES;
例3.3查看所有可以使用数据库的信息,SQL语句如下:
show databases;
如图3.3所示为显示所有数据库的信息。3.2.3打开数据库当用户登录MySQL服务器,连接MySQL后,需要连接MySQL服务器中的一个数据库,才能使用该数据库中的数据,对该数据库进行操作。一般地,用户需要指定连接MySQL服务器中的哪个数据库,或者从一个数据库切换至另一个数据库,可以利用USE语句来打开或切换至指定的数据库。其语法格式如下:
USE ;
例3.4打开D_sample数据库,SQL语句如下:
use D_sample;
图3.4打开数据库D_sample
在MySQL命令行工具中输入以上SQL语句,执行结果如图3.4所示。3.2.4修改数据库修改数据库主要是修改数据库参数,使用ALTER DATABASE语句来实现修改数据库。其语法格式如下:
ALTER {DATABASE|SCHEMA} [数据库文件名]
[选项];
说明:1 数据库文件名为可选项,当不选数据库文件名时,则修改当前数据库。2 修改数据库的选项和创建数据库的选项相同。例3.5修改数据库D_sample的默认字符集和校对规则,SQL语句如下:
alter database D_sample
default character set=gbk
default collate=gbk_chinese_ci;
执行结果如图3.5所示。
图3.5修改数据库D_sample
3.2.5删除数据库如果需要删除已经创建的数据库来释放被占用的磁盘空间和系统资源消耗,使用DROP DATABASE语句删除数据库,其语法格式如下:
DROP DATABASE [IF EXISTS] ;
例3.6删除D_sample1数据库,SQL语句如下:
drop database D_sample1;
图3.6删除数据库D_sample1
执行结果如图3.6所示。使用DROP DATABASE命令时,还可以使用IF EXISTS子句,避免删除不存在的数据库时出现MySQL提示信息。3.2.6使用MySQL Workbench管理数据库创建和管理数据库除了使用SQL语句方式,还可以使用MySQL Workbench图形化管理工具创建和管理数据库,MySQL Workbench方式使用图形化的界面来提示操作,是最简单也是最直接的方法,非常适合初学者。1. 使用MySQL Workbench创建数据库例3.7创建数据库D_sample1。其具体操作步骤如下:1 执行开始所有程序MySQLMySQL Workbench 6.3CE命令,启动MySQL Workbench。2 在MySQL Workbench菜单栏Database中,选择Connect to Database项,打开Connect to Database窗口,如图3.7所示。输入密码后,单击OK按钮完成数据库连接。
图3.7连接数据库窗口
3 在打开的窗口中,单击工具栏上的图标,在Name文本框中输入数据库名称D_sample1,如图3.8所示。
图3.8创建数据库
4 单击Apply按钮,在打开的Apply SQL Script to Database窗口中显示创建数据库的SQL脚本,如图3.9所示。
图3.9Apply SQL Script to Database窗口
5 单击Apply按钮,执行创建数据库的脚本,如图3.10所示。单击Finish按钮,完成创建数据库。
图3.10完成数据库创建
2. 使用MySQL Workbench查看数据库例3.8查看已有的数据库信息。其具体操作步骤如下:1 执行开始所有程序MySQLMySQL Workbench 6.3CE命令,启动MySQL Workbench。2 在MySQL Workbench菜单栏Database中,选择Connect to Database项,打开Connect to Database窗口,输入密码后,单击OK按钮完成数据库连接。3 在打开的窗口中可以看到所有可以使用数据库的信息,如图3.11所示。
图3.11查看数据库信息
3. 使用MySQL Workbench修改数据库例3.9修改D_sample1数据库的字符集和校对规则。具体操作如下:1 在MySQL Workbench窗口中选择D_sample1,在右键快捷菜单中选择Alter Schema项,在打开的d_sample1Schema选项卡中,单击Collation列表框按钮,展开字符集和校对规则,如图3.12所示。2 在展开的列表框中选择gbkgbk_chinese_ci,单击Apply按钮,在打开的Apply SQL Script to Database窗口中显示修改数据库字符集和校对规则的SQL脚本。3 单击Apply按钮,执行修改数据库字符集和校对规则的脚本。单击Finish按钮,完成修改数据库。
图3.12字符集和校对规则列表
4. 使用MySQL Workbench删除数据库例3.10删除D_sample1数据库。其具体操作步骤如下:1 在MySQL Workbench窗口中选择D_sample1,在右键快捷菜单中选择Drop Schema项,打开对话框,如图3.13所示。
图3.13删除数据库
2 在对话框中,单击Drop Now按钮,删除数据库。必须将当前数据库指定为其他数据库,不能删除当前打开的数据库。课堂实践: 创建和管理教务管理系统数据库1 使用SQL语句,创建教务管理系统数据库D_eams。SQL语句如下:
create database D_eams;
2 修改数据库D_eams的默认字符集和校对规则。SQL语句如下:
alter database D_eams
default character set=gb2312
default collate=gb2312_chinese_ci;
3 删除教务管理系统数据库D_eams,SQL语句如下:
drop database D_eams;
3.3本 章 小 结本章介绍了MySQL数据库基础知识,介绍了数据库的创建、打开、查看、修改和删除等基本操作,这些基本操作是进行数据库管理与开发的基础。通过学习,要求熟练掌握使用MySQL Workbench进行数据库的创建、修改和删除操作的技能,理解使用SQL语句创建、修改和删除数据库的操作方法。3.4思考与实践1. 选择题1 下列选项中属于修改数据库的语句是。A. CREATE DATABASEB. ALTER DATABASEC. DROP DATABASED. 以上都不是2 数据库主要用于收集数据库服务器性能参数。A. sysB. performance_schemaC. information_schemaD. mysql3 下列不属于MySQL的系统数据库是。A. sysB. mysqlC. pubs_schemaD. information_schema4 MySQL数据库的表数据文件的扩展名为。A. .sqlB. .mydC. .mdbD. .db5 MySQL数据库的描述表结构文件的扩展名为。A. .frmB. .mydC. .myiD. .myt2. 填空题1 MySQL的系统数据库为、、和。2 MySQL数据库对象有、、、和等。3 创建数据库除可以使用图形界面操作外,还可以使用命令创建数据库。4 在MySQL中,用语句来打开或切换至指定的数据库。5 是表、视图、存储过程、触发器等数据库对象的集合,是数据库管理系统的核心内容。3. 实践题使用MySQL Workbench创建教务管理系统D_eams,并修改数据库,最后删除数据库。
|
|