SQLServer2014从入门到精通(txt+pdf+epub+mobi电子书下载)


发布时间:2020-09-29 10:29:39

点击下载

作者:王立平,刘祥淼,彭霁,夏毓彦

出版社:清华大学出版社

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

SQLServer2014从入门到精通

SQLServer2014从入门到精通试读:

前言

SQL Server 2014数据库系统是Microsoft公司推出的新一代的数据库管理系统,是当前使用最为广泛的数据库之一。SQL Server 2014是一个可扩展的、高性能的、为分布式客户机和服务器计算所设计的数据库管理系统,实现了与Windows系列操作系统的有机结合,提供了基于事务的企业级信息管理系统方案。

关系数据库是目前数据库领域中最流行的数据模型,占据了数据库市场的90%以上。除SQL Server 2014外,当前使用较多的关系数据库管理系统还包括Oracle、MySQL、Sybase和DB2等诸多产品。SQL Server 2014通过内置的突破式内存驻留技术,可以为那些对数据库有极高要求的应用程序提供符合需求的数据平台。

本书是一本帮助用户从入门到熟练的SQL Server 2014数据库入门及管理工具书,读者能够很简单地按照书中的例子进行操作,掌握如何去操作和管理SQL Server 2014数据库。本书特点

本书知识介绍全面,应用实例选择广泛并具有实际意义,对于入门学习和掌握SQL Server 2014的读者有较大帮助。全书讲解方式简单直接,内容全面,深度和广度兼顾,实例安排从简到难,由浅入深。全书在内容安排和实例讲解上的主要特点是:● 知识覆盖全面。本书涵盖了SQL Server 2014数据库管理和T-

SQL编程的基本内容,力求给读者最大的实践指导。● 讲解细致体贴。为了让读者更快地了解SQL Server 2014的特点

和操作,本书采用适合入门者的学习方式,用准确的语言总结概

念,用完整的示例展现流程,用直观的图示演示操作。● 注重技巧类比。鉴于SQL Server 2014中图形化界面和T-SQL语

言的两种支持方式,本书许多实例都采用这两种方法来实现,便

于读者进行类比。● 实例贴切实际。本书的实例讲解中贯穿了大量针对性的基本知识

点,并给出了对应的知识点解析,以便让读者更好地理解各种概

念和方法。● 注重代码解析。本书对于重要的处理代码,给出了详细的说明或

注释,同时给出了相应改造建议和深化建议,并就初学者容易出

错之处给出注意事项。本书内容

第一篇 基础知识篇(第1章~第7章),主要介绍了关系数据库的基础知识,SQL Server 2014数据库的主要组成部分、环境及安装。同时,本篇主要就SQL Server 2014数据库的创建、数据表的操作、视图操作、数据库管理和维护操作做了详细讲解。

第二篇 核心技术篇(第8章~第12章),主要介绍了T-SQL语言的基本语法,以及其在SQL Server 2014数据库中如何实现数据查询,包括简单查询、函数、复合查询、连接查询和子查询。同时,本篇还介绍了T-SQL语言实现数据操作、视图操作的方式,并着重讲解了存储过程和触发器的实现。

第三篇 高级应用篇(第13章~第18章),主要介绍了索引的操作和维护、游标的使用、事务的概念和应用。同时,本篇还就SQL Server 2014所支持的函数做了详细讲解,简要介绍了数据库性能优化、大数据和云计算。

第四篇 数据库实战篇(第19章~第20章),通过两个具体案例讲解了SQL Server 2014在数据库应用系统中的开发和部署操作。下载地址

本书示例数据库及最后两个大案例压缩包下载地址(注意数字和字母大小写)如下:

http://pan.baidu.com/s/1qX9RF7e

如果下载有问题,请电子邮件联系booksaga@163.com,邮件主题为“SQL Server 2014源码”。本书读者

■ 对SQL Server 2014数据库感兴趣的读者。

■ 没有任何数据库学习经历,想了解SQL Server 2014的初学者。

■ 初步了解数据库,想进一步学习SQL Server 2014的读者。

■ 大中专院校和培训学校的师生。

■ SQL Server 2014初、中级数据库管理员和数据库应用系统开发人员。

本书由萍乡学院的王立平、刘祥淼、彭霁主笔,其他参与编写的还有樊爱宛、张泽娜、曹卉、林江闽、李阳、宋阳、杨超、赵东、李玉莉、刘岩、李雷霆、韩广义。编者2016年10月第1章数据库入门

数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合,可以将其视为电子化的文件柜。数据库具有不重复、以最优方式提供多种应用服务、数据结构独立于应用程序、对数据的操作由统一软件进行管理和控制等特点。从数据管理技术的发展历程来看,数据库由文件管理系统发展起来,是数据管理的高级阶段。

本章着重学习以下内容:● 了解数据库的发展与组成● 掌握数据库体系结构● 掌握数据库的数据模型● 了解常见的数据库1.1数据库系统概述

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是20世纪90年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。

在信息化社会,充分有效地管理和利用各类信息资源,是进行科学研究和决策管理的前提条件。数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段。1.1.1 数据库技术的发展

使用计算机后,随着数据处理量的增长,产生了数据管理技术。数据管理技术的发展与计算机硬件(主要是外部存储器)系统软件及计算机应用的范围有着密切的联系。数据管理技术的发展经历了以下四个阶段:人工管理阶段、文件系统阶段、数据库阶段和高级数据库技术阶段。1.人工管理

