描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302522713丛书名: 21世纪高等学校计算机专业实用规划教材
本书可以作为高等院校计算机及相关专业的教学用书,亦可作为对数据库技术感兴趣的初学者的自学用书或参考书。
本书既介绍了经典的数据库理论及设计方法,又展示了目前广泛应用的开源数据库管理系统MySQL的实际操作步骤,同时还给出了一个侧重数据库设计过程的应用系统开发实例,打通了从理论到具体DBMS应用再到实例开发三个重要环节。为初学者打牢理论基础的同时,又梳理了数据库应用程序开发的重要环节,做到学以致用。
本书可以作为高等院校计算机专业数据库原理与应用课程的教学用书、计算机相关专业的教学用书,也可以作为从事计算机、管理科学工作的读者,以及科技人员和对数据库技术感兴趣的初学者等的学习用书或参考书。
目录
第1章绪论
1.1数据库、数据库管理系统、数据库系统和数据库应用系统
1.1.1数据库
1.1.2数据库管理系统
1.1.3数据库系统
1.1.4数据库应用系统
1.2数据库系统的产生与发展
1.2.1数据、信息、数据管理与数据处理
1.2.2数据管理技术的产生与发展
1.2.3数据库系统的特点
1.3数据模型
1.3.1数据模型的几个重要问题
1.3.2实体联系数据模型
1.3.3常用(结构)数据模型
1.4数据库系统结构
1.4.1数据库系统的三级模式结构
1.4.2数据库的两级映像与数据独立性
1.4.3用户通过DBMS访问数据库的过程
1.5数据库管理系统
1.5.1数据库管理系统的组成
1.5.2数据库管理系统的主要功能
1.5.3数据库管理系统应该满足的要求
1.5.4数据库管理系统程序模块的组成
1.5.5数据库管理系统的层次结构
1.5.6常见的数据库管理系统
1.6数据库应用系统开发概述
1.6.1单用户结构
1.6.2集中式结构
1.6.3分布式结构
1.6.4客户机/服务器结构
1.6.5浏览器/服务器结构
*1.7数据库技术的新发展
小结
习题1
第2章关系数据库
2.1关系模型
2.1.1关系数据结构
2.1.2关系操作
2.1.3关系完整性约束
2.2关系代数
2.2.1传统的集合运算
2.2.2专门的关系运算
2.2.3关系代数举例
*2.3关系演算
2.3.1元组关系演算
2.3.2域关系演算
2.4查询优化
2.4.1查询优化的必要性
2.4.2查询优化的策略和算法
2.5关系系统
2.5.1关系系统定义
2.5.2关系系统分类
*2.5.3全关系系统的12条基本准则
小结
习题2
第3章关系数据库标准语言SQL
3.1SQL概述
3.1.1SQL的发展
3.1.2SQL的特点
3.1.3SQL体系结构
3.2SQL的定义功能
3.2.1基本表的定义
3.2.2基本表的修改和删除
3.2.3索引的建立与删除
3.3数据查询
3.3.1单表查询
3.3.2连接查询
3.3.3嵌套查询
3.4数据更新
3.4.1插入数据
3.4.2删除数据
3.4.3修改数据
3.5视图
3.5.1建立视图
3.5.2删除视图
3.5.3查询视图
3.5.4更新视图
3.6数据控制
3.6.1授权
3.6.2收回权限
小结
习题3
第4章关系规范化理论
4.1问题的提出
4.1.1一个泛关系模式的实例
4.1.2改造泛关系模式S_D_P
4.1.3存在问题的原因
4.1.4规范化理论的提出
4.2函数依赖和范式
4.2.1函数依赖的概念
4.2.2码的函数依赖定义
4.2.3范式
4.3数据依赖的公理系统
4.3.1函数依赖集的闭包
4.3.2函数依赖的推理规则
4.3.3属性集闭包与F逻辑蕴涵的充要条件
4.3.4Armstrong公理的正确性和完备性
4.3.5函数依赖集的等价和小函数依赖集
4.4关系模式的分解方法
4.4.1模式分解的概念
4.4.2分解的无损连接性判定
4.4.3分解的函数依赖保持性判定
4.4.4关系模式的分解算法
小结
习题4
第5章数据库设计
5.1数据库设计概述
5.1.1数据库设计的定义和知识要求
5.1.2数据库设计的内容
5.1.3数据库设计方法
5.1.4数据库设计的基本步骤
5.2需求分析
5.2.1需求分析的任务
5.2.2需求分析的方法和过程
5.2.3需求分析常用工具
5.2.4需求分析实例
5.3概念结构设计
5.3.1概念结构设计的定义
5.3.2概念结构设计方法
5.3.3局部视图设计
5.3.4集成全局视图
5.4逻辑结构设计
5.4.1逻辑结构设计的任务和步骤
5.4.2ER图向关系模型的转换原则
5.4.3逻辑结构的优化
5.4.4设计用户外模式
5.5物理结构设计
5.5.1确定数据库的物理结构
5.5.2评价物理结构
5.6数据库实施
5.7数据库的运行和维护
5.8数据库设计实例
小结
习题5
第6章数据库保护
6.1事务
6.1.1事务的概念
6.1.2事务的特性
6.2数据库恢复
6.2.1数据库系统的故障
6.2.2数据库恢复的实现技术
6.3并发控制
6.3.1并发操作引发的问题
6.3.2调度及其可串行化
6.3.3事务的隔离性级别
6.3.4封锁技术
6.3.5死锁与活锁问题
6.3.6封锁的粒度
6.4数据库安全性
6.4.1用户标识与鉴别
6.4.2存取控制
6.4.3视图机制
6.4.4数据加密
6.4.5审计
6.5数据库完整性
6.5.1完整性约束条件的类型
6.5.2完整性控制机制的功能
6.5.3完整性约束的表达方式
小结
习题6
第7章MySQL数据库操作
7.1MySQL简介
7.2MySQL的体系结构
7.3MySQL的查询语言
7.3.1表、列和数据类型
7.3.2函数
7.3.3SQL语句
7.4MySQL数据库的安装
7.5MySQL数据库的基本操作
7.5.1数据库操作
7.5.2数据库表的操作
7.5.3数据库视图操作
7.5.4数据操作语言
7.6常用开发平台与MySQL数据的连接
7.7MySQL数据库的备份与恢复
7.8MySQL数据库的安全
第8章数据库应用实例
8.1引言
8.2楼盘销售系统
8.2.1开发背景
8.2.2需求分析
8.2.3系统设计
8.2.4系统实现
8.3数据库精品课程学习系统
8.3.1开发背景
8.3.2需求分析
8.3.3系统设计
8.3.4系统实现
8.4煤矿采掘衔接计划管理系统
8.4.1需求概要
8.4.2数据流图
8.4.3系统设计
8.4.4系统实现
小结
第9章数据库新技术
9.1面向对象数据模型
9.1.1面向对象数据模型的定义
9.1.2面向对象数据库管理系统
9.1.3面向对象数据库系统的概念与特征
9.1.4面向对象数据库系统的查询
9.1.5面向对象数据库系统的并发控制
9.2XML数据库
9.2.1XML技术
9.2.2XML数据库
9.2.3XML数据库分类
9.2.4XML数据库管理系统
9.3分布式数据库系统
9.3.1分布式数据库及其分类
9.3.2分布式数据库的特点
9.3.3分布式数据库的分级结构
9.3.4分布式数据库的数据分布
9.4工程数据库
9.4.1工程数据库基本概念
9.4.2工程数据库体系结构
9.4.3长事务管理
9.5其他数据库
9.5.1模糊数据库
9.5.2空间数据库
9.5.3统计与科学数据库
9.5.4实时数据库
9.5.5内存数据库
9.6大数据管理技术
9.6.1什么是大数据
9.6.2大数据的特点
9.6.3传统关系型数据库面临的问题
9.6.4NoSQL数据库
9.7数据仓库
9.7.1什么是数据仓库
9.7.2数据仓库的体系结构
9.7.3数据仓库的作用
9.8知识发现
9.8.1KDD的相关概念
9.8.2KDD的基本任务
9.8.3KDD的处理过程
9.8.4KDD的方法
小结
参考文献
前言
数据库技术是目前计算机科学技术领域发展快、应用广泛的技术之一,体现了数据管理及信息处理的发展水平。在大数据技术蓬勃发展的今天,更需要对经典数据库理论的理解和学习,为日新月异的数据管理技术奠定扎实的理论基础。
数据库技术从诞生开始到现在一直倍受人们关注,目前无论在计算机系统中的位置,还是在计算机应用中的地位,以及在计算机专业课程中的地位都是非常重要的,已经成为计算机信息系统和计算机应用系统的重要技术基础和支柱。因此,数据库技术是一个十分活跃的研究领域,也是一个日新月异的研究领域。
本书是在版教材《数据库原理与应用》的基础上进行编写的,教材自2010年出版至2018年1月共进行了5次印刷。为了满足教学需要和广大读者的需求,作者重新改编了本教材。
本书以关系数据库为核心,重点介绍了数据库相关的基本概念、基本原理和实用的数据库设计技术,着力打通数据库技术从理论到DBMS应用再到实例开发的三个重要环节,帮助初学者建立扎实的理论基础,同时建立清晰的知识脉络,为后续的深入学习开辟良好的开端。希望本书能够使读者对数据库系统有一个全面、深入、系统的了解,为进一步从事数据库系统的研究、开发和应用奠定坚实的基础。
本书主要特点如下。
(1) 针对高等学校教学大纲对本课程的要求,重点讲述数据库基本概念、基本原理和基本技术,同时充分考虑教学的需要,在内容选取、难易程度等因素上都有所考虑。根据教学实际情况,本书的内容适用于48~64学时教学。
(2) 本书选择轻量级开源数据库管理系统MySQL,详细地讲述了安装过程和具体的SQL语句,为读者提供一个练习SQL语句的DBMS环境。
(3) 为了帮助读者能够更加容易地将理论知识和DBMS中练习的SQL语句,应用到程序的开发过程中,本书给出开发实例,重点介绍数据库设计的各个步骤及相应内容,以及与应用程序建立连接的方法,真正实现“从原理到应用”。
(4) 力求反映当前数据库领域的新水平、新技术。在多种类型数据库技术基础上,增加了大数据存储及管理NoSQL技术,帮助读者初步了解传统数据库到大数据技术的演变过程,同时体会大数据存储及管理技术的特殊之处。
本书由孟凡荣主编,其中,孟凡荣编写第1章和第9章中的部分内容,并负责全书的统稿,闫秋艳编写第5章和第9章,并协助全书的统稿,袁冠编写第7章和第8章,葛欣编写第3章,雷小锋编写第6章,谢红侠编写第4章,徐慧编写第2章,王志晓编写第9章的部分内容。
本书标*章节为非重点章节,感兴趣的读者可自主学习。
由于编者水平有限,书中疏漏之处在所难免,殷切希望得到广大读者的批评指正。
编者
2018年12月
SQL(Structured Query Language)是关系数据库的标准语言,也称结构化查询语言。它是介于关系代数和元组演算之间的一种语言。SQL是一种综合性的数据库语言,实现对数据的定义、操纵和控制等功能。本章将对SQL的语法规则进行详细的介绍。
3.1SQL概述3.1.1SQL的发展自从1970年美国IBM研究中心的E.F.Codd提出关系模型,并连续发表多篇论文以后,人们对关系数据库的研究日益深入。1972年,IBM公司开始研制实验型关系数据库管理系统SYSTEM R,并且为其配置了SQUARE(Specifying Queries As Relational Expression)查询语言。1974年,Boyce和Chamberlin在此基础上对其进行改进,将SQUARE语言改为SEQUEL(Structured English Query Language),后来SEQUEL简称为SQL,即“结构式查询语言”,并首先在IBM公司研制的关系数据库系统System R上实现。
由于它具有功能丰富、使用方便灵活、语言简洁、易学等突出优点,深受计算机工业界和计算机用户的欢迎。各厂商纷纷开发基于SQL的商业应用产品,并将SQL作为关系数据库产品事实上的标准,如Oracle、DB2、Sybase等。1986年10月,经美国国家标准局(ANSI)的数据库委员会X3H2批准,将SQL作为关系数据库语言的美国标准,同年公布了标准SQL。1987年6月,国际标准化组织(International Organization for Standardization,ISO)将其采纳为国际标准。这两个标准现在称为“SQL 86”。ANSI在1989年10月颁布了增强完整性特征的SQL 89标准,1992年又公布了SQL 92标准,1999年发布了SQL 99,以后每隔几年会推出一个新版本,目前近的版本是SQL 2016。
本章的论述主要遵循SQL 92标准,由于各数据库厂商的SQL产品在支持标准SQL 92语法的同时,在功能上都做了相应的扩充,在实现上略有不同,因此,在使用具体的DBMS时,请查阅系统提供的参考手册。
3.1.2SQL的特点
SQL有许多优点,主要体现在以下4点。
1. 高度非过程化
“过程化”是指用户不但要知道“做什么”,还应该知道“怎样做”。对于SQL,用户只需要提出“做什么”,无须具体指明“怎么做”。例如,存取路径选择、具体处理操作过程等均由系统自动完成。这种特点使得用户更能集中精力考虑要“做什么”和所要得到的结果,大大提高了开发效率。
2. 功能完备并且一体化
数据库的主要功能就是通过数据库支持的数据语言来实现的。SQL不但具有数据定义功能、数据查询、数据操作功能、数据控制功能,而且这些功能被集成到一个语言系统中,只要用SQL就可以实现数据库生命周期中的全部活动。可见,SQL功能是完备的。
3. 统一的语法结构
SQL可用于所有用户的模型,包括系统管理员、数据库管理员、应用程序员及终端用户,这些用户可以通过自含式语言和嵌入式语言两种方式对数据库进行访问,这两种方式使用统一的语法结构。
4. 语言简洁,易学易用
尽管SQL的功能很强,但语言十分简洁,SQL完成核心功能只用了以下8个动词。
数据查询: SELECT(查询)。
数据定义: CREATE(创建),DROP(撤销)。
数据操作: INSERT(插入),UPDATE(修改),DELETE(删除)。
数据控制: GRANT(授权),REVOKE(收权)。
3.1.3SQL体系结构
SQL支持关系数据库体系结构,即外模式、模式和内模式。利用SQL可以实现对三级模式的定义、修改和数据的操作功能,在此基础上形成了SQL体系结构,如图31所示。
图31SQL体系结构
图31中对应的几个基本概念如下。
(1) SQL用户。可以是应用程序,也可以是终端用户。SQL语句可嵌入在宿主语言的程序中使用,也可以作为独立的用户接口,供交互环境下的终端用户使用。
(2) 基本表,简称基表。它是数据库中实际存在的表,在SQL中一个关系对应于一个基本表。
(3) 视图。SQL用视图概念支持非标准的外模式概念。视图是从一个或几个基表导出的表,虽然它也是关系形式,但它本身不实际存储在数据库中,只存放对视图的定义信息(没有对应的数据)。因此,视图是一个虚表(Virtual Table)或虚关系,而基表是一种实关系(Practical Relation)。
(4) 存储文件。每个基表对应一个存储文件,每个存储文件都与外部存储器上一个物理文件对应。一个基表还可以带一个或几个索引,存储文件和索引一起构成了关系数据库的内模式。
由此可以看出,一个基本表可以存放在多个存储文件中,一个存储文件也可以存放多个基本表的数据; 一个视图可以来自多个基本表,一个基本表可以构造多个视图; 一个用户可以查询多个视图,一个视图也可以被多个用户访问。
3.2SQL的定义功能3.2.1基本表的定义1. 表结构的定义
建立数据库重要的一步就是定义基本表的结构。SQL用于创建基本表的语法结构为: CREATE TABLE
( [列级完整性约束条件]
[, [列级完整性约束条件] …]
[,];说明:
(1) 表名是所要定义的基本表的名字,表可以由一个或多个属性(列)组成。
(2) 定义表的各个列时需要指明其数据类型及长度。表31列出了主要数据类型。表31SQL 92提供的主要数据类型类型数据类型举例及缩写说明BinaryBinaryLargeOBject(BLOB)这种数据类型以十六进制格式存储二进制字符串的值BitStringBIT(n)
BIT VARYING(n)这两种数据类型可以存储二进制和十六进制数据,BIT数据类型长度固定,而BIT VARYING数据类型具有可变长度BooleanBOOLEAN这种数据类型存储真、假值——true、false或unknownCharacterCHAR(n)
VARCHAR(n)
这两种数据类型可以存储适宜的字符集中的任意字符组合。VARCHAR数据类型允许字符长度变化,而CHAR数据类型只能有固定的字符长度。VARCHAR数据类型自动删除后继的空格,而CHAR数据类型则添加空格达到指定长度NumericINTEGER
SMALLINT
DECIMAL(i,j)
FLOAT(p,s)
REAL
DOUBLE PRECISION这些数据类型存储数据的准确值(整数或小数)或近似值(浮点数)续表
类型数据类型举例及缩写说明TemporalDATE
TIME
TIMESTAMP
INTERVAL这些数据类型处理时间的值。DATE 和TIME分别处理日期和时间。TIMESTAMP类型存储着按机器当前运行时间计算出来的值。INTERVAL指定一个时间间隔,它是一个相对值,用于增加或减少一个日期、时间或时间戳类型数据的值
(3) 完整性约束条件。关系完整性约束包括实体完整性、参照完整性和用户定义完整性。这三种完整性约束条件都可以在表的定义中给出。其中,实体完整性定义表的主关键字(Primary Key),参照完整性定义外关键字(Foreign Key),用户定义完整性根据具体应用对关系模式提出要求,主要包括对数据类型、数据格式、取值范围、空值约束等的定义。
完整性约束,又可分为列完整性、元组完整性和表级完整性三个级别。在关系模式的定义中,常定义的是列完整性约束和表级完整性约束。用户定义的完整性规则属于列级完整性约束,而实体完整性和参照完整性都属于表级完整性约束。
由于完整性约束条件也是关系模式定义的一部分,所以下面给出部分完整性约束条件的定义方法。这些完整性约束条件被存入系统的数据字典中,当用户操作表中数据时由DBMS自动检查该操作是否违背这些完整性约束条件。
【例31】建立一个“学生”表,它由学号、姓名、性别、出生年份、籍贯和所在学院6个列组成,其中,学号属性不能为空,并且其值是的。CREATE TABLE 学生
( 学号 CHAR(8) NOTNULL UNIQUE,
姓名 CHAR(8),
性别 CHAR(2),
出生年份 SMALLINT,
籍贯 CHAR(8),
学院 CHAR(15));上述SQL语句执行后,将建立一个新的空“学生”表。其中,NOT NULL 和UNIQUE分别说明学号不能取空值和重复的值,该约束等同于主码的约束。
评论
还没有评论。