数据库原理与设计(第2版)(工业和信息化普通高等教育“十二五”规划教材)(txt+pdf+epub+mobi电子书下载)


发布时间:2020-08-14 02:40:33

点击下载

作者:杨海霞(主编)

出版社:人民邮电出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

数据库原理与设计(第2版)(工业和信息化普通高等教育“十二五”规划教材)

数据库原理与设计(第2版)(工业和信息化普通高等教育“十二五”规划教材)试读:

第2版前言

数据库技术一直是计算机科学技术中发展最快和应用最广的技术之一,但长期以来,数据库作为计算机及其相关专业的一门课程,其教学一直处于以理论为主的状态,致使教师感觉抽象难教,学生认为枯燥难学。究其原因,主要是由于单纯地讲解理论,不能把数据库的理论知识依托于一个具体的平台来就事论理。只有把数据库原理与实际的应用开发有机结合,增强学生实践动手能力,才能培养出真正满足社会需求的数据库技术人才。正是在此动机推动下,笔者根据多年的教学及项目开发的实际经验,有感而发,写成此书。

本教材于 2002年开始以讲义的形式在校内使用,2006年与该教材配套的《数据库实验指导》被评为国家级“十一五”规划教材,2007年该套书正式出版,经过 6年的实际使用,在征求教师建议和听取学生意见的基础上,考虑到数据库技术的发展与进步,现已完成《数据库原理与设计(第2版)》的修订。《数据库原理与设计(第2版)》在第1版的基础上,做了如下补充与修改。(1)更新了环境。数据库管理系统更新为 SQL Server 2008 版;数据库设计工具采用 Power Designer 15.2 版。(2)增加了内容。在每一章前面都加了“知识结构”和“任务驱动”两个栏目。知识结构图让读者从理论上理清知识脉络,任务驱动通过设计完成具体的任务让读者享受探究的乐趣。(3)调整了编写思路。采用即学即用的思想,每个知识点先做理论介绍,接着就是具体操作案例,使理论教学与实验教学环环紧扣,浑然一体,增强了教材的实用性。(4)整合了内容。为了与《数据库实验指导(第2版)》(第1版被评为普通高等教育“十一五”国家级规划教材)一书配套,采用循序渐进,步步深入的方法,从数据库→表→表查询→设计数据库→管理数据库→应用系统开发,由点及面,加强了教材的系统性。(5)删减了部分内容。考虑到与《数据库实验指导(第2版)》的配套使用,为节省篇幅,删去了“数据库建模工具”一节,但在实验指导书中仍保留该节的详细内容。

本教材分 7 章来完成数据库课程的教学内容,具体教学安排情况见下表。其中,第 7 章及配套实验教材的训练篇和实例篇,教师可根据实际教学具体情况予以调整。

与其他同类教材相比,本书具有以下特点。(1)理论依托于具体软件,以感性认识固化理性认识。

本书以 SQL Server 2008 作为数据库管理系统,以 Power Designer 为设计工具,把数据库的基本概念、基本理论和基本技术及数据库的设计贯穿于一个学籍管理实例中,通过详尽的分析,使学生感性认识数据库,从而加深对数据库理论知识的理解。(2)循序渐进,步步深入,形成由点及面到体的体系结构。

本书从数据库的基本知识开始,首先讲解每个数据库对象的基本功能和基本操作,然后应用前面的知识进行学籍管理数据库的设计,从中领会数据库的设计技巧,最后介绍数据库的访问技术和维护技术,完成学籍管理实例,形成了由点及面到体的体系结构。(3)注重应用,丰富实例,精编实验指导教程。

为加强学生的实际操作能力,精心编写了配套的实验指导书,通过基础篇、提高篇、设计篇、训练篇和实例篇五部分的训练,由点及面,层次分明,使理论教学与实验教学环环紧扣,既方便教师教学,又有助于学生学习,具有很强的实用性。(4)设置知识结构图和任务驱动,强化知识脉络。

用知识结构图的形式呈现每章知识点,将孤立的知识点连成线,引导学生将所学知识系统化,从而理清知识脉络;通过任务驱动,把每个知识点又分解到一个具体软件的应用操作中,让学生通过自主练习,享受探究知识的乐趣。

下面是作者的几点建议,仅供安排与组织教学时参考。(1)应该先开设程序设计类课程和简单的网页制作课程,尤其是面向对象程序设计语言。建议将《数据库原理与设计》(第2版)和《数据库实验指导》(第2版)配合使用。(2)建议该课程的教学环境为多媒体环境,系统为 Windows XP、SQL Server 2008 以上版本。(3)有条件的学校可安排课程设计,学生可以分小组练习实训篇的内容,并将此成绩作为本课程成绩的一部分。

本书语言通俗易懂,既有理论的概括与探讨,又有实际的经验方法的总结,本书可作为高等学校计算机、信息及相关专业的数据库课程教科书。为便于教师进行教学,书中的源程序代码和教学用的 PPT 文件,请登录人民邮电出版社教学服务与资源网:http://www.ptpedu.com.cn,从网上下载。

本书由杨海霞、相洁、南志红、任菊香、殷鹏、杨潞霞、赵宇兰编写。其中,第 1 章由杨潞霞编写,第 2章由赵宇兰编写,第 3章由殷鹏编写,第4章由杨海霞编写,第 5章、附录A和附录B由相洁编写,第6章由任菊香编写,第7章由南志红编写。全书由杨海霞统稿,张永奎审阅。在编写过程中得到了徐仲安教授、杨继平教授、石冰教授、樊东燕教授、王建珍教授的支持与帮助,同时,本书的出版还得到了山西财经大学、太原理工大学等高校教师的大力支持,在此一并致以衷心的感谢。

由于作者水平有限,书中难免存在疏漏、欠妥之处,敬请读者批评指正。编者2013年7月第1章认识数据库

知识结构·理清知识脉络

任务驱动·享受探究乐趣

任务1 理解数据库相关概念及数据库的作用。