20世纪50年代中期之前,计算机的软硬件均不完善。硬件存储设备只有磁带、卡片和纸带,软件方面还没有操作系统,当时的计算机主要用于科学计算。人工管理阶段由于还没有软件系统对数据进行管理,程序员在程序中不仅要规定数据的逻辑结构,还要设计其物理结构,包括存储结构、存取方法、输入输出方式等。当数据的物理组织或存储设备改变时,用户程序就必须重新编制。由于数据的组织面向应用,不同的计算程序之间不能共享数据,使得不同的应用之间存在大量的重复数据,很难维护应用程序之间数据的一致性。这一阶段的主要特征可归纳为如下几点:● 计算机中没有支持数据管理的软件。● 数据组织面向应用,数据不能共享,数据重复。● 在程序中要规定数据的逻辑结构和物理结构,数据与程序不独

立。● 数据处理方式—批处理。2.文件系统

这一阶段处于20世纪50年代中期到60年代中期,其主要标志是计算机中有了专门管理数据库的软件——操作系统。操作系统文件管理功能的出现标志着数据管理步入一个新的阶段。

在文件系统阶段,数据以文件为单位存储在外存,由操作系统统一管理,而操作系统为用户使用文件提供友好界面。该阶段中的文件逻辑结构与物理结构脱钩,程序和数据分离,使数据与程序有了一定的独立性。用户的程序与数据可分别存放在外存储器上,各个应用程序可以共享一组数据,实现了以文件为单位的数据共享。

但由于数据的组织仍然是面向程序,所以仍存在大量的数据冗余。同时,由于数据的逻辑结构不能方便地修改和扩充,数据逻辑结构的每一点微小改变都会影响到应用程序。此外,由于文件之间互相独立,不能反映现实世界中事物之间的联系,而操作系统不负责维护文件之间的联系信息。如果文件之间有内容上的联系,那也只能由应用程序去处理,这加大了程序设计人员的工作量。3.系统阶段

20世纪60年代后,随着计算机在数据管理领域的普遍应用,人们对数据管理技术提出了更高的要求:希望面向企业或部门,以数据为中心组织数据,减少数据的冗余,提供更高的数据共享能力,同时要求程序和数据具有较高的独立性,当数据的逻辑结构改变时,不涉及数据的物理结构,也不影响应用程序,以降低应用程序研制与维护的费用。数据库技术正是在这样一个应用需求的基础上发展起来的。

数据管理技术经历了人工管理阶段和文件阶段后,获得了大量的技术积累,这为数据库的诞生奠定了基础。具体来说,数据库技术有如下特点:(1)面向企业或部门。数据库以数据为中心进行数据的组织,形成综合性的数据库,从而为各应用共享。(2)采用一定的数据模型。数据模型不仅描述了数据本身的特点,而且描述了数据之间的联系。(3)数据冗余小,易修改、易扩充。数据库技术阶段中,不同的应用程序根据处理要求从数据库中获取需要的数据,这样就减少了数据的重复存储,也便于增加新的数据结构,便于维护数据的一致性。(4)程序和数据有较高的独立性。(5)具有良好的用户接口,用户可方便地开发和使用数据库。(6)对数据进行统一管理和控制,提供了数据的安全性、完整性,以及并发控制。

数据管理技术从文件系统发展到数据库系统,这在信息领域中具有里程碑的意义。在文件系统阶段,人们在信息处理中关注的中心问题是系统功能的设计,因此程序设计占主导地位;而在数据库阶段,数据开始占据了中心位置,数据的结构设计成为信息系统首先关心的问题,而应用程序则以既定的数据结构为基础进行设计。4.发展趋势

随着信息管理内容的不断扩展,出现了丰富多样的数据模型(层次模型、网状模型、关系模型、面向对象模型、半结构化模型等),新技术也层出不穷(数据流、Web数据管理、数据挖掘等)。每隔几年,国际上一些资深的数据库专家就会聚集一堂,探讨数据库研究现状、存在的问题和未来需要关注的新技术焦点。

数据库与学科技术的结合将会建立一系列新数据库,如分布式数据库、并行数据库、知识库、多媒体数据库等,这将是数据库技术重要的发展方向。未来数据库技术及市场发展的两大方向是数据仓库和电子商务,数据管理技术将在数据仓库技术以及与之相关的数据挖掘和知识发现领域持续发展。1.1.2 数据库系统组成

数据库系统DBS(Database System)是指一个具体的数据库管理系统软件和用它建立起来的数据库,通常由系统软件、数据库和数据管理员组成。系统软件主要包括操作系统、各种宿主语言、实用程序以及数据库管理系统(DBMS);数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行;数据管理员(DBA)负责创建、监控和维护整个数据库,使数据能被任何有权使用的人有效使用,数据库管理员一般是由业务水平较高、资历较深的人员担任。

数据库系统是软件研究领域的一个重要分支,常称为数据库领域。数据库系统是为适应数据处理的需要而发展起来的一种较为理想的数据处理的核心机构,具体来说由如下部分组成:(1)数据库(DataBase,DB):是指长期存储在计算机内的,有组织,可共享的数据的集合。数据库中的数据按一定的数学模型组织、描述和存储,具有较小的冗余,较高的数据独立性和易扩展性,并可为各种用户共享。(2)硬件:构成计算机系统的各种物理设备,包括存储所需的外部设备,如物理硬盘、光盘等媒介。提示硬件的配置应满足整个数据库系统的需要。(3)系统软件:包括操作系统、数据库管理系统及应用程序。数据库管理系统(DataBase Management System,DBMS)是数据库系统的核心软件,是在操作系统的支持下工作,解决如何科学地组织和存储数据,如何高效获取和维护数据的系统软件。其主要功能包括:数据定义功能、数据操纵功能、数据库的运行管理和数据库的建立与维护。(4)人员:主要包括如下4类:● 第一类为系统分析员和数据库设计人员:系统分析员负责应用系

