




已阅读5页,还剩348页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2019年4月29日,第1页,第1章 概述,SQL Server 2005基础教程 清华大学出版社,教学目标 教学过程,2019年4月29日,第2页,教学目标,理解使用数据库的原因 掌握数据库的基本概念和特点 理解Microsoft SQL Server简史 理解Microsoft SQL Server系统的体系结构 理解数据库和数据库对象的特点 理解管理工具的特点 理解数据库管理员的任务,2019年4月29日,第3页,教学过程,1.1 为什么使用数据库? 1.2 什么是数据库? 1.3 Microsoft SQL Server简史 1.4 Microsoft SQL Server系统的体系结构 1.5 数据库和数据库对象的特点 1.6 管理工具 1.7 数据库管理员,2019年4月29日,第4页,1.1 为什么使用数据库?,2019年4月29日,第5页,1.2 什么是数据库?,数据库是采用计算机技术统一管理的相关数据的集合,数据库能为各种用户共享,具有最小冗余度、数据之间联系密切、有较高数据独立性等特点。 数据库管理系统(database management system,DBMS)是位于用户与操作系统之间的一层数据管理软件,它为用户或应用程序提供访问数据库的方法,包括数据库的建立、查询、更新以及各种数据库控制等。 数据库系统是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机软件、硬件和数据资源组成的系统,是采用数据库技术的计算机系统。 数据库产品是由专门开发DBMS的厂商提供的。,2019年4月29日,第6页,1.3 Microsoft SQL Server简史,1987年,赛贝斯公司发布了Sybase SQL Server系统 1988年,微软公司参加赛贝斯SQL Server系统开发 1992年,联合开发Windows NT环境的SQL Server系统 1993年,微软与赛贝斯公司联合开发正式结束 1995年,微软发布Microsoft SQL Server 6.0系统 1998年,微软推出Microsoft SQL Server 7.0系统。 2000年,微软发布Microsoft SQL Server 2000系统。 2005年,微软发布Microsoft SQL Server 2005系统。,2019年4月29日,第7页,1.4 Microsoft SQL Server系统的体系结构,2019年4月29日,第8页,1.5 数据库和数据库对象的特点,数据库的类型和特点 数据库对象的类型和特点,2019年4月29日,第9页,数据库的类型和特点,2019年4月29日,第10页,数据库对象的类型和特点,2019年4月29日,第11页,1.6 管理工具,SQL Server配置管理器 Microsoft SQL Server Management Studio SQL Server Profiler 数据库引擎优化顾问 大量的命令行实用工具,2019年4月29日,第12页,1.7 数据库管理员,任务一:安装和配置。 任务二:容量规划。 任务三:应用架构设计。 任务四:管理数据库对象 任务五:存储空间管理。 任务七:安全管理。 任务六:备份和恢复。 任务八:性能监视和调优。 任务九:调度作业。 任务十:网络管理。 任务十一:高可用性和高可伸缩性管理 任务十二:故障解决。,2019年4月29日,第13页,第2章 安装规划和配置,SQL Server 2005基础教程 清华大学出版社,教学目标 教学过程,2019年4月29日,第14页,教学目标,理解为什么要进行安装规划 掌握如何进行安装规划 理解系统的版本特点 理解和掌握安装过程中的关键步骤 理解和掌握为什么要进行升级规划 掌握如何注册服务器 掌握服务器选项的类型和设置方式,2019年4月29日,第15页,教学过程,2.1 安装规划 2.2 安装过程 2.3 验证安装结果 2.4 升级规划 2.5 注册服务器 2.6 配置服务器选项,2019年4月29日,第16页,2.1 安装规划,安装规划是指在安装Microsoft SQL Server系统之前对系统的安装目的、环境需求、并发用户、安装版本、服务器位置、安装过程中特殊要求等内容进行统筹安排。,2019年4月29日,第17页,安装目的,安装目的是指安装Microsoft SQL Server 2005系统支持业务工作的顺利、高效的、安全的进行。 Microsoft SQL Server系统是一个可以在多种行业领域中管理业务数据的大型数据库管理系统。 如果用户的环境是一个经常有数百个用户并发访问的生产环境 用在业务操作环境中的系统与用在分析环境中的系统是不同的,2019年4月29日,第18页,系统版本,Microsoft SQL Server 2005系统提供了6个不同的版本,即 Express版 工作组版 标准版 企业版 开发人员版 企业评估版。 经常使用的是前面4个版本。,2019年4月29日,第19页,环境需求,环境需求是指系统安装时对硬件、操作系统、网络等环境的要求, 这些要求也是Microsoft SQL Server系统运行所必须的条件。,2019年4月29日,第20页,安装位置和安全模式,在实际安装前,还应该考虑这两个问题:确定安装文件的根目录和确定选用的系统安全模式。这两个问题都与今后的使用息息相关。 安装文件的根目录是Microsoft SQL Server系统存储程序文件的位置 Microsoft SQL Server系统有两种安全模式,即Windows认证模式和混合模式。,2019年4月29日,第21页,2.2 安装过程,虽然说Microsoft SQL Server 2005系统具有很好的易用性,安装时可以按照安装向导的逐步提示执行安装操作,但是用户应该对安装过程中的选项有深刻理解,只有这样才能完全按照自己的要求顺利完成安装操作。 下面针对安装过程中涉及的实例名、服务帐户、身份验证模式、排序规则设置等关键内容进行分析。,2019年4月29日,第22页,2.3 验证安装结果,安装结束之后,怎样才能知道系统安装成功呢?为了确保安装是正确的,我们也可以采用一些验证方法。 常用的验证方法包括: 检查Microsoft SQL Server系统的服务和工具是否存在 应该自动生成的系统数据库和样本数据库是否存在 相关系统目录和文件是否正确等。,2019年4月29日,第23页,2.4 升级规划,分析和评估升级需求 确定升级内容和选择升级路线 模拟升级过程 制定详细升级计划和灾难恢复计划 执行升级操作 测试升级结果 完成升级总结报告,2019年4月29日,第24页,2.5 注册服务器,注册服务器就是为Microsoft SQL Server客户机/服务器系统确定一个数据库所在的机器,该机器作为服务器可以为客户端的各种请求提供服务。 服务器组是服务器的逻辑集合,可以利用Microsoft SQL Server Management Studio工具把许多相关的服务器集中在一个服务器组中,方便对多服务器环境的管理操作。,2019年4月29日,第25页,2.6 配置服务器选项,服务器选项用于确定Microsoft SQL Server 2005系统运行行为、资源利用状况。 既可以使用sp_configure系统存储过程配置服务器选项,也可以使用SQL Server Management Studio工具设置。,2019年4月29日,第26页,服务器选项,与以前版本相比,Microsoft SQL Server 2005系统的服务器选项有了比较大的变化,新增了许多选项,有些选项被废弃了。 Microsoft SQL Server 2005系统提供的60多个服务器选项的名称和对应的取值范围如表2-1所示。,2019年4月29日,第27页,使用sp_configure系统存储过程配置选项,sp_configure系统存储过程可以用来显示和配置服务器的各种选项。 sp_configure的基本语法形式如下: sp_configure option_name, value,2019年4月29日,第28页,使用SQL Server Management Studio配置选项,在SQL Server Management Studio工具的“对象资源管理器”中右击将要设置的服务器名称,从弹出的快捷菜单中选中“属性”选项,则出现如图2-18所示的“服务器属性 - ABCSERVER”对话框。 可以在该对话框中完成大多数选项的配置,2019年4月29日,第29页,第3章 管理安全性,SQL Server 2005基础教程 清华大学出版社,教学目标 教学过程,2019年4月29日,第30页,教学目标,理解数据库安全性问题和安全性机制之间的关系 掌握管理和维护登录名 理解SQL Server系统的密码策略 掌握固定服务器角色的特点和管理 掌握管理和维护数据库用户 掌握管理和维护架构 掌握权限类型和权限管理 理解系统内置的加密机制,2019年4月29日,第31页,教学过程,3.1 概述 3.2 管理登录名 3.3 固定服务器角色 3.4 管理数据库用户 3.5 管理架构 3.6 数据库角色 3.7 管理应用程序角色 3.8 管理权限 3.9 SQL Server 2005内置的加密机制 3.10 使用SQL Server Management Studio工具,2019年4月29日,第32页,3.1 概述,第一个安全性问题:当用户登录数据库系统时,如何确保只有合法的用户才能登录到系统中呢?这是一个最基本的安全性问题,也是数据库管理系统提供的基本功能。在Microsoft SQL Server 2005系统中,这个问题是通过身份验证模式和主体解决的。 第二个安全性问题:当用户登录到系统中,他可以执行哪些操作、使用哪些对象和资源呢?这也是一个非常基本的安全问题,在Microsoft SQL Server 2005系统中,这个问题是通过安全对象和权限设置来实现的。 第三个安全性问题:数据库中的对象由谁所有?,2019年4月29日,第33页,服务器安全对象范围,2019年4月29日,第34页,3.2 管理登录名,管理登录名包括创建登录名、设置密码策略、查看登录名信息、修改和删除登录名。下面讲述登录名管理的内容。 注意,sa是一个默认的SQL Server登录名,拥有操作SQL Server系统的所有权限。该登录名不能被删除。 当采用混合模式安装Microsoft SQL Server系统之后,应该为sa指定一个密码。,2019年4月29日,第35页,创建登录名,2019年4月29日,第36页,密码策略,Windows的密码策略包括了密码复杂性和密码过期两大特征。 密码的复杂性是指通过增加更多可能的密码数量来阻止黑客的攻击。 密码过期策略是指如何管理密码的使用期限。,2019年4月29日,第37页,维护登录名,登录名创建之后,可以根据需要修改登录名的名称、密码、密码策略、默认的数据库等信息,可以禁用或启用该登录名,甚至可以删除不需要的登录名。 ALTER LOGIN语句用来修改登录名的属性信息。 修改登录名的名称与删除、重建该登录名是不同的。,2019年4月29日,第38页,3.3 固定服务器角色,固定服务器角色也是服务器级别的主体,他们的作用范围是整个服务器。 固定服务器角色已经具备了执行指定操作的权限,可以把其他登录名作为成员添加到固定服务器角色中,这样该登录名可以继承固定服务器角色的权限。 下面,首先讲述Microsoft SQL Server 2005系统提供的固定服务器角色的特点,然后分析如何处理登录名与固定服务器角色之间的关系。,2019年4月29日,第39页,固定服务器角色的特点,Microsoft SQL Server 2005系统提供了8个固定服务器角色,这些固定服务器角色的清单和功能描述如表3-1所示。,2019年4月29日,第40页,固定服务器角色和登录名,在Microsoft SQL Server系统中,可以把登录名添加到固定服务器角色中,使得登录名作为固定服务器角色的成员继承固定服务器角色的权限。对于登录名来说,可以判断其是否某个固定服务器角色的成员。用户可以使用sp_addsrvrolemember、sp_helpsrvrolememeber、sp_dropsrvrolemember等存储过程和IS_SRVROLEMEMBER函数来执行有关固定服务器角色和登录名之间关系的操作。,2019年4月29日,第41页,3.4 管理数据库用户,数据库用户是数据库级的主体,是登录名在数据库中的映射,是在数据库中执行操作和活动行动者。 在Microsoft SQL Server 2005系统中,数据库用户不能直接拥有表、视图等数据库对象,而是通过架构拥有这些对象。 数据库用户管理包括创建用户、查看用户信息、修改用户、删除用户等操作。,2019年4月29日,第42页,创建用户,可以使用CREATE USER语句在指定的数据库中创建用户。由于用户是登录名在数据库中的映射,因此在创建用户时需要指定登录名。 例如,可以使用如图3-13所示的命令在AdventureWorks数据库中创建对应于Peter登录名的用户。,2019年4月29日,第43页,维护用户,可以使用ALTER USER语句修改用户。修改用户包括两个方面,第一,可以修改用户名;第二可以须改用户的默认架构。 如果用户不再需要了,可以使用DROP USER语句删除数据库中的用户,2019年4月29日,第44页,3.5 管理架构,架构是形成单个命名空间的数据库实体的集合。 架构是数据库级的安全对象,也是Microsoft SQL Server 2005系统强调的新特点,是数据库对象的容器。 管理架构包括创建架构、查看架构的信息、修改架构及删除架构等。,2019年4月29日,第45页,创建架构,使用CREATE SCHEMA语句不仅可以创建架构,而且在创建架构的同时还可以创建该架构所拥有的表、视图并且可以对这些对象设置权限。下面讲述如何创建架构。 图3-17是一个创建架构的最简单的示例。在这个示例中,仅仅指定companyGManager作为架构的名称,没有明确指定该架构的所有者。这时,该架构的所有者为当前执行该项操作的用户。,2019年4月29日,第46页,修改和删除架构,修改架构是指将特定架构中的对象转移到其他架构中。可以使用ALTER SCHEMA语句完成对架构的修改。需要注意的是,如果要更改对象本身的结构,那么应该使用针对该对象的ALTER语句。 如果架构已经没有存在的必要了,可以使用DROP SCHEMA语句删除架构。删除架构是需要注意,如果架构中包含有任意的对象,那么删除操作失败。只有当架构中不再包含有对象时,才可以被删除。,2019年4月29日,第47页,3.6 数据库角色,数据库角色是数据库级别的主体,也是数据库用户的集合。数据库用户可以作为数据库角色的成员,继承数据库角色的权限。 数据库管理人员可以通过管理角色的权限来管理数据库用户的权限。 Microsoft SQL Server 2005系统提供了一些固定数据库角色和public特殊角色。 下面详细描述数据库角色的特点和管理方式。,2019年4月29日,第48页,管理数据库角色,管理数据库角色包括创建数据库角色、添加和删除数据库角色成员、查看数据库角色信息、修改和删除角色等。 可以使用CREATE ROLE语句创建角色。 如果希望为角色添加成员,那么可以使用sp_addrolemember存储过程。 如果希望修改数据库角色的名称,那么可以使用ALTER ROLE语句。 如果某个角色确实不再需要了,那么可以使用DROP ROLE语句删除指定的角色。,2019年4月29日,第49页,固定数据库角色,就像固定服务器角色一样,固定数据库角色也具有了预先定义好的权限。使用固定数据库角色可以大大简化数据库角色权限管理工作。 Microsoft SQL Server 2005系统提供了9个固定数据库角色,这些固定数据库角色清单和权限描述如表3-2所示。,2019年4月29日,第50页,public角色,除了前面介绍的固定数据库角色之外,Microsoft SQL Server系统成功安装之后,还有一个特殊的角色,这就是public角色。 public角色有两大特点,第一,初始状态时没有权限;第二,所有的数据库用户都是他的成员。,2019年4月29日,第51页,3.7 管理应用程序角色,应用程序角色是一个数据库主体,它可以使应用程序能够用其自身的、类似用户的权限来运行。在使用应用程序时,可以仅仅允许那些经过特定应用程序连接的用户来访问数据库中的特定数据,如果不通过这些特定的应用程序连接,那么无法访问这些数据。这是使用应用程序角色实现安全管理的目的。 与数据库角色相比来说,应用程序角色有三个特点: 第一,在默认情况下该角色不包含任何成员; 第二,在默认情况下该角色是非活动的,必须激活之后才能发挥作用; 第三,该角色有密码,只有拥有应用程序角色正确密码的用户才可以激活该角色。当激活某个应用程序角色之后,用户会失去自己原有的权限,转而拥有应用程序角色的权限。,2019年4月29日,第52页,CREATE APPLICATION ROLE语句,在Microsoft SQL Server 2005系统中,可以使用CREATE APPLICATION ROLE语句创建应用程序角色。该语句的语法形式如下所示: CREATE APPLICATION ROLE application_role_name WITH PASSWORD = password, DEFAULT_SCHEMA = schema_name,2019年4月29日,第53页,3.8 管理权限,权限是执行操作、访问数据的通行证。只有拥有了针对某种安全对象的指定权限,才能对该对象执行相应的操作。 在Microsoft SQL Server 2005系统中,不同的对象有不同的权限。 为了更好地理解权限管理的内容,下面从权限的类型、常用对象的权限、隐含的权限、授予权限、收回权限、否认权限等几个方面讲述。,2019年4月29日,第54页,权限的类型,在Microsoft SQL Server 2005系统中,不同的分类方式可以把权限分成不同的类型。 如果依据权限是否预先定义,可以把权限分为预先定义的权限和预先未定义的权限。 如果按照权限是否与特定的对象有关,可以把权限分为针对所有对象的权限和针对特殊对象的权限。,2019年4月29日,第55页,常用对象的权限,上一节从权限的角度来看待对象,本节从对象的角度来看待权限。在使用GRANT语句、REVOKE语句、DENY语句执行权限管理操作时,经常使用ALL关键字表示指定安全对象的常用权限。 不同的安全对象往往具有不同的权限。安全对象的常用权限如表3-3所示。,2019年4月29日,第56页,授予权限,在Microsoft SQL Server 2005系统中,可以使用GRANT语句将安全对象的权限授予指定的安全主体。 在执行GRANT语句时,授权者必须具有带GRANT OPTION的相同权限,或具有隐含所授予权限的最高权限。,2019年4月29日,第57页,收回权限,如果希望从某个安全主体处收回权限,可以使用REVOKE语句。 REVOKE语句是与GRANT语句相对应的,可以把通过GRANT语句授予给安全主体的权限收回。 也就是说,使用REVOKE语句可以删除通过GRANT语句授予给安全主体的权限。,2019年4月29日,第58页,否认权限,安全主体可以通过两种方式获得权限,第一种方式是直接使用GRANT语句为其授予权限,第二种方式是通过作为角色成员继承角色的权限。 使用REVOKE语句只能删除安全主体通过第一种方式得到的权限,要想彻底删除安全主体的特定权限必须使用DENY语句。 DENY语句的语法形式与REVOKE语句非常类似。,2019年4月29日,第59页,3.9 SQL Server 2005内置的加密机制,Microsoft SQL Server 2005系统不是简单的提供一些加密函数,而是把成熟的数据安全技术引进到数据库中,形成了一个清晰的内置加密层次结构。 在加密技术领域,根据加密密钥和解密密钥是否相同,可以把加密方式分为对称加密机制和非对称加密机制,其数据传输示意图如图3-33所示。,2019年4月29日,第60页,3.10 使用Microsoft SQL Server Management Studio工具,除了可以使用Transact-SQL语句执行有关安全的操作之外,使用SQL Server Management Studio图形工具也可以完成许多有关安全管理的操作。 需要注意的是,考虑到性能和安全等原因,大多数情况下建议使用Transact-SQL语句执行相关的操作。,2019年4月29日,第61页,第4章 管理数据库,SQL Server 2005基础教程 清华大学出版社,教学目标 教学过程,2019年4月29日,第62页,教学目标,理解数据库的管理问题 理解数据库文件和文件组的基本特征 掌握数据库的物理存储方式和大小估算方法 使用CREATE DATABASE语句定义数据库 理解数据库选项的作用和设置方式 理解扩大数据库的原因和方法 理解收缩数据库的原因和方法 掌握文件组的管理方式 理解数据库快照的作用和特点 掌握优化数据库设计的方法,2019年4月29日,第63页,教学过程,4.1 概述 4.2 数据库文件和文件组的基本特征 4.3 定义数据库 4.4 修改数据库 4.5 管理数据库快照 4.6 其他相关操作 4.7 优化数据库,2019年4月29日,第64页,4.1 概述,为了有效地实现数据库的管理工作,我们必须至少解决8个方面的问题,这些问题包括 数据库文件的存储问题 数据库的大小问题 确定数据库运行时的行为特征 数据库的更改问题 数据库的扩大问题 数据库的收缩问题 如何兼顾数据库的事务处理效率和决策支持效率问题 数据库的性能优化问题等。,2019年4月29日,第65页,4.2 数据库文件和文件组的基本特征,本节主要讲述数据库文件的类型、事务的概念、文件组的作用、估算数据库文件大小的方法等内容。 一个数据库至少有一个数据文件和一个事务日志文件 数据文件又可以分成主数据文件和次数据文件两种形式 事务就是一个单元的工作,该单元的工作要么全部完成,要么全部不完成。 文件组就是文件的逻辑集合。为了方便数据的管理和分配,文件组可以把一些指定的文件组合在一起。 在Microsoft SQL Server系统中,可管理的最小物理空间是以页为单位的,每一个页的大小是8KB,2019年4月29日,第66页,4.3 定义数据库,定义数据库就是创建数据库和设置数据库选项。 本节从三个方面讲述定义数据库:创建数据库、设置数据库选项和查看数据库信息。,2019年4月29日,第67页,创建数据库,创建数据库就是确定数据库名称、文件名称、数据文件大小、数据库的字符集、是否自动增长以及如何自动增长等信息的过程。在一个Microsoft SQL Server实例中,最多可以创建32767个数据库。数据库的名称必须满足系统的标识符规则。在命名数据库时,一定要使数据库名称简短和有一定的含义。 具有CREATE DATABASE、CREATE ANY DATABASE或ALTER ANY DATABASE权限的用户才可以执行创建数据库的操作。 在Microsoft SQL Server系统中,既可以使用CREATE DATABASE语句创建数据库,也可以使用SQL Server Management Studio工具创建数据库。下面,主要介绍如何使用CREATE DATABASE语句创建数据库。,2019年4月29日,第68页,数据的状态和选项,为了理解数据库的运行特征,需要了解数据库的状态和选项。下面分别介绍数据库的状态和选项。 数据库总是存在某个特定的状态中,例如,ONLINE状态表示数据库处于正常的在线状态,可以对数据库执行正常的操作。数据库的状态清单和特征描述如表4-1所示。 设置数据库选项是定义数据库状态或特征的方式。在Microsoft SQL Server 2005系统中,共有大约40个数据库选项,这些选项可以分为13个类型。数据库选项清单和功能描述如表4-2所示。,2019年4月29日,第69页,查看数据库信息,在Microsoft SQL Server 2005系统中,可以使用一些目录视图、函数、存储过程查看有关数据库的基本信息。 sys.databases数据库和文件目录视图可以查看有关数据库的基本信息,sys.database_files可以查看有关数据库文件的信息,sys.filegroups可以查看有关数据库文件组的信息,sys.master_files可以查看数据库文件的基本信息和状态信息。 DATABASEPROPERTYEX函数可以查看指定数据库的指定选项的信息,一次只能返回一个选项的设置。见代码,2019年4月29日,第70页,4.4 修改数据库,数据库创建之后,根据需要,可以使用ALTER DATABASE语句对数据库进行修改。 除了前面讲过的设置数据库选项之外,修改操作还包括更改数据库名称、扩大数据库、收缩数据库、修改数据库文件、管理数据库文件组、修改字符排列规则等。 下面详细讨论这些内容。,2019年4月29日,第71页,更改数据库名称,数据库创建之后,一般情况下不要更改数据库的名称,因为许多应用程序都可能使用了该数据库的名称。数据库名称更改之后,需要修改相应的应用程序。但是,如果确实需要更改数据库名称,也可以使用ALTER DATABASE语句做到。 使用ALTER DATABASE语句更改数据库名称的语法形式如下所示: ALTER DATABASE database_name MODIFY NAME = new_database_name 见代码,2019年4月29日,第72页,扩大数据库,在Microsoft SQL Server系统中,如果数据库的数据量不断膨胀,可以根据需要扩大数据库的尺寸。 有三种扩大数据库的方式。见代码: 第一种方式是设置数据库为自动增长方式,可以在创建数据库时设置。 第二种方式是直接修改数据库的数据文件或日志文件的大小 第三种方式是在数据库中增加新的次要数据文件或日志文件。,2019年4月29日,第73页,收缩数据库,如果数据库的设计尺寸过大了,或者删除了数据库中的大量数据,这时数据库会白白耗费大量的磁盘资源。根据用户的实际需要,可以收缩数据库的大小。 在Microsoft SQL Server系统中,有三种收缩数据库的方式。见代码 第一种方式是设置数据库为自动收缩,这可以通过设置AUTO_SHRINK数据库选项实现。 第二种方式是收缩整个数据库的大小,这可以通过使用DBCC SHRINKDATABASE命令完成。 第三种方式是收缩指定的数据文件,这可以使用DBCC SHRIKNFILE命令实现。除了这些命令方式之外,也可以使用SQL Server Management Studio工具来收缩数据库。,2019年4月29日,第74页,修改数据库文件,用户可以根据需要使用ALTER DATABASE语句修改数据库中指定的文件。这些修改操作包括增加数据文件、在指定的文件组中增加指定文件、增加日志文件、删除指定的文件、修改指定的文件等。增加数据文件、修改指定的文件等操作已经讲过了,下面通过一些示例讲述有关数据库文件的其他操作。,2019年4月29日,第75页,管理文件组,文件组是数据库数据文件的逻辑组合,它可以对数据文件进行管理和分配,以便提高数据库文件的并发使用效率。 Transact-SQL语言没有提供独立的管理文件组的命令,只能通过ALTER DATABASE语句提供了管理文件组的命令。 这些管理文件组的命令包括新建文件组、设置默认的文件组、设置文件组的属性、修改文件组、删除文件组等。下面,详细研究管理文件组的操作。,2019年4月29日,第76页,4.5 管理数据库快照,数据库快照提供了源数据库在创建快照时刻的只读、静态视图。数据库快照可以有效地支持报表数据汇总、数据分析等只读操作。数据库快照也是Microsoft SQL Server 2005系统的一个显著特征。 如果源数据库中包含了未提交事务,那么这些事务不包含在数据库快照中。需要说明的是,数据库快照必须与源数据库在同一个服务器实例上。,2019年4月29日,第77页,4.6 其他相关操作,除了前面讲述的数据库操作之外,数据库管理操作还包括 分离数据库 附加数据库 删除数据库 下面讨论这些操作。,2019年4月29日,第78页,4.7 优化数据库,在创建数据库时,有两个基本目标:提高数据库的性能和提高数据库的可靠性。提高数据库的性能就是提高操纵数据库的速度。 提高数据库的可靠性就是数据库中某个文件破坏之后,数据库依然可以正常使用的能力。 一般地,可以通过选择如何放置数据文件和日志文件、如何使用文件组、如何使用RAID等技术来优化数据库和数据库文件。,2019年4月29日,第79页,第5章 Transact-SQL语言,SQL Server 2005基础教程 清华大学出版社,教学目标 教学过程,2019年4月29日,第80页,教学目标,理解Transact-SQL语言和SQL语言之间的关系 理解Transact-SQL语言的特点和执行方式 理解数据定义语言的类型和特点 理解数据操纵语言的类型和特点 理解数据控制语言的类型和特点 理解事务管理语言的类型和特点 理解附加语言元素的类型和特点,2019年4月29日,第81页,教学过程,5.1 概述 5.2 Transact-SQL语言的特点和执行方式 5.3 数据定义语言 5.4 数据操纵语言 5.5 数据控制语言 5.6 事务管理语言 5.7 附加的语言元素 5.8 数据类型 5.9 内置函数,2019年4月29日,第82页,5.1 概述,Transact-SQL语言是微软公司在Microsoft SQL Server系统中使用的语言,是对SQL语言的一种扩展形式。 Transact-SQL语言有4个特点:一是一体化的特点,集数据定义语言、数据操纵语言、数据控制语言、事务管理语言和附加语言元素为一体。二是有两种使用方式,即交互使用方式和嵌入到高级语言中的使用方式。三是非过程化语言,只需要提出“干什么”,不需要指出“如何干”,语句的操作过程由系统自动完成。四是,类似于人的思维习惯,容易理解和掌握。,2019年4月29日,第83页,5.2 Transact-SQL语言的特点和执行方式,在Microsoft SQL Server 2005系统中,根据Transact-SQL语言的功能特点,可以把Transact-SQL语言分为5种类型,即数据定义语言、数据操纵语言、数据控制语言、事务管理语言和附加的语言元素。 在Microsoft SQL Server 2005系统中,主要使用SQL Server Management Studio工具来执行Transact-SQL语言编写的查询语句。除此之外,还可以使用sqlcmd实用工具来执行Transact-SQL语句。,2019年4月29日,第84页,5.3 数据定义语言,数据定义语言用于创建数据库和数据库对象,为数据库操作提供对象。例如,数据库以及表、触发器、存储过程、视图、索引、函数、类型、用户等都是数据库中的对象,都需要通过定义才能使用。在DDL中,主要的Transact-SQL语句包括CREATE语句、ALTER语句、DROP语句。 见代码,2019年4月29日,第85页,5.4 数据操纵语言,数据操纵语言主要是用于操纵表、视图中数据的语句。当我们创建表对象之后,初始状态时该表是空的,没有任何数据。如何向表中添加数据呢?这时需要使用INSERT语句。如何检索表中数据呢?可以使用SELECT语句。如果表中数据不正确的,那么可以使用UPDATE语句进行更新。当然,也可以使用DELETE语句删除表中的数据。实际上,DML语言正是包括了INSERT、SELECT、UPDATE、DELETE等语句。见代码,2019年4月29日,第86页,5.5 数据控制语言,数据控制语言(DCL)主要用来执行有关安全管理的操作,该语言主要包括GRANT语句、REVOKE语句和DENY语句。GRANT语句可以将指定的安全对象的权限授予相应的主体,REVOKE语句则删除授予的权限,DENY语句拒绝授予主体权限,并且防止主体通过组或角色成员继承权限。,2019年4月29日,第87页,5.6 事务管理语言,在Microsoft SQL Server系统中,可以使用BEGIN TRANSACTION、COMMIT TRANSACTION、ROLLBACK TRANSACTION等事务管理语言(TML)语句来管理显式事务。 其中,BEGIN TRANSACTION语句用于明确地定义事务的开始,COMMIT TRANSACTION语句用于明确地提交完成的事务。 如果事务中出现了错误,那么可以使用ROLLBACK TRANSACTION语句明确地取消定义的事务。见代码,2019年4月29日,第88页,5.7 附加的语言元素,除了前面介绍的语句之外,Transact-SQL语言还包括了附加的语言元素。这些附加的语言元素主要包括标识符、变量和常量、运算符、表达式、数据类型、函数、控制流语言、错误处理语言、注释等。 下面,详细研究这些内容。,2019年4月29日,第89页,标识符,在Transact-SQL语言中,数据库对象的名称就是其标识符。在Microsoft SQL Server系统中,所有的数据库对象都可以有标识符,例如服务器、数据库、表、视图、索引、触发器、约束等。大多数对象的标识符是必须的,例如,创建表时必须为表指定标识符。但是,也有一些对象的标识符是可选的,例如,创建约束时用户可以不提供标识符,其标识符由系统自动生成。 按照标识符的使用方式,可以把这些标识符分为常规标识符和分割标识符两种类型。,2019年4月29日,第90页,变量和常量,在Microsoft SQL Server 2005系统中,变量也被称为局部变量,是可以保存单个特定类型数据值的对象。 常量是表示特定数据值的符号,常量也被称为字面量。常量的格式取决于它所表示的值的数据类型。 见代码,2019年4月29日,第91页,运算符,运算符是一种符号,用来指定要在一个或多个表达式中执行的操作。 在Microsoft SQL Server 2005系统中,可以使用的运算符可以分为算术运算符、逻辑运算符、赋值运算符、字符串串联运算符、按位运算符、一元运算符、比较运算符等。,2019年4月29日,第92页,表达式,在Transact-SQL语言中,表达式是由标识符、变量、常量、标量函数、子查询、运算符等的组合。在Microsoft SQL Server 2005系统中,表达式可以在多个不同的位置使用,这些位置包括查询中检索数据的一部分、搜索数据的条件等。 表达式可以分为简单表达式和复杂表达式两种类型。,2019年4月29日,第93页,控制流语言,一般地,结构化程序设计语言的基本结构是顺序结构、条件分支结构和循环结构。顺序结构是一种自然结构,条件分支结构和循环结构都需要根据程序的执行状况对程序的执行顺序进行调整。 在Transact-SQL语言中,用于控制语句流的语言被称为控制流语言。Microsoft SQL Server 2005系统提供了8种控制流语句,这些语句如表5-7所示。见代码,但不能执行,2019年4月29日,第94页,错误捕捉语言,为了增强程序的健壮性,必须对程序中可能出现的错误进行及时地处理。 在Transact-SQL语言中,可以使用两种方式处理发生的错误:使用TRYCATCH构造和使用ERROR函数。,2019年4月29日,第95页,注释,所有的程序设计语言都有注释。注释是程序代码中不执行的文本字符串,用于对代码进行说明或暂时仅用正在进行诊断的部分语句。一般地,注释主要描述程序名称、作者名称、变量说明、代码更改日期、算法描述等。 在Microsoft SQL Server系统中,支持两种注释方式,即双连字符(-)注释方式和正斜杠星号字符对(/*/)注释方式。见代码,2019年4月29日,第96页,5.8 数据类型,本节将从六个方面研究Transact-SQL语言的数据类型。首先,分析数据类型的概念、特点和主要类型。然后,讲述数字数据类型的主要内容和特点。之后,描述字符数据类型的使用方式。接下来,研究日期和时间数据类型的输入输出特点。接着,分析二进制数据类型的特点。最后,讲述其他数据类型的内容和特点。,2019年4月29日,第97页,数据类型的类型和特点,在Microsoft SQL Server 2005系统中,需要使用数据类型的对象包括:表中的列、视图中的列、定义的局部变量、存储过程中的参数、Transact-SQL函数、存储过程的返回值等。 Microsoft SQL Server 2005系统提供了28种数据类型。这些数据类型可以分为数字数据类型、字符数据类型、日期和时间数据类型、二进制数据类型以及其他数据类型。,2019年4月29日,第98页,数字数据类型,使用数字数据的数据类型被称为数字数据类型。这些数据类型的数字可以参加各种数学运算。我们还可以为这些数据类型继续进行分类。 从这些数字是否有小数,可以把这些数据类型分为整数类型和小数类型。 从这些数字的精度和位数是否可以明确地确定,可以把这些数据类型分为精确数字类型和近似数字类型。 从是否可以表示金额,可以分为货币数字类型和非货币数字类型。,2019年4月29日,第99页,字符数据类型,字符数据类型用于存储固定长度或可变长度的字符数据。 在Microsoft SQL Server 2005系统中,提供了CHAR、VARCHAR、TEXT、NCHAR、NVARCHAR、NTEXT等6种数据类型。前3种数据类型是非Unicode字符数据,后3种是Unicode字符数据。,2019年4月29日,第100页,时间和日期数据类型,如果希望存储日期和时间数据,那么可以使用DATETIME或SMALLDATETIME数据类型。这两种数据类型的差别在于其表示的日期和时间范围不同、时间精确度也不同。 DATETIME数据类型可以表示的范围是1753年1月1日至9999年12月31日,时间精确度是3.33毫秒。SMALLDATETIME数据类型可以表示的范围是1900年1月1日至2079年12月31日,时间精确度是1分钟。,2019年4月29日,第101页,二进制数据类型,二进制数据类型包括BINARY、VARBINARY、IMAGE等3种数据类型,可以用于存储二进制数据。 其中,BINARY可以用于存储固定长度的二进制数据,VARBINARY用于存储可变长度的二进制数据。 微软建议使用VARBINARY(MAX)代替IMAGE数据类型,2019年4月29日,第102页,其他数据类型,除了前面介绍的数据类型之外,Microsoft SQL Server 2005系统还提供了CURSOR、SQL_VARIANT、TABLE、TIMESTAMP、UNIQUEIDENTIFIER、XML等数据类型。使用这些数据类型可以完成特殊数据对象的定义、存储和使用。,2019年4月29日,第103页,5.9 内置函数,可以把Microsoft SQL Server 2005系统提供的内置函数分为13种类型,每一种类型的内置函数都可以完成某种类型的操作, 这些类型的函数名称和主要功能如表5-8所示。,2019年4月29日,第104页,第6章 表,SQL Server 2005基础教程 清华大学出版社,教学目标 教学过程,2019年4月29日,第105页,教学目标,理解设计表时应该考虑的因素 理解表的基本特点和类型 掌握使用CREATE TABLE语句创建表 修改表的结构 理解标识符列的作用和特点 掌握已分区表的作用和管理方式,2019年4月29日,第106页,教学过程,6.1 设计表时应该考虑的因素 6.2 表的基本特点和类型 6.3 创建和修改表 6.4 已分区表,2019年4月29日,第107页,6.1 设计表时应该考虑的因素,因素一,考虑表将要存储哪些数据对象,绘制出ER图。 因素二,考虑表中将要包含的列,这些列的数据类型、精度等属性是什么? 因素三,考虑列的属性,例如哪些列允许空值,哪些列不允许空值? 因素四,考虑表是否使用主键,如果使用则在何处使用主键? 因素五,考虑是否使用约束、默认值、规则,以及在何处使用这些对象? 因素六,考虑是否使用外键,在何处使用外键? 因素七,考虑是否使用索引,在何处使用索引,使用什么样的索引?,2019年4月29日,第108页,6.2 表的基本特点和类型,本节讲述两方面的内容,首先分析和描述表的基本特点,然后讨论表的分类方式和表的类型。,2019年4月29日,第109页,表的基本特点,表是关系模型中表示实体的方式,是用来组织和存储数据、具有行列结构的数据库对象。 一般而言,表具有下列一些基本特点:代表实体、由行和列组成、行和列的顺序是不重要的等等。 下面,详细讲述这些特点。,2019年4月29日,第110页,表的类型,在Microsoft SQL Server 2005系统中,按照表的作用,可以把表分为4种类型,即 普通表 已分区表 临时表 系统表 每一种类型的表都有自己的作用和特点。,2019年4月29日,第111页,6.3 创建和修改表,本节主要围绕着创建和修改表展开讨论。 内容包括创建表、增加和删除列、修改列的属性、设置标识符列、查看表的信息、删除表等。,2019年4月29日,第112页,创建表,在Microsoft SQL Server 2005系统中,既可以使用CREATE TABLE语句创建表,也可以使用可视化的SQL Server Management Studio图形工具。下面主要研究如何使用CREATE TABLE语句创建表。 CREATE TABLE语句一种经常使用的创建表的方法,也是一种最灵活、最强大的创建表的方式。,2019年4月29日,第113页,增加或删除列,表创建之后,用户可以根据需要使用ALTER TABLE语句修改表的结构。在表中增加新列、删除已有的列是常见的修改表结构的操作。 当用户向表中增加一个新列时,Microsoft SQL Server为表中该列在已有数据的每一行中的相应位置插入一个数据值。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 别韦参军高适课件
- 别让鸽子开巴士课件
- 化工企业工人安全培训课件
- 内部安全培训演练记录课件
- 初中教师春季安全培训课件
- 化学操作安全培训内容课件
- 先进单位发言课件
- 创意安全培训教育心得课件
- 化学品安全培训教育课件
- 先天性肛门闭锁课件
- 大疆行业解决方案
- 人教版小学四年级上册《积的变化规律》
- 《阿Q正传》【知识精研】(高二选必下册第二单元)
- TCACM 1476-2023 医疗机构小儿推拿技术规范
- 现场5S管理问题及改善
- 临床试验监查员工作总结
- 《目录学概论》课件
- 《保密意识培训》课件
- 2025年“物业管理及公共服务”等知识考试题库附完整答案【历年真题】
- 新时代大学生劳动教育 课件 第1章 劳动和劳动形态
- 生鲜店加盟合同模板
评论
0/150
提交评论