任务2 了解数据管理技术的发展阶段及各阶段的特点。

任务3 理解并掌握数据库体系的三级模式结构、两级映像及其作用。

任务4 理解 SQL 语言并掌握 SQL 语言的语句结构。

任务5 创建学籍管理数据库,并会对其进行修改、删除、备份与还原操作。

任务6 使用 SSMS 管理数据库,包括数据库的附加与分离、脱机与联机、收缩等操作。

数据库技术是现代信息科学与技术的重要组成部分,是计算机数据处理与信息管理系统的核心。随着数据库技术的发展,其应用已深入到工农业生产、商业、金融、行政管理、科学研究、工程技术、国防和军事等各个领域,成为信息管理、办公自动化、计算机辅助决策、计算机辅助设计、智能信息处理等计算机应用系统的核心部分。作为计算机软件学科中的一个十分活跃而重要的独立分支,数据库技术已形成了一整套的理论与技术体系。

本章将从数据管理技术的发展着手,比较详细地介绍数据库系统的基本知识。1.1 数据管理技术的发展1.1.1 数据处理技术

1.数据库的基础概念(1)数据(Data)

数据就是对客观事物反映的一种物理符号,可以是数字、文字、图形、图像、声音、语言和视频等。这些多种形式的数据都需经过数字化后才能存入计算机。(2)数据处理(Data Processing)

数据处理是指对各种形式的数据进行收集、整理、存储、分类、排序、检索、加工、统计和传输等一系列活动的总和。(3)数据库(DataBase,DB)

数据库是长期存储在计算机设备上结构化的、可共享的相关数据的集合。它不仅包括描述事物的数据本身,而且还包括相关事物之间的联系。(4)数据库系统(DataBase System,DBS)

数据库系统是指计算机系统引入数据库后,利用数据库技术进行数据管理的计算机系统。它一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员(DataBase Administrator,DBA)和用户构成。在不引起混淆的情况下人们常常把数据库系统简称为数据库。(5)数据库管理系统(DataBase Management System,DBMS)

数据库管理系统是一个介于用户和操作系统之间的一层数据管理软件,是数据库系统中的一个重要的组成部分,可以帮助用户建立、使用和维护数据库。目前,广泛使用的大型数据库管理系统有 Oracle、Sybase 等,小型数据库管理系统有 SQL Server、Visual FoxPro、Access 等。

2.数据处理技术

数据处理技术一般包括两部分内容:数据管理和数据处理。

数据管理是指对数据的收集、整理、组织、存储、维护、检索、传送等操作过程。数据处理是指对数据进行收集、存储、加工、传播等一系列活动的总和,其基本目的是从大量的、杂乱无章的、难以理解的数据中抽取并导出对于某些特定的应用来说是有价值的、有意义的数据,借以作为决策的依据。可见,数据管理是任何数据处理业务中必不可少的部分,是数据处理的中心问题。

从根本上说,数据处理是借助于计算机科学地保存和管理大量复杂的数据,使人们充分而高效地利用这些宝贵的信息资源。1.1.2 数据库技术的发展阶段

在数据的处理过程中,对于不同的业务部门其对数据的加工、计算、打印报表等操作可能有不同的内容需求。数据库技术正是应数据管理任务的需求而产生的。数据库技术研究的问题就是如何科学地组织和存储数据,如何高效地获取和处理数据。

随着计算机技术及应用的发展,人们对数据管理技术也不断提出了更高的要求,其先后经历了从低级到高级的3个阶段,即人工管理阶段、文件系统阶段和数据库系统阶段。

1.人工管理阶段

20世纪50年代中期前,从计算机硬件看,外存储器只有磁带、卡片和纸带,没有磁盘;从软件看,没有操作系统,该阶段的计算机系统还没有支持管理数据的软件,主要应用于科学计算。人工管理阶段的特点如下。(1)数据不长期保存在计算机里,用完就删除。(2)使用应用程序管理数据。(3)数据不共享,一个程序对应一组数据,存在大量的重复数据。(4)数据不具有独立性,应用程序和数据之间的关系如图1-1所示。

2.文件系统阶段

20世纪50年代后期至60年代中期,计算机不仅用于科学计算,而且开始用于数据处理工作。从硬件来看,外存储器有了磁盘、磁鼓等直接存取的存储设备,软件方面有了操作系统,在操作系统中已经有了专门的管理数据的软件——文件系统。这一阶段的特点如下。(1)数据能够以文件的形式长期保留在外存上,可以反复对其进行查询、修改、插入和删除等操作。(2)由文件系统管理数据的输入和输出,程序和数据能够分离,有了一定的独立性,应用程序和数据之间的关系如图1-2所示。(3)数据能够共享,但数据文件之间彼此孤立,数据之间的联系弱,数据大量冗余。(4)数据没有独立性。图1-1 人工管理阶段应用程序与数据之间的对应关系图1-2 文件系统阶段应用程序与数据之间的对应关系

3.数据库系统阶段

20世纪60年代后期,计算机硬件和软件技术有了较大发展,出现了大容量直接存取设备。计算机在企业管理中的广泛应用,对数据管理提出了更高的要求。为了实现数据的统一管理,达到数据共享的目的,产生了数据库技术。其满足了多用户、多应用共享数据的需求,与人工管理阶段、文件系统阶段相比,这一阶段的特点如下。(1)数据结构化。(2)数据的共享性高,冗余度低、易于扩充。(3)数据的独立性高。(4)数据由DBMS统一管理和控制,应用程序和数据之间的关系如图1-3所示。图1-3 数据库系统阶段应用程序与数据的对应关系

⑤为用户提供友好接口。1.1.3 数据库技术的新进展

数据库技术是计算机科学技术中发展最快的分支之一。20世纪70年代以来,数据库系统从第一代的网状和层次数据库系统发展到第二代的关系数据库系统。目前现代数据库系统正向着第三代的面向对象数据库系统发展,并与网络技术、分布式计算、面向对象程序设计技术相结合。