统的需求分析和规范说明,他们和用户及数据库管理员一起确定

系统的硬件配置,并参与数据库系统的概要设计。数据库设计人

员负责数据库中数据的确定、数据库各级模式的设计。● 第二类为应用程序员,负责编写使用数据库的应用程序。这些应

用程序可对数据进行检索、建立、删除或修改。● 第三类为最终用户,他们利用系统的接口或查询语言访问数据

库。● 第四类用户是数据库管理员(data base administrator,DBA),

负责数据库的总体信息控制。DBA的具体职责包括:具体数据库

中的信息内容和结构,决定数据库的存储结构和存取策略,定义

数据库的安全性要求和完整性约束条件,监控数据库的使用和运

行,负责数据库的性能改进、数据库的重组和重构,以提高系统

的性能。1.2数据库体系结构

人们为数据库设计了一个严谨的体系结构,数据库领域公认的标准结构是三级模式结构,包括外模式、概念模式和内模式。数据库体系结构能够有效组织、管理数据,提高数据库的逻辑独立性和物理独立性。1.2.1 什么是模式

虽然实际的数据库管理系统产品种类很多,它们支持不同的数据模式,使用不同的数据库语言,建立在不同的操作系统之上,数据的存储结构也各不相同,但它们在体系结构上通常具有相同的特征,即采用三级模式结构并提供两级映像功能。

模式是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及型的描述,不涉及具体的值。模式的一个具体值称为一个实例,同一个模式可以有很多实例。模式是相对稳定的,而实例是相对变动的,因为数据库中的数据是在不断更新。模式反映的是数据的结构及其联系,而实例反映的是数据库某一时刻的状态。1.2.2 三级模式结构

美国国家标准协会(American National Standard Institute, ANSI)的数据库管理系统研究小组于1978年提出了标准化的建议,将数据库结构分为3级:面向用户或应用程序员的用户级、面向建立和维护数据库人员的概念级、面向系统程序员的物理级。

其中,用户级对应外模式,概念级对应概念模式,物理级对应内模式,不同级别的用户对数据库形成不同的视图。所谓视图,就是指观察、认识和理解数据的范围、角度和方法,是数据库在用户眼中的反映。很显然,不同层次(级别)用户所看到的数据库是不相同的。数据库系统结构层次如图1.1所示。图1.1 数据库系统结构层次图1.分类(1)外模式

外模式又称子模式或用户模式,对应于用户级。它是某个或某几个用户所看到的数据库的数据视图,是与某一应用有关的数据的逻辑表示。外模式是从模式导出的一个子集,包含模式中允许特定用户使用的那部分数据。用户可以通过外模式描述语言来描述、定义对应于用户的数据记录(外模式),也可以利用数据操纵语言(Data Manipulation Language,DML)对这些数据记录进行操作。总的来说,外模式反映了数据库的用户观。提示外模式规定了数据的添加、删除、显示、维护、打印、查找、选择、排序和更新等操作。(2)概念模式

模式又称概念模式或逻辑模式,对应于概念级。它是由数据库设计者综合所有用户的数据,按照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图(全局视图)。它是由数据库管理系统提供的数据模式描述语言(Data Description Language,DDL)来描述、定义的,体现、反映了数据库系统的整体观。(3)内模式

内模式又称存储模式,对应于物理级。它是数据库中全体数据的内部表示或底层描述,是数据库最低一级的逻辑描述,它描述了数据在存储介质上的存储方式和物理结构,对应着实际存储在外存储介质上的数据库。内模式由内模式描述语言来描述、定义,它是数据库的存储观。

在一个数据库系统中,只有唯一的数据库,因而作为定义、描述数据库存储结构的内模式和定义、描述数据库逻辑结构的模式,也是唯一的;但建立在数据库系统之上的应用则是非常广泛、多样的,所以对应的外模式不是唯一的,也不可能是唯一的。2.工作原理

数据库的三级模式是数据库在三个级别(层次)上的抽象,使用户能够逻辑地、抽象地处理数据而不必关心数据在计算机中的物理表示和存储。实际上,对于一个数据库系统而言,物理级数据库是客观存在的,它是进行数据库操作的基础;概念级数据库中不过是物理数据库的一种逻辑的、抽象的描述(即模式);用户级数据库则是用户与数据库的接口,它是概念级数据库的一个子集(外模式)。

用户应用程序根据外模式进行数据操作,通过外模式—模式映射,定义和建立某个外模式与模式间的对应关系,将外模式与模式联系起来,当模式发生改变时,只要改变其映射,就可以使外模式保持不变,对应的应用程序也可保持不变;另一方面,通过模式—内模式映射,定义建立数据的逻辑结构(模式)与存储结构(内模式)间的对应关系,当数据的存储结构发生变化时,只需改变模式—内模式映射,就能保持模式不变,因此应用程序也可以保持不变。1.3数据模型

数据模型(Data Model)是数据特征的抽象,是数据库管理的教学形式框架,是数据库系统中用以提供信息表示和操作手段的形式构架。数据模型包括数据库数据的结构部分、数据库数据的操作部分和数据库数据的约束条件。数据模型描述了在数据库中结构化和操纵数据的方法,模型的结构部分规定了数据如何被描述。1.3.1 数据模型的分类1.组成部分

