450 likes | 609 Views
第 1 章 概述. 本章概述 本章的学习目标 主要内容. 本章概述. 信息技术是知识经济最重要的支撑技术之一,其核心内容是数据库技术、网络技术和程序设计技术。 以 Microsoft SQL Server 为代表的数据库产品具有超大容量的数据存储、高效率的数据查询算法、方便易用的向导和工具及友好亲切的用户接口,大大推动了数据管理、电子商务、知识发现的迅猛发展。
E N D
第1章 概述 本章概述 本章的学习目标 主要内容
本章概述 • 信息技术是知识经济最重要的支撑技术之一,其核心内容是数据库技术、网络技术和程序设计技术。 • 以Microsoft SQL Server为代表的数据库产品具有超大容量的数据存储、高效率的数据查询算法、方便易用的向导和工具及友好亲切的用户接口,大大推动了数据管理、电子商务、知识发现的迅猛发展。 • 作为微软公司的旗舰产品,Microsoft SQL Server是一种典型的关系型数据库管理系统,它不仅提供了数据定义、数据控制、数据操纵等数据库系统的基本功能,还提供了系统安全性、数据完整性、并发性、审计性、可用性、集成性等独特功能。 • 作为开场白,本章将快速浏览Microsoft SQL Server的特点,让读者对Microsoft SQL Server有一个整体的认识,为后面的学习打下牢固的基础
本章的学习目标 • 了解Microsoft SQL Server的简史 • 了解OLTP和OLAP的特点 • 理解Microsoft SQL Server的体系架构 • 理解数据库的类型和特点 • 理解数据库对象的类型和特点 • 了解Microsoft SQL Server 2005的主要管理工具的特点 • 了解数据库管理员的主要工作 • 理解数据库应用程序的开发过程
主要内容 1.1 概述 1.2 数据库和数据库对象 1.3 管理工具 1.4 数据库管理员 1.5 应用程序的开发过程 1.6 本章小结
1.1 概述 • 本节将从3个方面向读者介绍Microsoft SQL Server。 • 首先介绍Microsoft SQL Server系统的发展简史 • 然后解释OLTP和OLAP的概念和作用 • 最后谈一谈Microsoft SQL Server系统的体系架构。
Microsoft SQL Server简史 • 1987年,赛贝斯公司发布了Sybase SQL Server系统,这是一个用于Unix环境的关系型数据库管理系统。 • 1988年,微软公司、Aston-Tate公司参加到了赛贝斯公司的SQL Server系统开发中。 • 1990年,开发情况发生了变化,Aston-Tate公司退出了联合开发团队,微软公司则希望将SQL Server移植到Windows NT系统中。微软公司与赛贝斯公司的合作开发一直持续到1993年发布的SQL Server 。 • 1993年,微软公司与赛贝斯公司在SQL Server系统方面的联合开发正式结束。从此,微软公司致力于用于Windows各种版本环境的SQL Server系统开发。 • 1995年,微软公司成功地发布了Microsoft SQL Server 6.0系统。 • 1996年,微软公司又发布了Microsoft SQL Server 6.5系统。 • 1998年,微软公司又成功地推出了Microsoft SQL Server 7.0系统。 • 2000年,微软公司发布了Microsoft SQL Server 2000系统。 • 2005年12月,微软公司发布了Microsoft SQL Server 2005系统。
OLTP和OLAP • Microsoft SQL Server既可以用于普通的联机事务处理(online transaction processing,OLTP)环境,也可以用于决策支持的联机分析处理(online analytical processing,OLAP)环境。 • 按照OLTP数据存储模型组织数据的应用环境称为OLTP环境。OLTP数据存储模型也称为OLTP数据库。 • OLAP数据存储模型的结构是星型结构或雪崩结构。从目的来看,OLAP数据库的主要作用是提高系统对数据的检索和分析速度。
主要内容 1.1 概述 1.2 数据库和数据库对象 1.3 管理工具 1.4 数据库管理员 1.5 应用程序的开发过程 1.6 本章小结
1.2 数据库和数据库对象 • 本节将介绍Microsoft SQL Server 2005的数据库和数据库对象的类型和特点,以及示例数据库的特点。 • 首先介绍数据库的类型和特点,然后详细介绍数据库中各种对象的类型和特点。最后,研究一下AdventureWorks数据库的特点。
数据库的类型和特点 • Microsoft SQL Server 2005系统提供了两种类型的数据库,即系统数据库和用户数据库。 • 系统数据库存放Microsoft SQL Server 2005系统的系统级信息,例如系统配置、数据库、登录账户、数据库文件、数据库备份、警报、作业等信息。Microsoft SQL Server 2005使用这些系统级信息管理和控制整个数据库服务器系统。 • 用户数据库是由用户创建的、用来存放用户数据的数据库。 • Microsoft SQL Server 2005系统的数据库类型示意图如图1-2所示。
数据库对象的类型和特点 • 数据库是数据和数据库对象的容器。数据库对象是指存储、管理和使用数据的不同结构形式。 • 在Microsoft SQL Server 2005系统中,主要的数据库对象包括数据库关系图、表、视图、同义词、存储过程、函数、触发器、程序集、类型、规则、默认值等。 • 设计数据库的过程实际上就是设计和实现数据库对象的过程。
AdventureWorks示例数据库 • AdventureWorks和AdventureWorksDW都是Microsoft SQL Server 2005的示例数据库,这些示例数据库中存储了Adventure Works Cycles公司的业务数据。Adventure Works Cycles公司是一家虚拟的跨国公司,主要生产金属和复合材料自行车,产品远销北美、欧洲、亚洲等市场。该公司拥有290多名员工和多个活跃在世界各地的地区性销售团队。 • Microsoft SQL Server 2005系统以AdventureWorks数据库为示例讲述如何创建OLTP数据库,以AdventureWorksDW数据库为示例介绍如何创建商业智能解决方案。下面,主要介绍AdventureWorks数据库的特点。 • AdventureWorks数据库包含了5个架构,以便实现用户和架构分离。这些架构分别是HumanResources、Person、Production、Purchasing和Sales。
主要内容 1.1 概述 1.2 数据库和数据库对象 1.3 管理工具 1.4 数据库管理员 1.5 应用程序的开发过程 1.6 本章小结
1.3 管理工具 • Microsoft SQL Server 2005系统提供了大量的管理工具。用户使用这些管理工具,可以对系统进行快速、高效的管理。 • 这些管理工具主要包括 • Microsoft SQL Server Management Studio • SQL Server配置管理器 • SQL Server Profiler • 数据库引擎优化顾问 • 大量的命令行实用工具等 • 下面,分别介绍这些工具的特点和作用。
Microsoft SQL Server Management Studio • Microsoft SQL Server Management Studio是Microsoft SQL Server 2005提供的一种新的集成环境,该工具可以完成访问、配置、控制、管理和开发SQL Server的所有工作。实际上,Microsoft SQL Server Management Studio将各种图形化工具和多功能的脚本编辑器组合在一起,大大方便了技术人员和数据库管理员对SQL Server系统的各种访问。
SQL Server Profiler • SQL Server Profiler是用于从服务器中捕获SQL Server 2005事件的工具。这些事件可以是连接服务器、登录系统、执行Transact-SQL语句等操作。这些事件可以保存在一个跟踪文件中,可以在以后对该文件进行分析,也可以用来重播指定的系列步骤,从而有效地发现系统中存在的性能比较差的查询语句等相关问题。
数据库引擎优化顾问 • 数据库引擎优化顾问(Database Engine Tuning Advisor)工具可以帮助用户分析工作负荷、提出创建高效率索引的建议等功能。借助数据库引擎优化顾问,用户不必详细了解数据库的结构就可以选择和创建最佳的索引、索引视图、分区等。工作负荷是对要优化的一个或多个数据库执行的一组Transact-SQL语句。 • 既可以在Microsoft SQL Server Management Studio中的查询编辑器中创建Transact-SQL脚本工作负荷,也可以使用SQL Server Profiler中的优化模板来创建跟踪文件和跟踪表工作负荷。
实用工具 • 在Microsoft SQL Server 2005系统中,不仅提供了大量的图形化工具,还提供了大量的命令行实用工具。 • 这些命令行实用工具包括bcp、dta、dtexec、dtutil、Microsoft.AnalysisServices. Deployment、nscontrol、osql、profiler90、rs、rsconfig、rskeymgmt、sac、sqlagent90、sqlcmd、SQLdiag、sqlmaint、sqlservr、sqlwb、tablediff等。
主要内容 1.1 概述 1.2 数据库和数据库对象 1.3 管理工具 1.4 数据库管理员 1.5 应用程序的开发过程 1.6 本章小结
1.4 数据库管理员 • 在Microsoft SQL Server 2005系统中,数据库管理员(database administration,DBA)是最重要的角色。 • DBA的工作目标就是确保Microsoft SQL Server 2005系统正常高效地运行。
十二项任务 • 任务一:安装和配置。 • 任务二:容量规划。 • 任务三:应用架构设计。 • 任务四:管理数据库对象。 • 任务五:存储空间管理。 • 任务七:安全管理。 • 任务六:备份和恢复。 • 任务八:性能监视和调优。 • 任务九:调度作业。 • 任务十:网络管理。 • 任务十一:高可用性和高可伸缩性管理。 • 任务十二:故障解决。
任务一:安装和配置 • 毫无疑问,DBA的第一项任务是安装和配置Microsoft SQL Server 2005软件系统,为顺利使用Microsoft SQL Server 2005软件创建良好的环境。无论是安装还是配置,都应该根据实际需要来进行,使得系统满足用户的实际需求。 • 需要注意的是,系统配置不是一劳永逸的,应该随时根据需求的变化和环境的需要,进行监视和适当地调整。
任务二:容量规划 • 容量规划是对整个Microsoft SQL Server 2005系统进行一个总体的规划。这种规划的重点应该放在解决瓶颈问题上,可以从内容方面和期限方面考虑系统的容量规划。 • 从内容上来看,应该考虑的具体内容包括硬件容量规划、软件规划、网络规划。硬件容量规划包括磁盘空间、CPU、I/O等规划。软件规划包括操作系统的安装和配置规划、数据库规划、数据库对象内容和数量规划等。网络规划包括网络硬件、网络软件和协议、网络客户数量流量和分布、网络拓扑结构等规划。 • 从期限上来看,应该考虑短期、中期和长期规划。短期规划的目的是满足当前日常业务的需要。中期规划主要是满足业务发展和扩大的需要。长期规划的内容主要是满足业务极限需要等。
任务三:应用架构设计 • 数据库设计应该考虑数据库的逻辑需求、数据库的创建方式和数量、数据库数据文件和日志文件的物理位置等。一般情况下,可以在Microsoft SQL Server 2005系统成功安装之后,可根据规划的目标,手工创建数据库。 • 应用设计应该考虑开发工具的选择、API技术、内部资源和外部资源的结合、应用架构的分布等内容。在应用设计时,需要强调的一点是DBA应该与开发人员共同工作,确保他们编写出优化的代码,并且尽可能地使用服务器的资源。 • 技术架构设计主要包括表示层、逻辑层和数据层的分布。这些分布不应该考虑到硬件资源和用户需求。既不能片面地追求过高的硬件资源,也不能仅仅局限于当前的环境,一定要按照可扩展的观点来综合考虑。
任务四:管理数据库对象 • 管理数据库对象是使用数据库的最基本、最重要的工作。这些对象包括表、索引、视图、存储过程、函数、触发器、同义词等。 • 为了完成管理数据库对象的工作,DBA应该能够很好地回答诸如下面的一些问题: • 系统应该包括哪些数据? • 应该怎样存储这些数据? • 应该在系统中创建哪些表? • 应该在这些表中创建哪些索引,以便加速对这些表中数据的检索? • 是否应该创建视图?为什么要创建这些视图? • 应该创建哪些存储过程、函数、CLR对象? • 应该在哪些表上创建触发器?应该针对哪些操作创建触发器? • 是否应该创建同义词?
任务五:存储空间管理 • 存储空间管理任务就是怎样为数据分配空间、怎样保持空间可以满足数据的不断增长。随着业务量的继续和扩大,数据库中的数据也会逐渐地增加,事务日志也不断地增加。 • 存储空间管理任务主要应该回答下面几个问题: • 当前的数据库由那些数据文件组成? • 事务日志的大小应该如何设置? • 数据的增长速度是多大? • 如何配置数据文件和日志文件的增长方式? • 数据库中的数据何时可以清除或转移到其他地方?
任务六:安全管理 • 安全性是DBA重要的日常工作之一。安全管理的主要内容包括账户管理和权限管理。 • 账户管理就是在数据库中应该增加哪些账户、这些账户应该组合成哪些角色等。 • 权限管理是指对象权限和语句权限的管理,也就是说应该回答下面这些问题: • 这些账户或角色应该使用哪些对象? • 这些账户或角色应该对这些对象执行哪些操作? • 这些账户或角色应该在数据库中执行哪些操作? • 如何设置架构?如何建立架构和对象、架构和用户的关系?
任务七:备份和恢复 • 无论系统运行如何,系统的灾难性管理是不可缺少的。天灾、人祸、系统缺陷都有可能造成系统的瘫痪、失败。 • 怎样解决这些灾难性问题呢?办法就是制订和实行备份和恢复策略。 • 备份就是制作数据的副本,恢复就是将数据的副本复原到系统中。备份和恢复工作是DBA的一项持续性的重要工作,其执行频率可以根据数据的重要程度和系统的稳定程度来确定。
任务八:性能监视和调优 • 根据企业的经营效益可以评价企业的管理水平,根据学生的考试成绩可以评价学生的学习好坏。作为一个大型软件系统,Microsoft SQL Server 2005系统的运行好坏必须得到正确地监视、评价和相应的调整。这是DBA的一项高级工作。 • 借助一些工具和运行性能指标,DBA应该能够监视系统的运行。如果某些运行指标出现了问题,DBA应该及时地采取补救措施,以使系统始终保持高效运行状态。
任务九:调度作业 • 即使是一个DBA,也不可能一天24小时不停地盯住系统的运行,及时地执行某些指定的操作。 • Microsoft SQL Server 2005系统提供了许多工具,DBA应该充分利用这些工具和机制,解决下面一些问题: • 调度哪些作业应该由系统执行? • 这些作业应该在何时执行? • 如何确保这些作业可以正确地执行? • 如果自动执行的作业执行失败时,应该如何处理? • 如何使系统可以均衡地执行相应的操作?
任务十:网络管理 • 作为一种分布式的网络数据库,网络管理的任务更加重要。 • Microsoft SQL Server 2005系统提供了网络管理工具和服务,DBA应该借助这些工具和服务规划和管理网络操作。
任务十一:高可用性和高可伸缩性管理 • 作为一个DBA,必须保持系统具有高可用性和高可伸缩性。可用性是一项度量计算机系统正常运行时间的指标。可伸缩性描述应用程序可以接受的并发用户访问的数量问题。影响系统可用性的主要因素包括网络可靠性、硬件故障、应用程序失败、操作系统崩溃、自然灾害等。无论是数据库系统管理员,还是应用程序设计人员,都应该最小化系统破坏的几率,最大化系统的可用性。
任务十二:故障解决 • 虽然我们不希望在Microsoft SQL Server 2005系统出现故障,但是故障可能是无法避免的。这些故障可能每天都会发生。有些故障是人为不小心造成的,有些故障可能是系统中的缺陷形成的,有些故障可能是莫名其妙的。 • 作为一个DBA,是其他用户心目中Microsoft SQL Server系统的权威。无论是大事还是小事,DBA都应该做到迅速诊断、准确判断及快速修复。从这个意义上来说,DBA是一个数据库系统的专业医生。
主要内容 1.1 概述 1.2 数据库和数据库对象 1.3 管理工具 1.4 数据库管理员 1.5 应用程序的开发过程 1.6 本章小结
1.5 应用程序的开发过程 • 本节将介绍两个方面的内容。 • 首先,介绍数据库应用架构的类型和特点。接下来,叙述如何开发数据库应用程序。
数据库应用架构 • 在一个数据库应用系统中,包括数据存储层、业务处理层和界面表示层3个层次。数据存储层就是完成对数据的各种维护操作,一般是由数据库系统来完成该层上的工作。业务处理层就是数据库应用将要处理的与用户紧密相关的各种业务操作,这一层次的工作通常使用有关程序设计语言的编程来完成。界面表示层是数据库应用系统提供给用户的可视化操作界面,是用户提出请求和接收回应的地方。 • 数据库应用架构就是指数据库应用系统中数据存储层、业务处理层、界面表示层及网络通信之间的布局和分布。 • 根据目前数据库系统的应用和发展,可以把这些应用归并为五类: • 即单用户数据库应用架构 • 集中式数据库应用架构 • 客户机/服务器应用架构 • 多层数据库应用架构 • Internet数据库应用架构
主要内容 1.1 概述 1.2 数据库和数据库对象 1.3 管理工具 1.4 数据库管理员 1.5 应用程序的开发过程 1.6 本章小结
1.6 本章小结 • 本章对Microsoft SQL Server进行了全面的概述。 • 首先,介绍了Microsoft SQL Server的发展历史。 • 接下来,描述了Microsoft SQL Server的系统结构特征。 • 紧接着,快速浏览了Microsoft SQL Server系统的数据库类型和特点、数据库对象类型和特点,以及AdventureWorks示例数据库的特点。 • 然后,对系统提供的主要工具进行了分析,并且讨论了数据库管理员的工作特点。 • 最后,分析了数据库应用程序开发的基本过程。