1.数据库技术的发展(1)第一代数据库系统

第一代数据库系统为网状和层次数据库系统。1969年IBM 公司开发了基于层次模型的信息管理系统(Information Management System,IMS)。20世纪60年代末至 70年代初,美国数据系统语言委员会(Conference on Data Systems Languages,CODASYL)下属的数据库任务组(DataBase Task Group,DBTG)提出了若干报告(DBTG报告)。该报告确定并建立了网状数据库系统的许多概念、方法和技术。正是基于上述报告,Cullinet Software开发了基于网状模型的产品IDMS(Information Data Management System),IMS和IDMS这两个产品推动了网状和层次数据库系统的发展。(2)第二代数据库系统

第二代数据库系统为关系数据库系统。1970年IBM公司研究员E.F.Codd发表的关于关系模型的论文推动了关系数据库系统的研究和开发。尤其是关系数据库标准语言——结构化查询语言(SQL)的提出,使关系数据库系统得到了广泛的应用。20世纪80年代以来,数据库软件厂商新推出的数据库管理系统几乎都支持关系模型,非关系系统的产品也都加上了关系接口。数据库领域当前的研究工作也都是以关系方法为基础。关系数据库已成为目前应用最广泛的数据库系统,如现在广泛使用的小型数据库系统 Foxpro、Access,大型数据库系统 Oracle、SQL Server、Informix、Sybase等都是关系数据库系统。(3)第三代数据库系统

第三代数据库系统为支持面向对象(Object Oriented,OO)数据模型的数据库系统。20世纪90年代,随着数据库系统应用的范围进一步扩大,数据库所处理对象的复杂性和灵活性对数据库系统提出了越来越高的要求。例如多媒体数据、CAD数据、图形图像数据需要更好的数据模型来表达,以便存储、管理和维护。面向对象数据模型能完整地描述现实世界复杂的数据结构,并具有封装性和继承性等面向对象技术的优点。正是在这种形势下,产生了面向对象的数据库系统。

2.数据库技术的新发展

随着计算机应用领域的不断拓展,数据库的应用越来越广泛,数据库技术的研究取得了重大突破。各种学科技术与数据库技术有机结合,使数据库领域中新内容、新应用、新技术层出不穷,形成了各种新型的数据库系统。如面向对象数据库系统、分布式数据库系统、知识数据库系统、模糊数据库系统、并行数据库系统、多媒体数据库系统等。(1)分布式数据库系统(Distributed DataBase System,DDBS)

分布式数据库系统是在集中式数据库系统的基础上发展起来的,是计算机技术和网络技术结合的产物。分布式数据库系统是由一组数据组成的,这些数据分布在计算机网络的不同节点(亦称场地)上,逻辑上是属于同一系统的。这种物理上分散而逻辑上集中的数据库系统适用于单位分散的部门,允许单位各个部门将其常用的数据存储在本地,实施就地存放本地使用,从而提高响应速度,降低费用。(2)并行数据库系统

并行数据库系统是并行技术与数据库技术结合的产物,是在并行机上运行的具有并行处理能力的数据库系统,是新一代高性能的数据库系统,具有数据库操作的时间并行性和空间并行性。并行数据库技术起源于20世纪70年代,主要是研究利用硬件实现关系代数操作的并行化。20世纪80年代后,逐步转向通用并行机的研究。20世纪90年代以后,迅猛发展的存储技术、网络技术和通用并行计算机技术,为并行数据库技术的研究奠定了基础。最近几年,以通用并行计算系统为基础的并行数据库系统研究出现了高潮。很多研究者认为,在具有数百个甚至上千个处理机的并行计算机上建立并行数据库系统是可行的。(3)主动数据库系统

主动数据库系统是相对于传统数据库的被动性而言的。它是在传统数据库的基础上,结合人工智能技术研制和开发的主动数据库。主动数据库除了完成一切传统数据库的服务外,还具有各种主动服务功能的数据库系统。(4)模糊数据库系统

模糊性是客观世界的一个重要属性,传统的数据库系统描述和处理的是精确的或确定的客观事物,不能描述许多模糊性和不具完全性的事情。

模糊数据库能够存储模糊数据,而且数据结构、数据联系也是模糊的,数据上的运算和操作、对数据的约束(包括完整性和安全性)、数据的一致性、无冗余性的定义等都是模糊的。

模糊数据库研究主要有两方面,首先是如何在数据库中存放模糊数据;其次是定义各种运算,建立模糊数据上的函数。模糊数的表示主要有模糊区间数、模糊中心数、模糊集合数和隶属函数等。由于理论和实现技术上的困难,模糊数据库技术近年来发展不是很理想,但已在模式识别、过程控制、案情侦破、医疗诊断、工程设计、营养咨询、公共服务以及专家系统等领域得到较好的应用,显示了广阔的应用前景。(5)空间数据库系统

随着地理信息系统(GIS)的发展,传统的数据模型已经不足以表示空间数据,空间数据库技术逐渐取代原来数据库技术,存储与管理GIS应用中的空间数据。

空间数据库的研究始于20世纪70年代的地图制图与遥感图像处理领域,其目的是为了有效地利用卫星遥感资源迅速绘制出各种经济专题地图。由于传统的关系数据库在空间数据的表示、存储、管理、检索上存在许多缺陷,从而形成了空间数据库这一数据库研究领域。随着计算机技术的发展,目前空间数据库的应用范围已经扩展到了机器人、计算机视觉、图像识别、环境保护、地理信息处理等领域。(6)多媒体数据库系统

随着计算机辅助设计、计算机辅助制造等计算机应用技术的不断发展,许多复杂的应用对象中涉及大量的图形、图像、声音、动画等多媒体数据类型。由于数据需求量不断增加,数据量越来越大,数据操作的困难也在不断增加,因此人们有必要寻找到一种较完善的解决办法,在这种形势下,多媒体数据库作为一种强大的多媒体数据处理技术出现了。

