温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
数据库
原理
应用
高等教育“十三五”规划教材 数据库原理及应用 主 审 耿红琴 主 编 张银玲 杨锋英 副主编 葛文庚 徐 亮 张得生 内 容 简 介 本书以应用为目的,以能力培养为目标,以 JSP 和 SQL Server 2008 为平台,以案例为引导,主要介绍数据库的基本概念,数据模型,关系代数,关系数据理论,数据库设计,数据库完整性约束,SQL Server 2008、JDK、Tomcat、Eclipse 的安装和配置,基于 JSP 的学生成绩管理系统的设计与实现,SQL 查询和数据操纵,存储过程,触发器,游标,数据库的备份和恢复,数据库的安全控制,基于 MVC 设计模式的学生成绩管理系统的设计与实现,SQL 注入,数据加密等。每章由学习目标、主要内容、重点与难点、教学案例、相关知识、习题和实训项目等构成。本书以“学生成绩管理系统”为案例,通过案例,将数据库的相关知识恰当地融入到案例的分析和设计过程中,图文并茂、深入浅出、通俗易懂、强调实践、突出应用,使读者在学习过程中不仅能掌握数据库的相关知识,而且能培养其综合分析问题和解决问题的能力。全书采用案例方式安排教学内容,注重实用性和可操作性,有助于提高实际动手能力。本书可作为应用型和技能型人才培养的高等学校和高职高专院校计算机及相关专业数据库方面课程教材,也可作为计算机培训机构的数据库培训教材,还可供数据库软件应用和开发人员学习参考使用。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据 数据库原理及应用/张银玲,杨锋英主编北京:电子工业出版社,2016.7 ISBN 978-7-121-28969-9.数.张 杨.数据库系统.TP311.13 中国版本图书馆 CIP 数据核字(2016)第 124607 号 策划编辑:祁玉芹 责任编辑:张瑞喜 印 刷:中国电影出版社印刷厂 装 订:中国电影出版社印刷厂 出版发行:电子工业出版社 北京市海淀区万寿路 173 信箱 邮编 100036 开 本:7871092 1/16 印张:22.5 字数:548 千字 版 次:2016 年 7 月第 1 版 印 次:2016 年 7 月第 1 次印刷 定 价:48.00 元 凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888。质量投诉请发邮件至 ,盗版侵权举报请发邮件至 。服务热线:(010)88258888。iii 数据库技术是信息系统的核心和基础,是信息化建设的基础设施,数据库信息量的大小和使用频率已成为衡量一个国家信息化程度的重要标志,因此,作为当代的大学生,学习和掌握数据库知识是非常必要的,作为计算机相关专业的学生更要学好数据库技术。“数据库原理及应用”是计算机类专业的核心课程,也是信息处理类专业的必修课程。课程教学目标是系统地介绍数据库基本原理,并结合具体的学生成绩管理系统介绍数据库理论知识的具体应用。通过该课程的学习,使读者在数据库应用软件的开发过程中能够设计合理的数据库,从而提高软件开发的质量,同时能够进行数据库的查找和维护操作,达到熟练地应用数据库技术的目的。数据库基本原理抽象又很重要,但是,其实践操作更为重要。目前很多教材数据库的基本原理知识介绍非常详细,但是实践部分内容不足,或前后章节案例独立,学生获得的对完整系统后台数据库的设计和维护知识不完整。鉴于此,编者结合自己多年来的数据库理论及数据库技术实践教学经验编写了本教材。本书的特点是,以应用为目的,以能力培养为目标,案例引导,内容全面,通俗易懂,图文并茂,知识连贯,概念清晰,实践性强。全书所有案例围绕一个完整的学生成绩管理系统展开,将数据库的相关知识恰当地融入到案例的分析和设计过程中,通过一个案例体现其应用。使学生通过案例的学习,掌握数据库知识及其在实际项目中的使用,避免学生学习了数据库理论而不知道如何使用的现象。同时,通过案例学习使读者对数据库的设计有一个完整、清晰的思路。书中每个案例后面配有针对性的习题,部分任务后面还配有具体的实训项目,供读者练习,有助于增强读者对相关知识的理解和实际应用能力的培养。另外,本书还配有电子教学参考资料(书中所用数据库脚本、所有案例的源代码、电子课件、习题和实训项目参考答案)。iv 全书共分 4 个模块,模块 1 是数据库理论基础;模块 2 是开发环境的搭建与使用;模块 3 是学生成绩管理系统的设计与实现;模块 4 是学生成绩管理系统优化。本书建议教学学时为 64 学时,其中理论 32 学时,实验 32 学时。书中第 1 和第 3 模块为教学重点,其中第 3 模块为教学难点,应分配较多的学时。本书由张银玲和杨锋英主编,葛文庚、徐亮和张得生为副主编,参加编写的还有李俊峰。书中模块 1 的任务 1、任务 2、任务 3 由徐亮编写;模块 1 的任务 4 由李俊峰编写;模块 1 任务 5 中的 16 和模块 2 的案例 1 由张得生编写;模块 1 任务 5 中的 7 和模块 2 的案例 2 由葛文庚编写;模块 3 由杨锋英编写;模块 4 由张银玲编写。全书由耿红琴审核并定稿。本书既可以作为高等院校和高职院校的数据库原理及应用课程的教材,也可以作为有一定的面向对象编程基础和数据库基础进行 Web 应用程序开发人员的参考资料。在编写本书的过程中参考了相关文献,在此向这些文献的作者深表感谢。同时,在此对参与了本书配套案例“学生成绩管理系统”的设计与开发工作的李鹏龙、刘洋同学及对内容和实验提出了许多中肯有益意见的马亚东、刘志东、王广智同学表示衷心感谢。由于时间较紧,书中难免有错误与不足之处,恳请专家和广大读者批评指正。编 者 2016 年 4 月 目 录 v 目 录 模块 1 数据库理论基础.1 任务 1 数据库基础.1 习题.9 任务 2 关系数据库.13 习题.28 任务 3 关系数据理论.29 习题.34 任务 4 数据库设计.36 习题.55 任务 5 数据库的完整性约束机制.56 习题.65 模块 2 开发环境的搭建与使用.67 案例 1 安装并熟悉 SQL Server 2008.67 相关知识.82 案例 2 安装并熟悉 Java Web 开发环境.95 任务 1 JDK 的安装与配置.95 任务 2 Tomcat 的安装与配置.102 任务 3 安装 Eclipse 并熟悉 Eclipse 环境.109 相关知识.118 实训项目.121 数据库原理及应用 vi 模块 3 学生成绩管理系统的设计与实现.122 案例 1 学生成绩管理系统的设计.122 任务 1 学生成绩管理系统的需求描述.122 任务 2 学生成绩管理系统的概念结构设计.123 任务 3 学生成绩管理系统的逻辑结构设计.125 任务 4 学生成绩管理系统的物理结构设计.126 任务 5 学生成绩管理系统的数据库实现.126 任务 6 修改数据库中表结构.129 习题.130 实训项目.130 相关知识.130 案例 2 学生成绩管理系统的登录.132 任务 1 设置系统编码格式.132 任务 2 建立并运行 Web 项目.134 习题.147 相关知识.147 习题.158 拓展知识.168 案例 3 教师功能的设计与实现.173 任务 1 查询所授课程的成绩信息.173 习题.176 任务 2 其他类型查询.176 习题.187 任务 3 增加一个学生成绩.188 习题.192 相关知识.192 任务 4 修改学生成绩.194 习题.200 目 录 vii 相关知识.200 任务 5 删除学生成绩.201 习题.203 相关知识.203 案例 4 密码修改界面的设计与实现.204 习题.209 案例 5 学生成绩管理系统的备份与恢复.209 任务 1 数据库备份.210 习题.221 任务 2 数据库恢复.221 习题.225 相关知识.225 习题.244 模块 4 学生成绩管理系统优化.245 案例 1 开发 MVC 模式的学生成绩管理系统.245 任务 1 创建不同模式对象的包.246 任务 2 创建实体对象.247 任务 3 创建数据处理模型.251 任务 4 实现学生成绩管理系统的用户登录.252 相关知识.258 任务 5 教师功能的设计与实现.263 相关知识.279 任务 6 管理员功能的设计与实现.314 相关知识.319 习题.324 实训项目.324 案例 2 用户密码加密.325 任务 1 添加注册页面.325 数据库原理及应用 viii 任务 2 建立加密类.326 任务 3 完成注册用户密码加密.327 相关知识.330 习题.331 实训项目.331 案例 3 成绩管理系统的安全控制.331 任务 1 创建学生成绩管理系统数据库用户.331 任务 2 创建学生成绩管理系统数据库学生角色.340 任务 3 为学生成绩管理系统数据库用户和角色赋予权限.345 相关知识.349 习题.352 实训项目.352 模块 1 数据库理论基础 1 模块 1 数据库理论基础 学习目标 通过本模块的学习了解数据库的基本概念及数据库管理技术的发展过程;掌握关系数据模型的设计过程;了解数据库系统结构及其组成;熟悉关系数据库的三个组成要素;掌握关系代数的相关运算;熟练掌握关系优劣的判定及优化;掌握数据库设计的基本步骤和数据库的完整性约束机制。主要内容(1)数据库基础。(2)关系数据库。(3)关系数据理论。(4)数据库设计。(5)数据库的完整性约束机制。重点与难点(1)关系代数。(2)关系数据理论。(3)概念结构设计。(4)逻辑结构设计。(5)触发器。任务 1 数据库基础 一、四个基本概念 1.数据(Data)数据是数据库中存储的基本对象。由于早期的计算机常用于科学计算,因此所使用的数据多数是整数或者浮点数,因此通常人们对数据的理解是数值型数据是数据,但实质上数据类型有数值型数据、文本数据、图形、图像、视频、音频、学生的成绩信息、超市货数据库原理及应用 2 物销售信息等。所有的数据与其语义是密不可分的,如下一组数据:(刘冰,2010,北京大学,计算机)这组数据如果没有语义约定,则可以理解为:2010 年刘冰在北京大学学习计算机专业,或者理解为:刘冰在 2010 年离开北京大学去外地从事计算机生意,或者理解为:刘冰是2010 年在北京大学从事计算机教育工作。如果对这组数据加上相应的语义:(姓名,学习时间,学习地点,学习专业)则对该组数据只能有一种确定的理解,即 2010 年刘冰在北京大学学习计算机专业。因此,所有进入数据库中的数据必须有相应的语义解释。2.数据库(DataBase,简写为 DB)顾名思义就是按照数据结构来组织、长期存储和管理数据的仓库。它产生于 60 年前,随着信息技术和市场的发展,特别是 20 世纪 90 年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据的管理。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。数据库中数据的三个基本特点是长期存储、有组织、可共享。3.数据库管理系统(DataBase Management System,简称 DBMS)数据库管理系统是一种操纵和管理数据库的大型系统软件,用于建立、使用和维护数据库,它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS 访问数据库中的数据,数据库管理员也通过 DBMS 进行数据库的维护工作。常见的数据库管理系统软件有:Sybase、DB2、Oracle、SQL Server、Access、PostgreSQL、Informix等。DBMS 提供的功能有以下几个方面:(1)数据定义:DBMS 提供数据定义语言 DDL(Data Definition Language),主要用于建立、修改数据库的库结构。DDL 所描述的库结构仅仅给出了数据库的框架,数据库的框架信息被存放在数据字典(Data