数据模型所描述的内容包括三个部分:数据结构、数据操作、数据约束。(1)数据结构:数据模型中的数据结构主要描述数据的类型、内容、性质以及数据间的联系等。数据结构是数据模型的基础,数据操作和约束都基本建立在数据结构上。提示不同的数据结构具有不同的操作和约束。(2)数据操作:数据模型中数据操作主要描述在相应数据结构上的操作类型和操作方式。(3)数据约束:数据模型中的数据约束主要描述数据结构内数据间的语法、词义联系、他们之间的制约和依存关系,以及数据动态变化的规则,以保证数据的正确、有效和相容。2.数据模型的分类

数据模型的研究包括以下三个方面:(1)概念数据模型

这是面向数据库用户的现实世界的数据模型,主要用来描述世界的概念化结构,它使数据库的设计人员在设计的初始阶段,摆脱计算机系统及数据库管理系统的具体技术问题,集中精力分析数据以及数据之间的联系等,与具体的数据库管理系统无关。需要读者注意的是,概念数据模型必须换成逻辑数据模型,才能在数据库管理系统中实现。(2)逻辑数据模型

这是用户在数据库中看到的数据模型,是具体的数据库管理系统所支持的数据模型,主要有网状数据模型、层次数据模型和关系数据模型三种类型。此模型既要面向用户,又要面向系统,主要用于数据库管理系统的实现。(3)物理数据模型

这是描述数据在存储介质上的组织结构的数据模型,它不但与具体的数据库管理系统有关,而且还与操作系统和硬件有关。每一种逻辑数据模型在实现时都有与其相对应的物理数据模型。数据库管理系统为了保证其独立性与可移植性,将大部分物理数据模型的实现工作交由系统自动完成,而设计者只设计索引、聚集等特殊结构。

数据库的类型是根据数据模型来划分的,而任何一个DBMS也是根据数据模型有针对性地设计出来的,这就意味着必须把数据库组织成符合DBMS规定的数据模型。目前成熟地应用在数据库系统中的数据模型有:层次模型、网状模型和关系模型。它们之间的根本区别在于数据之间联系的表示方式不同(即记录型之间的联系方式不同)。层次模型以“树结构”表示数据之间的联系。网状模型是以“图结构”来表示数据之间的联系。关系模型是用“二维表”(或称为关系)来表示数据之间的联系的。1.3.2 E-R模型

E-R方法是“实体-联系方法”(Entity-Relationship Approach)的简称,是描述现实世界概念结构模型的有效方法。E-R方法是表示概念模型的一种方式,用矩形表示实体型,矩形框内写明实体名;用椭圆表示实体的属性,并用无向边将其与相应的实体型连接起来;用菱形表示实体型之间的联系,在菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n)。用E-R方法描述的数据模型即为E-R模型,也称为E-R图。如图1.2所示为一个简单学生管理系统的数据库E-R模型图。图1.2 简单学生管理系统的数据库E-R图1.E-R图成分

在E-R图中,有如下四个成分:● 矩形框:表示实体,在框中记入实体名。● 菱形框:表示联系,在框中记入联系名。● 椭圆形框:表示实体或联系的属性,将属性名记入框中。对于主

属性名,则在其名称下划一下划线。● 连线:实体与属性之间;实体与联系之间;联系与属性之间用直

线相连,并在直线上标注联系的类型。2.构图要素

构成E-R图的基本要素是实体型、属性和联系,其表示方法为:(1)实体型(Entity):具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体;在E-R图中用矩形表示,矩形框内写明实体名。例如,学生张三丰、学生李寻欢都是实体。(2)属性(Attribute):是指实体所具有的某一特性,一个实体可由若干个属性来刻画。属性在E-R图中用椭圆形表示,并用无向边将其与相应的实体连接起来。例如,学生的姓名、学号、性别都是属性。提示如果是多值属性的话,在椭圆形外面再套实线椭圆。如果是派生属性则用虚线椭圆表示。(3)联系(Relationship):联系也称关系,是信息世界中反映实体内部或实体之间的联系。联系包括实体内的联系和实体间的联系这两种,实体内部的联系通常是指组成实体的各属性之间的联系,实体之间的联系通常是指不同实体集之间的联系。联系在E-R图中用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。例如,老师给学生授课存在授课关系,学生选课存在选课关系。

需要读者注意的是,联系也可能有属性。例如,学生“学”某门课程所取得的成绩,既不是学生的属性也不是课程的属性。由于“成绩”既依赖于某名特定的学生又依赖于某门特定的课程,所以它是学生与课程之间的联系“学”的属性。一般来说,联系可分为以下3种类型:(1)一对一联系(1 : 1)

例如,一个部门有一个经理,而每个经理只在一个部门任职,则部门与经理的联系是一对一的。(2)一对多联系(1 : n)

例如,某校教师与课程之间存在一对多的联系“教”,即每位教师可以教多门课程,但是每门课程只能由一位教师来教。(3)多对多联系(m : n)

例如,图1.2表示学生与课程间的联系(“学”)是多对多的,即一个学生可以学多门课程,而每门课程可以有多个学生来学。3.设计步骤

一般来说,用户在设计数据库之前一般需要先设计E-R模型,而E-R模型用E-R图来表示,其设计分为三个步骤:调查分析、合并生成和修改重构。(1)调查分析

在需求分析阶段,通过对应用环境和要求进行详尽的调查分析,用多层数据流图和数据字典描述整个系统,逐一设计分E-R图每个局部应用对应的数据流图,同时将局部应用涉及的数据都收集在数据字典中。(2)合并生成