多媒体数据库系统应提供比传统数据库管理系统更强的适合非格式化数据查询的搜索功能,允许对非格式化数据做整体和部分搜索,允许通过范围、知识和其他描述符的确定值和模糊值搜索各种媒体数据,允许同时搜索多个数据库中的数据,允许通过对非格式化数据的分析建立图示等索引来搜索数据,允许通过举例查询(QuerybyExample)和通过主题描述查询使复杂查询简单化。

多媒体数据库系统目前仍然还是处于研究、发展阶段,目前还没有成熟的多媒体数据库管理系统推出。1.2 数据库系统

数据库系统是对数据进行存储、管理、处理和维护的计算机软件系统。这类系统在硬件上要求有较大的外存容量和 I/O 处理速度等硬件资源,在软件上要求有数据库管理系统(DBMS)的支持,以及DBMS能够正常运行的操作系统。1.2.1 数据库系统的组成

数据库系统是指带有数据库并利用数据库技术进行数据管理的计算机系统。一般由5部分构成:数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员(DataBase Administrator,DBA)和用户。

数据库系统可以用图1-4表示。其中,应用系统实际是指用户应用程序,是由系统开发人员使用开发工具,利用数据库系统资源开发出来的,面向某一类实际应用问题的应用软件系统,例如图书管理系统、人事管理系统等;数据库管理员是负责管理和维护数据库服务器的人员;用户则是在数据库系统中具有使用数据库应用系统软件权限的部门或人员。图1-4 数据库系统

这里需要注意的是:数据库、数据库管理系统和数据库系统是3个不同的概念。数据库强调的是相互关联的数据;数据库管理系统强调的是管理数据库的系统软件;而数据库系统强调的是基于数据库技术的计算机系统,它包含数据库、数据库管理系统、操作系统、应用软件、硬件系统、数据库管理员、最终用户和开发人员等。1.2.2 数据库系统的模式结构

1.数据库系统的三级模式结构

从数据库管理角度看,数据库系统通常采用三级模式结构。这三级模式结构是指数据库系统是由外模式、模式和内模式三级构成的,如图1-5所示。图1-5 数据库系统的模式结构(1)外模式

外模式也称子模式或用户模式,它是对数据库用户(包括应用程序员和最终用户)看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。

外模式通常是模式的子集。一个数据库通常可以有多个外模式。由于它是各个用户的数据视图,如果不同的用户在应用需求、看待数据的方式、对数据保密的要求等方面存在差异,则他们的外模式描述就是不同的。即使是模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同。另一方面,同一外模式也可以为某一用户的多个应用系统所使用,但一个应用程序只能使用一个外模式。

外模式是保证数据库安全性的一个有力的措施。每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据对他们来说是不可见的。(2)模式

模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式是相对稳定的,模式的一个具体的值称为模式的一个实例(Instance)。同一个模式可以有很多实例。实例反映的是数据库某一时刻的状态。模式是数据库系统模式结构的中间层,不涉及数据的物理存储细节和硬件环境,与具体的应用程序、所使用的应用开发工具及高级程序设计语言无关。

模式实际上是数据库中的数据在逻辑上的视图。一个数据库只有一个模式。数据库模式以某一种数据模型为基础,统一综合地考虑了所有用户的需求,并将这些需求有机地结合成一个逻辑整体。定义模式时不仅要定义数据的逻辑结构(例如,数据记录由哪些数据项构成,数据项的名字、类型、取值范围等),而且要定义与数据有关的安全性、完整性要求,定义这些数据之间的联系。(3)内模式

内模式也称存储模式,它是数据物理结构和存储结构的描述,是数据在数据库内部的表示方式。例如,记录的存储方式是顺序存储、按照B树结构存储还是按散列(hash)方法存储,索引按照什么方式组织;数据是否压缩存储、是否加密,数据的存储记录结构有何规定等。

一个数据库只有一个内模式。内模式是最低层,反映了数据在计算机物理结构中的实际存储形式。

2.数据库的二级映像功能与数据独立性

数据库系统的三级模式是数据在3个层次(用户层、概念层和物理层)的抽象,它把数据的具体组织留给DBMS管理,使用户能逻辑地、抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式。而为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像。正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。(1)外模式/模式映像

模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。对应于同一个模式可以有任意多个外模式。对于每一个外模式,数据库系统都有一个外模式/模式映像,它定义了该外模式与模式之间的对应关系。这些映像定义通常包含在各自外模式的描述中。当模式改变时(例如,增加新的数据类型、新的数据项、新的关系等),由数据库管理员对各个外模式/模式映像做相应改变,可以使外模式保持不变,从而不必修改应用程序,保证了数据的逻辑独立性。(2)模式/内模式映像

数据库中只有一个模式,也只有一个内模式,所以模式/内模式映像是唯一的,它定义了数据全局逻辑结构与存储结构之间的对应关系。例如,说明逻辑记录和字段在内部是如何表示的,该映像定义通常包含在模式描述中。当数据库的存储结构发生改变时(例如,采用了更先进的存储结构),由数据库管理员对模式/内模式映像做相应改变,可以使模式保持不变,从而保证了数据的物理独立性。

3.设计三级模式结构的关键问题

在数据库的三级模式结构中,数据库模式(即全局逻辑结构)是数据库的中心与关键,它独立于数据库的其他层次。因此设计数据库模式结构时应首先确定数据库的逻辑模式。

数据库的内模式依赖于它的全局逻辑结构,但独立于数据库的用户视图(即外模式),也独立于具体的存储设备。它将全局逻辑结构中所定义的数据结构及其联系按照一定的物理存储策略进行组织,以达到较好的时间与空间效率。

