描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302513322丛书名: 21世纪高等学校计算机教育实用规划教材
本书既可以作为高等院校计算机科学与技术、软件工程、电子信息科学、信息安全、信息管理与信息系统、信息与计算科学等专业本科生数据库课程的教材,还可以供从事信息领域工作的科技人员及其他人员参阅。
书中和SQL语句有关的例子均在SQL Server 2014环境下测试通过。
1.1数据库系统概述
1.1.1基本概念
1.1.2数据库管理系统的产生和发展
1.2数据模型
1.2.1数据描述的三个世界
1.2.2概念模型
1.2.3数据模型的组成
1.2.4数据模型的分类
1.3数据库系统的结构
1.3.1数据库系统模式的概念
1.3.2数据库系统的三级模式结构
1.3.3数据库的二级映像功能与数据独立性
1.4数据库系统的组成
1.5小结
习题
第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.3.3用户定义的完整性
2.4关系代数
2.4.1传统的集合运算
2.4.2专门的关系运算
2.5关系演算
2.5.1元组关系演算
2.5.2域关系演算
2.6关系数据库产品
2.7小结
习题
第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.3.4嵌套查询
3.3.5集合查询
3.3.6SELECT语句的一般格式
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.5.5更新视图
3.6查询优化
3.6.1查询处理的步骤
3.6.2查询执行算法
3.6.3查询优化的一般策略
3.7小结
习题
第4章关系模式的规范化设计理论
4.1规范化问题的提出
4.2关系模式的规范化
4.2.1函数依赖及码的概念
4.2.2关系模式的范式
4.2.3关系模式的规范化步骤
4.3关系模式的分解
4.3.1关系模式分解的理论基础
4.3.2关系模式的分解算法
4.4小结
习题
第5章数据库设计
5.1数据库设计概述
5.1.1数据库设计的特点
5.1.2数据库设计方法
5.1.3数据库设计的基本步骤
5.2需求分析
5.2.1需求分析的任务
5.2.2需求分析的工具
5.2.3需求分析的方法
5.3概念结构设计
5.3.1概念模型的特点
5.3.2概念结构设计的方法
5.3.3概念结构设计的步骤
5.4逻辑结构设计
5.4.1ER模型向关系模型的转换
5.4.2关系模型的优化
5.4.3用户子模式的设计
5.5物理结构设计
5.5.1确定数据库的物理结构
5.5.2评价物理结构
5.6数据库的实施和维护
5.6.1数据库实施
5.6.2数据库的运行和维护
5.7小结
习题
第6章数据库安全性
6.1数据库安全性概述
6.1.1数据库的不安全因素
6.1.2计算机系统安全性
6.1.3安全标准
6.2数据库安全性控制
6.2.1用户标识与鉴别
6.2.2存取控制
6.2.3自主存取控制方法
6.2.4强制存取控制方法
6.3视图机制
6.4审计
6.5数据加密
6.6小结
习题
第7章数据库的完整性
7.1完整性基本概念
7.2完整性约束
7.2.1完整性约束机制
7.2.2完整性约束条件分类
7.2.3完整性约束的定义方法
7.3实体完整性
7.3.1定义实体完整性
7.3.2实体完整性检查和违约处理
7.4参照完整性
7.4.1参照完整性定义
7.4.2参照完整性检查和违约处理
7.5用户定义的完整性
7.5.1属性上的约束条件
7.5.2元组上的约束条件
7.6完整性约束命名子句
7.7断言
7.8数据库触发器
7.8.1触发器机制
7.8.2触发器的三要素
7.8.3SQL触发器的要求及规则
7.8.4定义触发器
7.8.5激活触发器
7.8.6触发器的修改与删除
7.9小结
习题
第8章数据库恢复技术
8.1事务的基本概念
8.1.1事务的概念
8.1.2事务的状态与特性
8.2数据库恢复概述
8.3故障的种类
8.4数据库恢复的实现技术
8.4.1数据转储
8.4.2日志文件
8.5数据库恢复策略
8.6具有检查点的恢复技术
8.7数据库镜像
8.8小结
习题
第9章并发控制
9.1并发控制概述
9.2封锁与封锁协议
9.2.1封锁的概念
9.2.2封锁协议
9.3活锁和死锁
9.3.1活锁
9.3.2死锁
9.4并发调度的可串行性
9.4.1事务执行的几种方法
9.4.2事务的调度与冲突
9.4.3冲突的可串行化调度
9.5两段锁协议
9.6封锁的粒度
9.7小结
习题
第10章数据库设计实例
10.1SQL Server简介
10.1.1SQL Server的发展历程
10.1.2SQL Server 2014版本新功能
10.2SQL Server 2014的安装
10.2.1SQL Server 2014安装系统需求
10.2.2SQL Server 2014安装步骤
10.2.3SQL Server 2014的配置过程
10.3学生选课管理系统
10.3.1系统设计背景
10.3.2需求分析
10.3.3概要结构设计
10.3.4逻辑结构设计
10.3.5数据库系统物理设计与实施
10.3.6案例的应用程序设计
参考文献
数据库技术是计算机科学技术中发展最快的技术之一,已在社会生活中得到广泛的应用,并形成一个巨大的软件产业。它已成为计算机信息系统与应用系统的核心技术和重要基础。出版本教材是为了反映数据库学科的新成果和应用的新方向,适应数据库技术的不断发展。
本书既注重系统地介绍数据库的基本理论和方法,又补充了新型数据库系统的主要技术知识。本书缩减传统数据库系统的理论部分内容,突出数据库理论与应用技术紧密结合的特点,结合现代的软、硬件环境及应用实例讲解,更适于作为高等学校本科生教材。
本书在介绍原理知识之后,配合有大量的相关例题,加深读者对理论课学习的进一步理解。大部分的例题都配有详细的解析过程,有利于读者对理论知识的吸收和巩固。
书中每章后面均配有适量的习题,以加强读者对数据库系统概念、方法的理解和掌握。
本书有配套的课件,以方便教学。
本书共分10章,结合高校教学信息管理系统数据库应用案例,较为详细地介绍了数据库系统的基本概念、原理、方法和应用技术。
第1章介绍数据库系统的相关概念,回顾数据管理技术的发展历史,并在此基础上介绍数据模型的概念、数据库系统结构和数据库系统的组成。
第2章介绍关系数据库的基本概念、关系模型的运算理论、关系代数及关系的完整性等方面的知识。
第3章介绍关系数据库标准语言SQL。主要介绍SQL的产生、发展、特点,掌握模式、表、索引、视图的创建与管理,介绍数据库中数据的查询与更新操作等。
第4章介绍关系数据理论,包括函数依赖、公理系统、规范化和模式分解等内容。
第5章介绍关系数据库设计理论,在结合高校教学信息管理系统实例的基础上,介绍数据库设计的详细步骤,包括需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施以及数据库运行和维护阶段。
第6章介绍数据库安全性的概念以及数据库安全控制方法。
第7章介绍数据库完整性的概念以及完整性的维护机制。
第8章介绍数据库故障和恢复技术,包括事务的概念、故障的种类及恢复策略。
第9章介绍并发控制,首先介绍并发操作对数据库系统带来的影响,接下来介绍并发控制概述、封锁的概念、并发调度的可串行性、两段锁协议等。
第10章介绍SQL Server的发展过程及SQL Server 2014的安装及使用,并通过一个相关实例——学生选课系统,具体介绍数据库设计的过程。
本书既着眼于帮助学生掌握数据库系统的基本原理、技术和方法,又助其了解现代数据库系统的特点及发展趋势。本书内容丰富,叙述严谨清晰,每章后均配有本章小结以及适量的思考题和习题,适于广大师生的教与学。
本书由沈阳理工大学信息学院沈红和张焕君负责取材、组织和统稿。第1章由沈红、张焕君共同完成;第2章、第3章由沈红执笔;第4章、第5章由张焕君执笔;第6章、第7章由喻红婕执笔;第8章、第9章由胡树杰执笔;第10章由喻红婕、胡树杰和李爱华指导完成。实验室的刘雄和张凤乔两位学生负责编写程序,在诸位教师的指导下验证通过。特别是刘雄,书中SQL部分的例题都由他通过实验验证,表示感谢!还有马玉峰老师、崔宁海老师、杨大为老师及虞闯老师对书稿提出了宝贵的意见并对文稿做了最后的校对工作。在此感谢所有为本教材出版做出贡献的老师和学生们。
本书在编写过程中参考了一些书籍及文献资料,在此谨向被引用资料的作者表示感谢。
本书既可以作为高等院校计算机科学与技术、软件工程、电子信息科学、信息安全、信息管理与信息系统、信息与计算科学等专业本科生的数据库课程的教材,还可以供从事信息领域工作的科技人员及其他人员参阅。
在本书的编写过程中,编者尽可能引入新的技术和方法,力求反映当前的技术水平和未来的发展方向,但由于编者水平有限,书中难免存在不足之处,敬请广大读者批评指正。
编者
2018年3月
数据库设计
【本章主要内容】
1. 简述数据库设计的特点、方法和步骤。
2. 详细介绍数据库设计各阶段的任务及方法。
3. 重点讲述概念结构设计和逻辑结构设计的方法和步骤。
上一章介绍的关系模式的规范化设计理论为数据库设计提供了理论指南和工具,本章主要讨论基于关系数据库管理系统的关系数据库设计问题。首先概述数据库设计的特点、方法及步骤; 然后详细介绍数据库设计各阶段的任务及方法,通过实例重点讲解概念结构设计和逻辑结构设计的具体方法; 最后阐述如何对已设计的数据库进行实施和维护。
5.1数据库设计概述
随着计算机技术及通信技术的发展,信息时代悄然而至,为了充分开发和利用信息资源,实现对大量信息的识别、存储、处理与传播,20世纪60年代末数据库技术应运而生,目前已广泛应用于各个领域。
数据库技术主要研究如何科学地组织和存储数据,如何高效地获取和处理数据,数据库设计是数据库技术的核心内容。本书第1章已介绍了数据库相关的基本概念。数据库系统是指引入数据库的计算机系统,主要包括系统相关硬件、数据库、数据库管理系统及其开发工具、应用系统、数据库管理员和用户,因此数据库系统的设计包括数据库的设计和数据库应用系统的设计。数据库设计是指设计数据库的结构特性,即为特定的应用环境构造最优的数据模型; 数据库应用系统的设计是指设计出满足各种用户对数据库应用需求的应用程序,用户通过应用程序来访问和操作数据库。
综上所述,数据库设计是在给定的应用环境下,利用现有的数据库管理系统,构建优化的数据库逻辑模式和物理结构,并建立数据库及其应用系统,使应用系统能够有效地存储和管理数据,满足系统内各类用户的应用需求。
本章主要讨论基于关系数据库管理系统的关系数据库设计问题,关于数据库应用系统设计的相关问题,本书第10章通过一个完整的应用实例进行了详细论述。
5.1.1数据库设计的特点
数据库设计是整个数据库系统设计的基础,数据库设计的优劣直接影响数据库系统的质量和运行效果。因此,设计一个结构优化的数据库是对数据进行有效管理的前提和正确利用信息的保证。数据库设计的过程贯穿于数据库应用系统从设计、实施到运行与维护的全过程,具有区别于一般应用系统设计的一些特点,主要表现在两个方面。
1. 数据库设计过程复杂(技术和管理相结合)
数据库设计是设计数据库本身,即根据用户的需求,在某一具体的数据库管理系统中设计数据库的结构和建立数据库的过程。现实世界中的信息要进入机器世界的数据库中,需要数据库设计人员经过认识、理解、抽象、整理、规范和加工等一系列复杂的工作。在设计过程中,现实世界中的信息需要经过客观世界信息世界数据世界的二级抽象形成计算机世界中的数据结构,从用户的应用需求入手,伴随着数据库设计的不同阶段形成数据库的各级模式。如在需求分析阶段综合各个用户的应用需求; 在概念结构设计阶段形成独立于机器特点、独立于各个关系数据库管理系统产品的概念模式,本章中概念模式用ER图描述; 在逻辑结构设计阶段将ER图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式; 然后根据用户处理的要求及安全性的考虑,在基本表的基础上再建立必要的视图,形成数据的外模式; 在物理结构设计阶段,根据关系数据库管理系统的特点和处理的需要进行物理存储安排,建立索引,形成数据库内模式。
在上述复杂的设计过程中,既包含计算机专业知识又包含应用系统的专业知识,数据库设计工作需要同时解决技术及非技术两方面的问题。由于同时具备数据库和业务两方面知识的人很少,因此,数据库设计者一般都需要花费相当多的时间去熟悉应用业务系统知识,这一过程很繁杂,应用环境中的业务人员不了解计算机具体可以解决哪些问题,因此与之沟通需要极大的耐心,有时会使设计人员产生厌烦情绪,从而影响数据库设计工作的顺利完成。同时,应用系统中已有的部分原始基础数据由于计量等方面的因素并不准确,因此不能够直接取用,需要核实其准确性,这项工作也存在较大的困难。
综上分析,数据库设计工作过程复杂,需要面对许多困难,因此既要注重技术开发还要注重组织管理,才能顺利开展并完成设计工作。
2. 结构(数据)设计和行为(处理)设计相结合
数据库的结构设计是指数据库的模式结构设计,包括概念结构设计、逻辑结构设计和物理存储结构设计; 行为设计是指应用程序设计,包括功能结构、程序流程控制等方面的设计。在传统的软件工程中,比较注重处理过程的设计,不太注重数据结构的设计。早期的数据库应用系统开发过程中,常常把数据库设计和应用系统的设计分离开来。随着数据库设计理论的成熟和结构化分析与设计方法的普及,人们逐步认识到数据库系统设计的过程,应该是结构设计与行为设计从分离设计到相互参照直至完美统一的过程,这样可以缩短数据库的设计周期,提高数据库应用系统的设计效率。
如前所述,数据库系统的设计包括数据库设计和数据库应用系统设计,数据库是为应用系统服务的,良好的数据库设计应该能满足应用系统的业务需求,满足各种用户的需求,同时与应用系统的行为设计相结合。即在整个数据库系统设计过程中要把数据库结构设计和对数据的功能处理设计密切结合起来。合理的数据库系统设计的基本过程如图51所示。图中主要体现数据库结构设计和系统功能处理设计从分离设计到最终结合的总体过程,省略了相互参照及反复探询的迭代过程细节。
图51数据库系统设计的过程
5.1.2数据库设计方法
为了设计出符合具体领域要求的数据库及其应用系统,多年来数据库设计人员经过不断的努力和探索,提出了各种数据库设计方法。
目前常用的各种数据库设计方法都属于规范设计法,即都是运用软件工程的思想与方法,根据数据库设计特点,提出各种设计准则与设计规范。其中的新奥尔良(New Orleans)方法是目前公认的比较完整和权威的一种规范设计法。这种方法将数据库设计分为四个阶段: 需求分析、概念结构设计、逻辑结构设计和物理结构设计。常用的规范设计方法大多起源于新奥尔良法,并在设计的每一阶段采用一些辅助方法来具体实现,如基于ER模型的数据库设计方法、基于3NF的数据库设计方法、基于视图的数据库设计方法等。规范设计方法从本质上来说仍然是手工设计方法,其基本思想是过程迭代和逐步求精。
计算机辅助设计法是指在数据库设计的某些过程中模拟某一规范化设计的方法,并以人的知识或经验为主导,通过人机交互方式实现设计中的某些部分。目前许多计算机辅助软件工程(Computer Aided Software Engineering,CASE)工具已经实用化和产品化,可以自动或辅助设计人员完成数据库设计过程中的很多任务,已经普遍地用于大型数据库设计之中。如Sybase公司的Power Designer和Oracle公司的Design 2000等。
除了上述广泛应用的规范设计法及计算机辅助设计法外,还有早期的直观设计法及最新的自动化设计法等,由于较少使用,这里不再细述。
5.1.3数据库设计的基本步骤
一般的应用系统软件开发过程包括问题定义、可行性研究、需求分析、系统设计、编码、测试及维护等阶段,对于需要使用数据库的应用系统,软件开发人员应该在需求分析阶段所确定的系统数据需求的基础上,进一步设计数据库。考虑数据库及其应用系统开发的全过程,按照数据库设计的规范化方法,数据库设计的基本步骤可大致分为六个阶段,如图52所示,每个阶段各有其明确的设计任务。
1. 需求分析阶段
需求分析是数据库设计的第一步,需求分析是整个设计过程的基础,需要对目标系统提出完整、准确、清晰、具体的要求,是最困难和最耗费时间的一步。
数据库设计人员(系统分析员)和用户双方共同收集与分析数据库所需要的信息,准确了解用户对系统的需求,弄清系统要达到的目标和实现的功能,并以需求规格说明书的形式确定下来,作为以后系统开发和验证的依据。
2. 概念结构设计阶段
概念结构设计是整个数据库设计的关键。概念结构设计是数据库设计人员根据需求分析阶段获得的用户需求(包括数据流图和数据字典等)进行综合、归纳与抽象,形成反映应用系统信息需求的数据库概念结构,即概念模型。概念模型独立于计算机硬件结构,独立于DBMS。
3. 逻辑结构设计阶段
逻辑结构设计是将概念结构转换为某个DBMS所支持的数据模型,并依据规范化理论对其进行优化。
4. 物理结构设计阶段
物理结构设计是为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。
数据库的物理结构与具体的DBMS有关,数据库物理设计的任务是使数据库的逻辑结构在物理设备上得以实现,建立一个性能优良的数据库物理结构。
评论
还没有评论。