由于实体之间的联系在不同局部视图中呈现不同的类型,用户需要设计多个针对局部应用的E-R图。合并生成步骤是将多个局部E-R图的实体、属性和联系合并,从而生成整体的E-R图。(3)修改重构

经合并生成后的基本E-R图可能存在冗余的数据和冗余的实体间联系,即存在可由基本数据导出的数据和可由其他联系导出的联系。冗余数据和冗余联系容易破坏数据库的完整性,给数据库维护增加困难。

因此,得到基本E-R图后,还应当进一步检查E-R图中是否存在冗余,如果存在,应设法予以消除。修改重构步骤主要采用分析方法来消除基本E-R图中的冗余,也可以用规范化理论来消除冗余。1.3.3 层次模型

当前数据库领域最常用的数据模型主要有三种:层次模型、网状模型和关系模型。其中,层次模型和网状模型统称非关系模型,如图1.3所示。图1.3 常见的三种数据模型1.层次模型定义

现实世界中许多实体之间的联系本来就呈现出一种很自然的层次关系,如家族关系、军队编制、行政机构等,这就需要层次结构来描述。层次模型是按照层次结构的形式组织数据库数据的数据模型,用树形结构来表示各类实体以及实体间的联系。层次模型是在数据结构中满足下面两个条件的基本层次联系的集合:● 有且仅有一个结点没有双亲结点,这个结点称为根结点。● 除根结点之外的其他结点有且只有一个双亲结点。

在层次模型中,使用结点表示记录。记录之间的联系用结点之间的连线表示,这种联系是父子之间的一对多的实体联系。层次模型中的同一双亲的子女结点称为兄弟结点,没有子女结点的结点称为叶结点。层次模型示例如图1.4所示。图1.4 层次模型的示例

层次模型像一棵倒立的树,只有一个根结点,有若干个叶结点,结点的双亲是唯一的。图1.5是一个教学院系的数据结构,图1.6是教学院系数据库的一个实例,该层次数据结构中有4个记录。图1.5 教学院系的数据模型图1.6 教学院系数据库的一个实例2.层次模型的数据操作与完整性约束

层次模型的数据操作主要有查询、插入、删除和更新。需要读者注意的是,进行插入、删除、更新操作时要满足层次模型的完整性约束条件,而层次模型必须满足的完整性约束条件如下:(1)在进行插入记录值操作时,如果没有指明相应的双亲记录值,则不能插入子女记录值。(2)进行删除记录操作时,如果删除双亲记录值,则相应的子女结点值也同时被删除。(3)进行修改记录操作时,应修改所有相应记录,以保证数据的一致性。3.层次模型的优缺点

层次模型能够描述自然界的一些基本关系,是其他数据模型所不能代替的,其主要优点如下:● 层次模型的数据结构比较简单。● 对于实体间联系是固定的且预先定义好的应用系统,采用层次模

型实现,其性能优于关系模型,不低于网状模型。● 层次数据模型提供了良好的完整性支持。

需要读者注意的是,层次模型中的任何一个给定的记录值只有按其路径查看时才能显示它的全部意义,没有一个子记录值能够脱离其双亲记录值而独立存在。因此,层次模型对具有一对多的层次关系的描述非常直观、自然、容易理解。

同样的,由于层次模型是较为单一的模型,能描述的基本关系较少,该模型存在的主要缺点如下:(1)现实世界中很多联系是非层次性的,如多对多联系、一个结点具有多个双亲等。(2)对插入和删除操作的限制比较多。(3)查询子结点必须通过双亲结点。(4)由于结构严密,层次命令趋于程序化。提示层次模型表示这类联系的方法很不灵活,只能通过引入冗余数据(易产生不一致性)或创建非自然的数据组织来解决。1.3.4 网状模型

在现实世界中事物之间的联系更多是非层次关系,用层次模型表示非树形结构很不直接,而网状模型则可以克服这一缺点。

网状数据模型的典型代表是DBTG系统,这是20世纪70年代数据系统语言研究会(Conference On Data System Language,简称CODASYL)下属的数据库任务组(Data Base Task Group,简称DBTG)提出的一个系统方案。DBTG系统虽然不是实际的软件系统,但是它提出的基本概念、方法和技术具有普遍意义,对于网状数据库系统的研制和发展起了重大的影响。后来许多系统都采用DBTG模型或者简化的DBTG模型,如CuUinetSoftware公司的IDMS等。1.网状模型的数据结构

网状模型是指满足下面两个条件的基本层次联系的集合:● 有一个以上的结点没有双亲。● 结点可以有多于一个的双亲。

如图1.7所示,(a)、(b)和(c)图都是网状模型的示例。图1.7 网状模型的示例

网状模型是一种比层次模型更具普遍性的结构,它去掉了层次模型的两个限制,允许多个结点没有双亲结点,允许结点有多个双亲结点,此外它还允许两个结点之间有多种联系。因此,网状模型可以更直接地去描述现实世界,而层次模型实际上是网状模型的一个特例。

同层次模型一样,网状模型也使用记录和记录值表示实体集和实体;每个结点也表示一个记录,每个记录可包含若干个字段。2.网状模型的数据操作与完整性约束

与层次模型相似,网状模型的数据操作也主要包括查询、插入、删除和更新。进行插入操作时,允许插入尚未确定双亲结点值的子结点值。进行删除操作时,只允许删除双亲结点值。进行更新操作时只需更新指定记录即可。