数据库的外模式面向具体的应用程序,它定义在逻辑模式之上,但独立于存储模式和存储设备。当应用需求发生较大变化,相应外模式不能满足其视图要求时,该外模式就得做相应改动,所以设计外模式时应充分考虑到应用的扩充性。特定的应用程序是在外模式描述的数据结构上编制的,它依赖于特定的外模式,与数据库的模式和存储结构独立。不同的应用程序有时可以共用同一个外模式。数据库的二级映像保证了数据库外模式的稳定性,从而从底层保证了应用程序的稳定性,除非应用需求本身发生变化,否则应用程序一般不需要修改。

4.数据库系统所需人员与三级模式结构的匹配

一个完整的数据库系统,除了软、硬件配置以外,还需要各级各类人员进行开发、管理和维护,这些人员分别是:数据库管理员(Data Base Administrator,DBA)、系统分析员、数据库设计人员、应用程序员和最终用户。不同的人员涉及不同的数据抽象级别,具有不同的数据视图,如图1-6所示,其各自的职责如下。图1-6 各种人员的数据视图(1)数据库管理员

在数据库系统环境下,有两类共享资源。一类是数据库,另一类是数据库管理系统软件。因此需要有专门的管理机构来监督和管理数据库系统。数据库管理员则是这个机构的一个(组)人员,负责全面管理和控制数据库系统。

在数据运行过程中,不断会有数据的插入、删除、修改,时间一长,会影响系统的性能。因此,数据库管理员要定期对数据库进行重组织,以提高系统的性能。

当用户的需求增加和改变时,数据库管理员还要对数据库进行较大的改造,例如,修改部分设计,进行数据库的重构。(2)系统分析员和数据库设计人员

系统分析员负责应用系统的需求分析和规范说明,要和用户及数据库管理员相沟通,确定系统的硬件、软件配置,并参与数据库系统的概要设计。

数据库设计人员负责数据库中数据的确定、数据库各级模式的设计。数据库设计人员必须参加用户需求调查和系统分析,然后进行数据库设计。在很多情况下,数据库设计人员就由数据库管理员担任。(3)应用程序员

应用程序员负责设计和编写应用系统的程序模块,并进行调试和安装。(4)用户

这里的用户是指最终用户(End User)。最终用户通过应用系统的用户接口使用数据库。常用的接口方式有浏览器、菜单驱动、表格操作、图形显示、报表书写等,给用户提供简明直观的数据表示。1.2.3 数据库系统的体系结构

从最终用户角度来看,数据库系统分为单用户结构、主从式结构、分布式结构和客户机/服务器结构。

1.单用户数据库系统

单用户数据库系统是最简单的一种数据库系统。在这种系统中,整个数据库系统,包括应用程序、数据库管理系统、数据,都装在一台计算机上,由一个用户独占,不同计算机之间不能共享数据,这样,势必存在大量的数据冗余。

2.主从式结构的数据库系统

主从式结构是指一台主机带多台终端的多用户结构。在这种结构中,数据库系统(包括应用程序、数据库管理系统、数据)都存放在主机上,所有处理任务都由主机来完成,终端不分担主机的任何处理功能,仅仅是人机交互的设备。用户通过终端并发地访问数据库,共享数据资源,如图1-7所示。图1-7 主从式结构的数据库系统

主从式结构的优点如下。(1)在存储设备上可以处理大量数据,易于管理和维护。(2)安全性好。(3)可以支持许多并发用户。

其缺点是购买和维持这样的大型或中型计算机的投资太大,并且由于所有资源和处理集中于主机,当终端用户数量增加到一定程度时,主机的任务会过分繁重,成为瓶颈,从而使系统性能急剧下降;另外当主机出现故障时,整个系统都不能使用,因此系统的可靠性不高。

3.分布式结构的数据库系统

分布式结构的数据库系统是指数据库中的数据在逻辑上是一个整体,但在物理上分布在计算机网络的不同节点上,如图1-8所示。网络中的每个节点都可以独立地处理本地数据库中的数据,执行局部应用;同时也可以存取和处理多个异地数据库中的数据,执行全局应用。图1-8 分布式数据库系统

分布式结构的数据库系统可以满足地理上分散的公司、团体和组织对于数据库应用的需求。但数据的分布存放给数据的处理、管理与维护带来困难。此外,当用户需要经常访问远程数据库时,系统效率会明显地受到通信网络的制约。

4.客户/服务器结构的数据库系统

将数据库管理系统功能和应用分开,网络中某个(些)节点上的计算机专门用于执行数据库管理系统功能,称为数据库服务器,简称服务器;其他节点上的计算机(微型计算机或工作站)安装数据库管理系统的外围应用开发工具,支持用户的应用,称为客户机,这就是客户/服务器结构的数据库系统。

在客户/服务器结构中,客户端的用户请求被传送到数据库服务器,服务器进行处理后,只将结果返回给用户,从而显著减少了网络上的数据传输量,提高了系统的性能、吞吐量和负载能力。

另一方面,客户机与服务器一般都能在多种不同的硬件和软件平台上运行,可以使用不同厂商的数据库应用开发工具,应用程序具有更强的可移植性,同时也减少软件维护的开销。

客户/服务器数据库系统可分为集中的服务器结构(如图1-9所示)和分布的服务器结构。前者在网络中只有一台数据库服务器,而后者有多台数据库服务器。分布的服务器结构是客户/服务器与分布式数据库系统的结合。图1-9 集中的服务器结构

5.浏览器/服务器结构的数据库系统

浏览器/服务器系统(B/S系统)通常也称为浏览器系统。浏览器系统的数据库和应用程序都运行在服务器上,客户端就是一个浏览器。用户只要使用浏览器(如IE)软件就可以访问服务器上的数据库系统,也就是说,用户仅使用通用的浏览器就可以实现原来需要复杂的专用软件才能实现的强大功能。

浏览器系统的优点如下。(1)系统维护较容易,对于应用程序和数据库的维护更新只在服务器上进行。(2)只要Internet是连通的,客户端可以在世界的任何地方。

其缺点是一方面由于应用程序和数据库都在服务器上运行,因此系统对服务器的要求较高;另一方面,由于系统在Internet环境中开发,因此系统的安全性问题也较多。1.3 SQL Server 数据库管理系统

