03 SQL Server数据库基础综述

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第3章SQLServer数据库基础综述•SQLServer数据库具有关系型数据库的所有特征,和许多主流数据库产品相同,目的都是为了方便、有效地存取数据,对数据进行有效的维护管理等。数据库之所以流行,在企业运营、信息管理等扮演着越来越重要的角色,是因为其已经形成了完善的理论,并为数据管理提供了系统的科学支持。因此理解数据库的基础知识,有助于更好的操作和使用数据库。3.1数据库基本概念•数据库管理技术经过长期的发展,已经形成了系统的科学理论,本节就数据库知识的基本概念做一简单介绍,使读者了解数据库的基本内容、数据库的理论框架。3.1.1数据与信息•数据(Data)是描述事物的符号记录,它具有多种表现形式,可以是文字、图形、图像、声音、语言等。SQLServer2005数据库就是存储管理这样的记录的计算机系统。增强的功能使得SQLServer2005数据库能够更加方便的管理声音、图像等数据,并可以对文字进行全文搜索。•信息具有可感知、可存储、可加工、可传递和可再生等自然属性,信息已是社会各行各业不可缺少的资源,这是信息的社会属性。数据是经过组织的比特的集合,而信息是具有特定释义和意义的数据。3.1.2数据库•数据库(Database,DB)是指长期储存在计算机内的、有组织的、可共享的数据集合。数据中的数据按一定的数学模型组织、描述和储存,具有较小的冗余度,较高的数据独立性和易扩展性,并可为各种用户共享。3.1.3数据库系统•数据库系统(DatabaseSystem,DBS)广义上讲是由数据库、硬件、软件和人员组成,其中管理的对象是数据。数据是经过组织的比特的集合,而信息是具有特定释义和意义的数据。例如:一个生产型企业的数据库系统,广义上可能包括“生产数据集合”、“SQLServer2005数据库软件系统”、“数据库服务器等硬件”和“数据管理和设计人员”。3.1.4数据库管理系统(DBMS)•数据库管理系统(DatabaseManagementSystem),DBMS是位于用户与操作系统之间的一层数据管理软件,是数据库系统的核心,在操作系统的支持下,解决如何科学的组织和储存数据,如何高效的获取和维护数据库的系统软件。其主要功能包括数据定义功能、数据操纵功能、数据库的运行管理和数据库的建立与维护。数据库管理系统可以分为层次型、网状型、关系型、面向对象型DBMS。•SQLServer2005就是这样的数据库管理系统,SQLServer支持关系型数据库模型,并对传统的数据库管理系统有了许多新的扩展。3.2数据库管理系统的基本功能•数据库管理系统主要是实现对共享数据有效组织、管理和存取,因此应具有系统的管理和维护的功能,其中最基本的功能有以下五种。其中数据定义语言和数据操纵语言对于初学者最为常用,会在后面的章节中进行详细的介绍。3.2.1定义数据•数据定义,数据库管理系统提供定义数据类型和数据存储形式的功能。每个记录的每个字段中的信息为一个数据。因记录的信息不同,其数据类型也应不同。通过定义数据类型,可以在一定程度上保证数据的完整性。•数据库管理系统提供数据定义语言(datadefinitionlanguage,DDL),用户可以对数据库的结构描述定义,包括数据库的完整性、安全保密定义,如口令、级别、存取权限等。这些定义存储在数据字典中,是数据库管理系统基本依据,如后面讲述的CREATE、DROP等语句均属于该类型。3.2.2处理数据•数据操作,数据库管理系统提供多种处理数据的方式,一般采用数据操纵语言(datamanipulationlanguage,DML),实现对数据库中数据的基本操作,如检索、插入、修改和删除。DML分为两类:宿主型和自含型。•在SQLServer2005数据库中,微软公司对这两种方式进行支持和扩展。即可以通过SQLServerManagementStudio工具,编写TSQL的DML语句操作数据,也可以使用第三方语言,操作数据,进行程序开发。3.2.3数据库运行管理•数据控制,数据库管理系统对数据提供一定的保护措施,即在运行期间,多用户环境下的并发控制、安全性检查和存取控制、完整性检查和执行、运行日志的组织管理、事务管理和自动恢复等是数据库管理系统的重要组成部分。•在保证在多个用户共享数据时,只有被授权的用户才能查看或修改数据,以保证数据的安全性。即根据用户的职责,不同级别的人对数据库具有不同的权限,数据库管理系统应该确保数据的安全性。3.2.4数据组织、存储和管理•数据库管理系统分类组织、存储和管理各种数据,包括数据字典、用户数据、存取路径等等;要确定以何种文件结构和存取方式在存储级上组织这些数据,以提高存取效率。实现数据间的联系、数据组织和存储的基本目标,是提高存储空间利用率。3.2.5数据库的建立和维护•数据库的建立和维护,包括数据库的初始建立、数据的转换、数据库的转储和恢复、数据库的重组和重构、性能监测和分析等。3.3数据库的类型•数据库技术发展阶段的划分应该以数据模型的发展演变作为主要依据和标志。总体说来,数据库技术从开始到现在一共经历了三个发展阶段:第一代是网状、层次数据库系统,第二代是关系数据库系统,第三代是以面向对象数据模型为主要特征的数据库系统。SQLServer2005数据库是以关系数据模型为基础的数据库,同时增加了许多下一代数据库系统的新特性。3.3.1层次型数据库•层次型数据库管理系统是紧随网状数据库而出现的。现实世界中很多事物是按层次组织起来的。层次数据模型的提出,首先是为了模拟这种按层次组织起来的事物。层次数据库也是按记录来存取数据的。•层次数据模型中最基本的数据关系是基本层次关系,它代表两个记录型之间一对多的关系,即双亲子女关系。数据库中有且仅有一个记录型无双亲,称为根节点。其他记录型有且仅有一个双亲。在层次模型中从一个节点到其双亲的映射是惟一的,所以对每一个记录型(除根节点外)只需要指出它的双亲,就可以表示出层次模型的整体结构。3.3.2网络型数据库•网状数据库。第一代包括网状和层次数据库系统,是因为它们的数据模型虽然分别为层次和网状模型,但实质上层次模型只是网状模型的特例而已。这二者都是格式化数据模型,都是在60年代后期研究和开发的,不论是体系结构、数据库语言,还是数据的存储管理,都具有共同特征,所以它们应该划分为一代。3.3.3关系型数据库•第二代数据库系统支持关系数据模型。关系模型不仅具有简单、清晰的优点,而且有关系代数作为语言模型,有关系数据理论作为理论基础。因此关系数据库具有形式基础好、数据独立性强、数据库语言非过程化等特点。现在的主流数据库如SQLServer、Oracle、MySQL都满足关系数据模型。3.4SQLServer的数据库对象•一个数据库往往由多种数据对象构成,SQLServer数据库的数据元素包括数据表、视图、索引等,本节就这些数据对象进行介绍,并结合案例数据库进行说明。这些数据对象的维护、管理的具体使用,将在后面的章节详细介绍。3.4.1表(Table)•数据表,这里简称“表”,是包含数据库中所有数据的数据库对象。表定义为一个列集合。数据在表中的组织方式与在电子表格中相似,都是按行和列的格式组织的。每一行代表一条唯一的记录,每一列代表记录中的一个字段。3.4.2视图(View)•视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。视图在数据库中并不是直接存储为物理数据,而是“引用”了数据表中的数据。除非是SQLServer2005数据库中物化的索引视图(在后面的章节会讲述该视图)。3.4.3索引(Index)•数据库中的索引,帮助用户快速查找表或索引视图中的指定信息。索引包含从表或视图中一个或多个列生成的键,以及映射到指定数据的存储位置的指针。通过创建设计良好的索引以支持查询,可以显著提高数据库查询和应用程序的性能。索引可以减少为返回查询结果集而必须读取的数据量。索引还可以强制表中的行具有唯一性,从而确保表数据的数据完整性。3.4.4主键(PrimaryKey)•数据表中一般都包括这样的一列或者一组列,它用于唯一标识表中每一行,这样的一列或多列称为表的主键,它用于强制数据表的实体完整性。3.4.5外键(ForeignKey)•如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的联系。以另一个关系的外键做主关键字的表被称为主表,具有此外键的表被称为主表的从表,外键又称作外关键字。3.4.6存储过程(StoredProcedure)•存储过程是由流控制语句和SQL语句编写的一组代码,存储过程经编译和优化后,存储在数据库服务器中,使用时只要调用即可运行。在SQLServer2005数据库中,存储过程可以使用T-SQL语言,或者是符合.NET规范的各种语言编写。SQLServer2005中的存储过程和其他编程语言中的过程类似,主要有下共性:(具体内容请参照书。)3.4.8数据类型(DataType)•在SQLServer2005中,每个列、局部变量、表达式和参数都具有一个相关的数据类型。数据类型是一种属性,用于指定对象可保存的数据的类型:整数数据、字符数据、货币数据、日期和时间数据、二进制字符串等。3.4.9约束(Constraint)•约束可以应用到列或整个表。列约束被指定为列定义的一部分,并且只应用到那一列。表约束从列的定义独立地声明,并可以应用到表中的几个列。3.4.10默认值(Default)•如果用户在插入行时没有为列指定值,默认值则指定列中使用什么值。默认值可以是计算结果为常量的任何值,例如常量、内置函数或数学表达式。3.4.11角色(Role)•角色是一个强大的工具,使用户集中到一个集合中,然后对该集合应用权限。对一个角色授予、拒绝或废除的权限,也适用于该角色的任何成员。3.4.12用户(User)•用户是访问数据库的身份,在SQLServer2005数据库中,每个Windows帐户或SQLServer登录名都必须与已授权用户对其进行访问的每个数据库中的用户名相关联,或者该数据库必须已启用guest访问。数据库用户名由db_owner或db_accessadmin固定数据库角色的成员来定义,并存储在每个数据库的sysusers表中。每个数据库用户名都与存储在sys.database_principals.uid中的一个数据库用户ID相关联。3.4.13架构(SCHEMA)•架构是形成单个命名空间的数据库实体的集合。命名空间是一个集合,其中每个元素的名称都是唯一的。在SQLServer2005数据库中架构是一个新的、重要的概念。在后面的章节将详细说明。3.5数据类型•数据类型决定了数据存储的空间和格式,理解数据类型对助于,用户正确、有效的存储数据。并为数据库设计和管理奠定良好基础。此外数据类型的选择,也会影响数据存储、查询等的方式和效率。3.5.1数据类型和特点•数据类型定义数据表的列中允许的数据值。在SQLServer2005中,每个列、局部变量、表达式和参数都具有一个相关的数据类型。数据类型是一种属性,用于指定对象可保存的数据的类型:整数数据、字符数据、货币数据、日期和时间数据、二进制字符串等,一般要求使用满足需要的最小的数据类型。3.5.2数字数据类型•SQLServer2005提供了多种数字类型,各种数字类型的名称和精度如表3.2所示。(具体内容请参照书。)3.5.3字符数据类型•SQLServer2005提供了多种字符类型,各种字符类型的名称和精度如表3.3所示。(具体内容请参照书。)3.5.4日期时间数据类型•SQLServer2005提供了多种日期时间数据类型,各种日期时间数据类型的名称和精度如表3.4所示。(具体内容请参照书。)3.5.5二进制数据类型•SQLServer2005提供了多种二进制数据类型,各种二进制数据类型的名称和精度如表3.5所示。(具体内容请参照书。)3.5.6其他数据类型•SQLServer2005提

1 / 40
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功