因此,一般来说,网状模型没有层次模型那样严格的完整性约束条件,但具体的网状数据库系统(如DBTG)对数据操作都加了一些限制,提供了一定的完整性约束。DBTG在模式DDL中提供了定义DBTG数据库完整性的若干概念和语句,主要有:(1)支持记录码的概念,码是唯一标识记录的数据项的集合。例如,学生记录(图2-9)中学号是码,因此数据库中不允许学生记录中学号出现重复值。(2)保证一个联系中双亲记录和子记录之间是一对多的联系。(3)可以支持双亲记录和子记录之间某些约束条件。如有些子记录要求双亲记录存在才能插入,双亲记录删除时也连同删除。3.网状数据模型的优缺点

相对于层次模型,网状数据模型所能描述的自然关系更多,其主要表现的优点如下:● 能够更为直接地描述现实世界。如一个结点可以有多个双亲,结

点之间可以有多种联系。● 具有良好的性能,存取效率较高。

但网状数据模型也存在不少缺点,主要表现在:结构比较复杂,而且应用环境越大,数据库的结构就变得越复杂,不利于最终用户掌握;模型的数据定义语言(DDL)、数据操作语言(DML)复杂,用户不容易使用。

此外,网状模型中由于记录之间联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径。因此,用户必须了解系统结构的细节,加重了编写应用程序的负担。1.3.5 关系模型

关系模型是当前最重要的、应用最广泛的一种数据模型。目前,主流的数据库系统大部分都是基于关系模型的关系数据库系统(Relational DataBase System,简称RDBS)。1970年,美国IBM公司San Jose研究室的研究员E.F.Codd首次提出数据库系统的关系模型,开创了数据库关系方法和关系数据理论的研究,为数据库技术的发展奠定了理论基础。20世纪80年代以来,计算机厂商新推出的DBMS几乎都支持关系模型,非关系模型的产品也大都添加了关系接口,数据库领域当前的研究工作也都是以关系方法为基础。1.关系模型的数据结构

关系数据模型是建立在严格的数学概念的基础上的,在关系模型中,数据的逻辑结构是一张二维表,它由行和列组成。关系模型中的主要术语如下:(1)关系:一个关系对应通常所说的一张二维表。(2)元组:表中的一行称为一个元组,许多系统中把元组称为记录。(3)属性:表中的一列称为一个属性。一个表中往往会有多个属性,为了区分属性,要给每一个列起一个属性名。提示同一个表中的属性应具有不同的属性名。(4)码:表中的某个属性或属性组,它们的值可以唯一地确定一个元组,且属性组中不含多余的属性,这样的属性或属性组称为关系的码。(5)域:属性的取值范围称为域。例如,大学生年龄属性的域是(18~30),性别的域是(男,女)。(6)分量:元组中的一个属性值称为分量。(7)关系模式:关系的型称为关系模式,关系模式是对关系的描述。关系模式的一般表示如下: 关系名(属性1,属性2,…,属性n)

在关系模型中,实体集以及实体间的联系都是用关系来表示的。关系模型要求关系必须是规范化的,即要求关系必须满足一定的规范条件,这些规范条件中最基本的一条就是:关系的每一个分量必须是一个不可分的数据项,也就是说,不允许表中还有表。关系模型示例如图1.8所示。图1.8 关系模型的示例2.关系模型的数据操作与完整性约束

关系数据模型的操作主要包括查询、插入、删除和修改数据,这些操作必须满足关系的完整性约束条件。关系模型中数据操作的特点是集合操作方式,即操作对象和操作结果都是集合,这种操作方式也称为一次一集合的方式。相应地,非关系数据模型的操作方式是一次一记录的方式。

关系的完整性约束条件包括三大类:实体完整性、参照完整性和用户定义的完整性。实体完整性定义数据库中每一个基本关系的主码应满足的条件,能够保证元组的唯一性。参照完整性定义表之间的引用关系,即参照与被参照关系。用户定义完整性是用户针对具体的应用环境制定的数据规则,反映某一具体应用所涉及的数据必须满足的语义要求。3.关系模型的优缺点

关系模型是当前使用最为广泛的一类模型,目前的主流数据库系统如Oracle、SQL Server等都采用关系模型。关系数据模型的优点主要体现在以下几点:● 关系模型与非关系模型不同,它是建立在严格的数学理论基础上

的。● 关系模型的概念单一,实体与实体间的联系都用关系表示,对数

据的检索结果也是关系(即表),所以其数据结构简单、清晰,

用户易懂易用。● 关系模型的物理存储和存取路径对用户透明,从而具有更高的数

据独立性、更好的安全保密性,简化了程序员的数据库开发工作。

需要读者注意的是,虽然关系模型是现在的主流,但该模型也存在一定的缺陷,主要表现在如下两方面:● 由于存取路径对用户透明,查询效率往往不如非关系数据模型

高。因此,为了提高性能,必须对用户的查询请求进行优化,这

就增加了开发数据库管理系统的难度和负担。● 关系数据模型不能以自然的方式表示实体集间的联系,存在语义

信息不足、数据类型过少等弱点。1.4常见数据库

目前,商品化的数据库管理系统以关系型数据库为主导产品,技术比较成熟。面向对象的数据库管理系统虽然技术先进,数据库易于开发、维护,但尚未有成熟的产品。国际国内的主流关系型数据库管理系统有Oracle、Sybase、Access和SQL Server等。本节根据选择数据库管理系统的依据,比较分析这几种主流数据库管理系统的优势和不足。1.4.1 Access

Microsoft Office Access是由微软(Microsoft)公司发布的一款关系数据库管理系统。它结合了Microsoft Jet Database Engine和图形用户界面两项特点,是Microsoft Office的系统程序之一。1.优势