一个好的数据库系统的开发主要包括数据库设计和数据库应用程序的开发,其中数据库的设计是数据库应用系统的核心和关键,在以后的章节会详细介绍;如何科学地组织和存储数据、如何高效地获取和维护数据,数据库管理系统很好地回答了这一问题,简而言之,数据库管理系统是为管理数据库而设计的软件系统,具有代表性的数据管理系统有 Oracle、Microsoft SQL Server、MySQL及PostgreSQL等。通常数据库管理员会使用数据库管理系统来建立数据库系统。

数据库管理系统的主要功能包括以下几个方面。(1)数据定义功能

DBMS提供数据定义语言(Data Definition Language,DDL),用户通过 DDL 可以方便地对数据库中的数据对象进行定义,同时可以定义数据库的三级结构、两级映像,定义数据的完整性约束、保密限制等约束。因此,在DBMS中应包括DDL的编译程序。(2)数据操纵功能

DBMS提供数据操纵语言(Data Manipulation Language,DML),用户可以通过 DML 实现对数据库中数据的基本操作,如查询、插入、删除和修改等。(3)数据库的保护功能

数据库中的数据是信息社会的战略资源,对数据的保护是至关重要的大事。DBMS对数据库的保护主要通过数据库的恢复、数据库的并发控制、数据库的完整性控制、数据库的安全性控制4个方面实现。(4)数据库的存储管理

DBMS的存储管理子系统提供了数据库中数据和应用程序的一个界面,其职责是把各种DML语句转换成低层的文件系统命令,起到数据的存储、检索和更新的作用。(5)数据库的维护功能

DBMS中实现数据库维护功能的实用程序主要有数据加载程序、备份程序、文件重组程序、性能监控程序。(6)数据字典(Data Dictionary,DD)

数据库系统中存放三级结构定义的数据库称为数据字典,对数据库的操作都要通过访问 DD才能实现。

数据库管理系统是数据库系统的一个重要组成部分,本书以 Microsoft 公司发布的 SQL Server 2008为例来进行讲解。1.3.1 SQL Server 2008 简介

SQL Server 2008 是一个全面的数据库平台,是新一代的数据管理和分析解决方案。它为企业用户提供了一个安全、可靠和高效的平台,用于企业数据管理和商业智能应用。

1.SQL Server 2008 的版本

SQL Server 2008 根据功能模块、应用需求等的不同,可以分为以下 7 个版本。(1)企业版(Enterprise Edition)

SQL Server 2008 Enterprise Edition 支持 32 位和 64 位计算机,为用户关键业务应用提供企业级的可扩展性、数据仓库、安全、高级分析和报表支持。运行平台为Windows服务器系列操作系统平台。(2)标准版(Standard Edition)

SQL Server 2008 Standard Edition 支持 32 位和 64 位计算机,为部门级用户提供了最佳的易用性和可管理特性,适合中小型企业的数据管理和分析平台,它包括电子商务、数据仓库和业务流解决方案所需的基本功能。标准版需要安装在Windows服务器系列操作系统平台上。(3)工作组版(Workgroup Edition)

SQL Server 2008 Workgroup Edition 支持 32 位和 64 位计算机,用以实现安全的发布、远程同步和对运行分析应用的管理能力。该版本拥有核心的数据库特性,很容易地升级到标准版或企业版。工作组版可以安装在Windows服务器系列操作系统平台上,也可以在安装在部分个人操作系统上,如 Windows XP Professional 等。(4)开发版(Developer Edition)

SQL Server 2008 Developer Edition 支持 32 位和 64 位计算机,可供程序员用来开发任何类型的应用系统。它包括企业版的所有功能,但只能用于开发和测试系统,不能作为生产服务器使用。开发版可以安装在微软的Windows服务器系列操作系统平台上。(5)精简版(Express Edition)

SQL Server 2008 Express Edition 也称学习版,是 SQL Server 的免费版本,仅支持 32 位计算机,它拥有核心的数据库功能,其中包括了 SQL Server 2008 中最新的数据类型,但它是 SQL Server 2008的一个微型版本,该版本是为了学习、创建桌面应用和小型服务器应用而发布的。精简版可以安装在微软的 Windows 服务器系列操作系统平台上,也可以安装在部分个人操作系统上,如Windows XP Professional 等。(6)Web 版(Web Edition)

SQL Server 2008 Web Edition 是针对运行 Windows服务器中要求高可用、面向 Internet Web服务的环境而设计的,支持 32 位和 64 位计算机。该版本为实现低成本、大规模、高可用性的Web应用或客户托管解决方案提供了必要的支持工具。Web版可安装在微软的Windows服务器系列操作系统平台上。(7)压缩版(Compact Edition)

SQL Server 2008 Compact Edition 是一个针对开发人员而设计的免费嵌入式数据库。该版本的意图是构建独立、仅有少量连接需求的移动设备、桌面和 Web 客户端应用。SQL Server Compact可以运行于所有的微软 Windows 平台之上.包括 Windows XP 和 Windows Vista 操作系统,以及Pocket PC 和 Smart Phone 设备。

2.SQL Server 2008 的组件与功能(1)数据库引擎(DataBase Engine)

数据库引擎是 SQL Server 2008 的核心组件,其提供从小型应用程序到大型企业解决方案各个等级应用程序对数据的存储、查询与维护等需求服务。(2)集成服务(Integration Service)

SQL Server 2008 Integration Service 简称 SSIS,是建立企业级数据集成和数据转换的平台,包括数据仓库的获取、转载和加载操作。利用集成服务可以解决一些复杂的商务问题,例如复制或下载文件、发送电子邮件信息以响应事件、更新数据仓库以及管理 SQL Server 对象和数据等问题。(3)报表服务(Reporting Service)

SQL Server 2008 Reporting Service 简称 SSRS,其提供一个基于服务器的报表平台。用户可以通过基于Web的浏览器查看和管理所创建的各种形式报表。(4)分析服务(Analysis Service)