Microsoft Office Access提供了一个丰富的开发环境。这个开发环境给了用户足够的灵活性和对Microsoft Windows应用程序接口的控制,同时保护用户免遭用高级或低级语言开发环境开发时所碰到的各种麻烦。如图1.9所示为Microsoft Office Access数据库的主界面。图1.9 Microsoft Access数据库

Microsoft Office Access是一个把数据库引擎的图形用户界面和软件开发工具结合在一起的数据库管理系统,其主要优势表现在如下几个方面:(1)存储方式单一

Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb)的数据库文件中,便于用户的操作和管理。(2)面向对象

Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中。它将一个应用系统当作是由一系列对象组成的,对每个对象它都定义一组方法和属性。通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作。同时,这种基于面向对象的开发方式,使得开发应用程序更为简便。(3)界面友好、易操作

Access是一个可视化工具,是风格与Windows完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便。系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,容易使用和掌握。(4)集成环境、处理多种数据信息

Access基于Windows操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行。(5)Access支持ODBC(开发数据库互连,Open Data Base Connectivity),利用Access强大的DDE(动态数据交换)和OLE(对象的连接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表格、Word文档,还可以建立动态的数据库报表和窗体等。Access还可以将程序应用于网络,并与网络上的动态数据相连接。利用数据库访问页对象生成HTML文件,轻松构建Internet/Intranet的应用。2.缺陷

尽管Microsoft Office Access具有许多的优点,但它毕竟是一个小型数据库,不可避免地存在一些缺陷,主要表现在:(1)数据库过大时性能下降明显。一般来说,当Access数据库达到100MB左右的时候,数据库性能会显著下降。例如,当访问使用Access作为数据库的网站时,如果人数过多时容易造成IIS假死,过多消耗服务器资源。(2)容易出现各种因数据库刷写频率过快而引起的数据库问题。(3)Access数据库安全性比不上其他类型的数据库。1.4.2 SQL Server

SQL Server也是Microsoft公司推出的关系型数据库管理系统,其具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98的PC到运行Microsoft Windows 2012的服务器等多种平台使用。如图1.10所示为Microsoft SQL Server 2005数据库的Management Studio主界面。图1.10 Microsoft SQL Server数据库

Microsoft SQL Server是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。Microsoft SQL Server数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使用户可以构建和管理用于业务的高可用和高性能的数据应用程序。1.SQL Server特点(1)真正的客户机/服务器体系结构。(2)图形化用户界面,使系统管理和数据库管理更加直观、简单。(3)丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。(4)SQL Server与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等,SQL Server也可以很好地与Microsoft Office产品集成。(5)具有很好的伸缩性,可跨越多种平台使用。(6)对Web技术的支持度高,使用户能够很容易地将数据库中的数据发布到Web页面上。(7)SQL Server新版本提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。2.SQL Server 2014

SQL Server 2014是Microsoft SQL Server的最新版本,相对于其他版本,SQL Server 2014数据库提供了诸多新理念和数据管理新技术,主要表现如下:(1)内存技术改进

SQL Server 2014中最吸引人关注的特性就是内存在线事务处理(OLTP)引擎,内存OLTP整合到SQL Server的核心数据库管理组件中,它不需要特殊的硬件或软件,就能够无缝整合现有的事务过程。

此外,SQL Server 2014增强内存相关功能的另一个方面是允许将SQL Server内存缓冲池扩展到固态硬盘(SSD)或SSD阵列上。这一点对于支持繁重读负载的OLTP操作特别好,能够降低延迟、提高吞吐量和可靠性,消除IO瓶颈。(2)云整合

Microsoft一直将SQL Server 2014定位为混合云平台,这意味着SQL Server 2014数据库更容易整合Windows Azure。SQL Server 2014引入了智能备份(Smart Backups)概念,其中SQL Server将自动决定要执行完全备份还是差异备份,以及何时执行备份。SQL Server 2014还允许将本地数据库的数据和日志文件存储到Azure上。此外,SQL Server Management Studio提供了一个部署向导,它可以帮助用户轻松地将现有本地数据库迁移到Azure虚拟机上。

SQL Server 2014还允许将Azure虚拟机作为一个Always On可用性组副本,提供了支持高可用性数据库的故障恢复服务。它由1个主副本和1~8个次副本构成,主副本可以运行一个或多个数据库,次副本则包含多个数据库副本。Windows Azure基础架构服务支持在运行SQL Server 2014的Azure虚拟机中使用可用性组,意味着用户可以用一个虚拟机作为次副本,然后支持自动故障恢复。1.4.3 Oracle

Oracle数据库系统是美国甲骨文(Oracle)公司提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。如图1.11所示为Oracle 10g数据库的Developer主界面。图1.11 Oracle数据库

Oracle数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但Oracle的所有知识,只要在一种机型上学习了Oracle知识,便能在各种类型的机器上使用它。

Oracle数据库最新版本为Oracle Database 12c。Oracle 12c引入了一个新的多承租方架构,使用该架构可轻松部署和管理数据库云。此外,一些创新特性可最大限度地提高资源使用率和灵活性,如Oracle Multitenant可快速整合多个数据库,而Automatic Data Optimization和Heat Map能以更高的密度压缩数据和对数据分层。这些独一无二的技术进步再加上在可用性、安全性和大数据支持方面的增强,使得Oracle 12c成为私有云和公有云部署的理想平台。

Oracle的特点如下:(1)名副其实的大型数据库:Oracle建立的数据库,最大数据量可达几百GB。(2)共享SQL和多线索服务器体系结构:这两个特性的结合,减少Oracle的资源占用,增强处理能力,能支持成百甚至上千用户。(3)跨平台能力:Oracle数据库管理系统可以运行在100多个硬件和软件平台上,这一点为其他PC平台上的数据库产品所不及。(4)分布式数据库:可以使物理分布不同的多个数据库上的数据,被看成是一个完整的逻辑数据库,尽管数据操纵的单个事务可能要运行于多处地点,但这对应用程序却是透明的,应用程序开发人员的感觉就好像所有的数据都是物理地存储在本地数据库中。(5)卓越的安全机制:包括对数据库的存取控制,决定可以执行的命令,限制单一进程可用的资源数量以及定义数据库中数据的访问级别等。(6)支持客户机/服务器方式,支持多种网络协议。

除如上讲解的Microsoft Office Access、SQL Server和Oracle三个典型数据库外,还有许多关系型数据库也较为常见,如IBM DB2、Informix、Sybase、MySQL等,有兴趣的读者可自行了解,此处不再赘述。1.5小结

本章是数据库的入门,掌握这些基础知识对后续理解有很大帮助。本章阐述了数据库的发展与组成、数据库体系结构、数据模型以及常见的数据库,并就层次模型、网状模型和关系模型等三种数据模型做了详细讲解。本章的难点是需要掌握数据库的数据模型,它是数据库系统中用以提供信息表示和操作手段的形式构架。此外,针对当前主流的数据库,本章主要介绍了Microsoft Office Access、SQL Server和Oracle,供读者参考。第2章走进SQL Server 2014

SQL Server 2014是目前SQL Server系列数据库管理系统的最新版本,是该系统家族中最重要的一代产品。本章主要介绍SQL Server 2014的特点、安装和卸载及使用SQL Server 2014帮助等相关内容。通过本章的学习,可以使读者对SQL Server 2014这款数据库管理系统有一个全方位的了解。

本章主要学习以下内容:● 了解SQL Server数据库软件的特点● 了解SQL Server 2014新的技术点● 掌握SQL Server 2014的安装和卸载● 了解如何使用SQL Server 2014帮助功能2.1SQL Server 2014简介

SQL Server是Microsoft公司推出的关系型数据库管理系统,它是一个全面的数据平台,为企业提供可靠的数据支持。2014年4月10日,微软发布了SQL Server数据库软件家族中最重要的一代产品,命名为SQL Server 2014。从最早的OS/2版本到如今的SQL Server 2014,SQL Server的每一代产品都会在完善基本功能的前提下增加新的功能,本次SQL Server 2014版本中主要新增了数据库引擎、Analysis Services、Business Intelligence和云数据管理等功能。

用户可以根据应用程序的需要安装不同版本的SQL Server 2014组件,不同版本的SQL Server 2014可以满足单位和个人独特的性能、运行时间以及价格要求。在具体安装过程中,选择哪些SQL Server组件主要还是根据用户的需求来指定,下面介绍SQL Server 2014中的一些常用版本。(1)SQL Server 2014的主要版本包括企业版(Enterprise)、商务智能版(Business Intelligence)和标准版(Standard)三种,每一个版本都分为64位和32位两种类型,主要区别如下:● Enterprise(64位和32位):SQL Server 2014 Enterprise是SQL

Server 2014中的高级版本,此版本提供了全面的高端数据中心

功能,性能快捷、虚拟化不受限制,同时还具有端到端的商业智

能。● Business Intelligence(64位和32位):SQL Server 2014

Business Intelligence版本提供了综合性的平台,对于组织构建和

安全部署有很好的支持,同时可扩展易于管理的BI解决方案。● Standard(64位和32位):SQL Server 2014 Standard版提供了基

本数据管理和商业智能数据库,使部门和小型组织能够顺利运行

其应用程序并支持将常用开发工具用于内部部署和云部署。(2)SQL Server 2014专业版本主要是指Web版,该版本也包含64位和32位。SQL Server 2014 Web为小规模至大规模Web提供可伸缩性、经济性和可管理性功能的Web解决方案,是一项总拥有成本较低的选择。(3)SQL Server 2014扩展版本包括开发者版(Developer)和快速版(Express)两种,同样支持64位和32位,版本的主要区别如下所示:● Developer(64位和32位):SQL Server 2014 Developer版本可以

支持程序开发人员构建任意符合SQL Server规则的应用程序。

Developer版包含了Enterprise版中的所有功能,但这些功能只能

用于开发和测试,不能用作服务器。● Express(64位和32位):SQL Server 2014 Express版本是一款

入门级的免费SQL Server版本,此版本主要用于学习和构建小型

的应用程序,Express版包含了SQL Server中最基本的数据管理

功能。提示SQL Server 2014各版本的主要区别在于SQL Server数据库引擎实例的大小、最大关系数据库大小等,对于初学者而言,Express免费版就能满足各功能的学习要求了。2.2SQL Server 2014特点

SQL Server作为目前程序开发中使用最为广泛的数据库软件之一,每一次版本的更新都会带来许多不同的变化。最新版本的SQL Server 2014数据库引擎引入了一些新功能和增强功能,这些功能可以提高设计、开发和维护数据存储系统的架构师、开发人员和管理员的能力和工作效率。本节将对SQL Server 2014中的版本特点进行讲述。2.2.1 SQL Server 2014中新的组件功能

SQL Server 2014最引人注目的是其数据库引擎功能的增强,主要表现在内存优化、支持云端和虚拟机等方面,具体如下所示:● 内存优化:内存中OLTP是一种内存优化的数据引擎,它集成到

SQL Server引擎中。● Windows Azure中的SQL Server数据文件:Windows Azure中的

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

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载