SQL Server 2008 Analysis Service 简称 SSAS,其提供商业智能的专业平台。分析服务通过执行复杂数据分析与实时回报功能,让用户通过建立数字仪表板、平衡计分卡及跟踪关于业务运营最新信息的关键业绩指标获得关键计量分析的实时回应,并且运行多种数据挖掘算法,探索数据之间的关系,预测未来,以形成新的商业策略。(5)服务代理(Service Broker)

服务代理内容包括会话优先级、诊断通用程序、对象管理器中的新服务代理元素和新的系统监视器对象和计数器等,其可以帮助开发人员构建异步的松散耦合应用程序。(6)新增加的应用程序开发功能

SQL Server 2008 在应用程序开发上提供新的功能,主要包括 Language-Integrated Query、ADO.NET Entity Framework 等。1.3.2 配置SQL Server 2008

SQL Server 2008 的配置主要包括两方面的内容:配置服务和配置服务器。配置服务主要用来管理 SQL Server 2008 服务的启动状态以及使用何种账户启动,配置服务器则是充分利用 SQL Server 2008 系统资源、设置 SQL Server 2008 服务器默认行为的过程。合理地配置服务器选项,可以加快服务响应请求的速度、充分利用系统资源、提高系统的工作效率。

1.配置 SQL Server 服务(1)使用 SQL Server 2008 配置管理器启动 SQL Server 服务

选择“开始”→“程序”→“Microsoft SQL Server 2008”→“配置工具”→“SQL Server 配置管理器”菜单,打开 SQL Server 配置管理器,在 SQL Server 配置管理器中,单击“SQL Server服务”,在右侧的详细信息窗格中,右键单击 SQL Server(MSSQLServer),在弹出的快捷菜单中,单击“启动”命令,如图1-10 所示,SQL Server 服务图标由变为,说明启动成功。当服务启动后,我们可以使用快捷菜单的命令来“停止”、“暂停”和“恢复”服务,也可以使用工具栏上的工具按钮,实现“启动”、“停止”、“暂停”和“恢复”服务。图1-10 使用 SQL Server 2008 配置管理器启动 SQL Server 服务

在 SQL Server 配置管理器中,可以设置服务为“自动”启动类型,其方法详见《数据库实验指导》,限于篇幅,在此不再累赘。(2)使用操作系统启动 SQL Server 服务的操作方法

选择“开始”→“控制面板”→“管理工具”→“服务”选项,打开“服务”窗口,如图1-11所示。

在“服务”窗口里,可以看到已经安装了哪些服务组件,有 SQL Server 服务、SQL Server Agent服务、SQL Server Analysis Services 服务等。右键单击 SQL Server(MSSQLServer)选项,可以使用弹出的快捷菜单实现“启动”、“停止”、“暂停”和“恢复”服务,同样也可以使用工具栏上的工具按钮,实现“启动”、“停止”、“暂停”和“恢复”服务。图1-11 “服务”窗口

在停止运行 SQL Server 前,应先暂停 SQL Server。因为暂停 SQL Server 可以不再允许任何新的上线者,而原来已联机到 SQL Server 的用户仍然能继续作业。这将保证原来正在进行的作业不被中断,而且可以继续进行并完成。

2.配置服务器

配置服务器主要是针对安装后的 SQL Server 2008 实例进行的。在 SQL Server 2008 系统中,可以使用 SQL Server Management Studio、sp_configure 系统存储过程、SET 语句等方式设置服务器选项。使用可视化工具配置服务选项的具体操作如下。

①单击“开始”→“程序”→“Microsoft SQL Server 2008”→“SQL Server Management Studio”,打开“连接到服务器”对话框,在此对话框的“服务器名称”中默认的有本地计算机名称,也可以从“服务器名称”下拉列表中选择“浏览更多”选项,打开在本地或网络上的“查找服务器”窗口。

②在“连接到服务器”对话框中,验证默认设置(或在服务器类型、服务器名称和身份验证中输入或选择正确信息),再单击“连接”按钮,即可打开 SQL Server Management Studio 窗口,在该窗格中右键单击要设置的服务器名称,从弹出菜单中选择“属性”命令,如图1-12所示。图1-12 右键单击要设置的服务器名称,从弹出菜单中选择“属性”命令

打开“服务器属性”窗口,在此窗口我们可以看出共包含了常规、内存、处理器、安全性、连接、数据库设置、高级和权限8个选项,其中“常规”选项窗口列出了当前服务产品名称、操作系统名称、平台名称、版本号、使用的语言、当前服务器的内存大小、处理器数量、SQL Server 安装的目录、服务器的排序规则以及是否群集化等信息,其中“内存”选项窗口列出了服务器内存选项和其他内存选项。1.3.3 SQL Server 2008 主要管理工具

SQL Server 2008 的客户端安装完成之后,在 Windows 操作系统的“开始”→“所有程序”→“SQL Server 2008”菜单下可以找到很多图形化的管理工具。

1.SQL Server 企业管理器

SQL Server Management Studio 是 SQL Server 2008 中最重要的管理工具,用于访问、配置、管理和开发 SQL Server 的所有组件。SQL Server Management Studio 将大量图形工具和丰富的脚本编辑器组合在一起,使各种技术水平的开发人员和管理员都能访问 SQL Server。

SQL Server Management Studio 将以前版本的 SQL Server 中所包括的企业管理器、查询分析器和 Analysis Manager 功能等整合到单一环境中。

启动 SQL Server Management Studio(简称 SSMS)后,如图1-12 所示,可以看到当前窗口有“对象资源管理器”窗格、“对象资源管理器详细信息”和“已注册的服务器”窗格。如果要显示某个窗格,可以在“视图”菜单上单击该窗格的名称。如果显示“查询编辑器”窗格,可以单击工具栏上的“新建查询”按钮。(1)“对象资源管理器”窗格“对象资源管理器”窗格用于将所有已连接的数据库服务器及其对象以树状结构显示出来。单击窗格中各对象节点前的“+”或“−”按钮,可以展开或折叠要浏览的对象。右击文件夹或对象,以执行常见任务。(2)“已注册服务器”窗格

显示所有的已注册服务器名称,并可以通过对要操作的服务器右击,得到快捷菜单并实现对服务器的组织和管理。例如,选择“服务控制”命令,在弹出的子菜单里可以选择“启动”、“停止”、“暂停”、“继续”和“重新启动”服务。(3)“对象资源管理器详细信息”窗格

在这个窗格罗列出左边“对象资源管理器”窗格中选择对象的详细信息。(4)“查询编辑器”窗格

SQL Server Management Studio 启动后,可以通过单击工具栏上的“新建查询”按钮来打开一个新的“查询编辑器”窗格,如图1-13所示,在代码编辑器窗口,可以输入SQL语句并执行,执行后“查询编辑器”窗格中会呈现3个窗格,包括“代码编辑器”窗格、“结果”窗格、“消息”窗格。图1-13 “查询编辑器”窗格“代码编辑器”窗格用于编写和执行脚本;“结果”窗格用于查看查询结果;“消息”窗格用于显示有关查询运行情况的消息,例如,可以显示返回的任何错误或执行结果的行数。

在“代码编辑器”窗格中,可以通过按Shift+Alt+Enter组合键切换当前窗格的全屏显示模式。

2.SQL Server 配置管理器

SQL Server Configuration Manager(SQL Server 配置管理器)是一个管理工具,用于管理与SQL Server 相关的连接服务,包含了 SQL Server 2008 服务、SQL Server 2008 网络配置和 SQL Native Client 配置 3 个工具供数据库管理人员进行服务启动/停止与监控、服务器端支持的网络协议,以及 SQL Server 客户端连接服务器端连接配置设置等工作。

启动 Configuration Manager 配置管理器后的界面如图1-11 所示。(1)SQL Server 服务:可以用来启动、暂停、恢复和停止服务,还可以查看和更改每个服务的登录方式和启动模式。(2)SQL Server 网络配置:可以用来配置服务器端的网络协议和连接选项,其中包括强制协议加密、查看别名属性或启用/禁用协议等功能。通过 SQL Server 网络配置可以为每一个服务器实例独立地设置网络配置。具体设置过程是:右击一个具体的协议名称,选择“属性”命令,在弹出的对话框中进行启用或禁用的设置。(3)SQL Native Client 10.0 配置:与 SQL Server 网络配置功能相似,不同的是该工具配置的是客户端的网络协议和连接选项。通过 SQL Native Client 配置可以启用或禁用客户端应用程序使用的协议,该工具还能创建其客户端上的 SQL Server 客户端的别名。

3.SQL Server 事件探查器

SQL Server Profiler 是用于 SQL 跟踪的图形化实时监视工具,用来监视数据库引擎或分析服务的实例。通过它可以捕获关于每个数据库事件的数据,并将捕捉到的事件保存到一个跟踪文件中,根据这个跟踪文件,可以分析有问题的查询并找到问题所在,可以查找导致 SQL Server 运行缓慢的查询,可以捕捉导致某个问题的 T-SQL 语句,可以监视 SQL Server 的性能等。例如,死锁的数量、致命的错误等,并可以把这些监视数据存入表或文件中,在以后某一时间重新显示这些事件来一步步地进行分析。

SQL Server 事件探查器的使用方法如下。(1)在 Windows 操作系统中选择“开始”→“所有程序”→“Microsoft SQL Server 2008”→“性能工具”→“SQL Server Profiler”选项,打开 SQL Server Profiler 程序的主界面,单击“文件”菜单中的“新建跟踪”选项,弹出“跟踪属性”对话框,如图1-14所示。图1-14 “跟踪属性”对话框(2)在“常规”选项卡里可以设置跟踪名称、所用模板、文件的保存地址与名称、表的保存服务器名与数据表名、跟踪的停止时间。选择“事件选择”选项卡,可以设置跟踪的事件和事件列表。设置完成后,单击“运行”按钮,弹出跟踪窗口,根据跟踪结果可以分析出现问题的原因。

4.报表服务配置

Reporting Services 配置提供了报表服务器配置的统一的查看、设置与管理方式。使用此页面可查看目前连接的报表服务器实例之相关信息。报表服务的配置方法如下。

选择“开始”→“所有程序”→“Microsoft SQL Server 2008”→“配置工具”→“Reporting Services 配置”选项,在打开的对话框中输入正确的服务器名称和实例名之后,单击“连接”按钮,弹出“Reporting Services 配置管理器”对话框,在此进行以下相关操作。(1)启动或停止报表服务器。(2)设置报表服务器的虚拟目录。(3)设置报表管理器的虚拟目录。(4)更新报表服务器的Windows服务账户。(5)设置asp.net的服务账户,指定运行报表服务区的Web服务的应用程序池。(6)连接或创建报表服务器数据库、设置报表服务器在运行时使用的连接凭据。(7)备份、还原、更改或删除报表服务器的加密密钥。(8)查看报表服务器的初始化状态并配置扩展部署。已初始化的服务器可将加密数据存储在报表服务器中。(9)为报表服务器发送电子邮件指定SMTP服务设置。(10)设置报表服务器的执行账户。

5.数据库引擎优化顾问

SQL Server 2008 提供了数据库引擎优化顾问工具,可以帮助用户分析工作负荷、提出创建高效率索引的建议等功能。使用它,即使数据库管理员在不精通数据库结构、不精通T-SQL语言,也可以完成对数据库的优化。(1)单击“开始”菜单,选择“所有程序”→“Microsoft SQL Server 2008”→“性能工具”→“数据库引擎优化顾问”选项,在弹出的“连接到服务器”窗口单击“连接”按钮,启动数据库引擎优化顾问程序。弹出的“数据库引擎优化顾问”窗口如图1-15所示。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载