1 / 45

第 1 章 走进 SQL Server

第 1 章 走进 SQL Server. 学习目标 本章重点 本章内容. 学习目标. 以 Microsoft SQL Server 为代表的数据库产品具有超大容量的数据存储、高效率的数据查询算法、方便易用的向导和工具及友好亲切的用户接口,大大推动了数据管理、电子商务、知识管理的应用和发展。 作为微软公司的旗舰产品, Microsoft SQL Server 是一种典型的关系型数据库管理系统,它不仅提供了数据定义、数据控制、数据操纵等基本功能,还提供了系统安全性、数据完整性、并发性、审计性、可用性、集成性等功能。

jara
Download Presentation

第 1 章 走进 SQL Server

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第1章 走进SQL Server 学习目标 本章重点 本章内容

  2. 学习目标 • 以Microsoft SQL Server为代表的数据库产品具有超大容量的数据存储、高效率的数据查询算法、方便易用的向导和工具及友好亲切的用户接口,大大推动了数据管理、电子商务、知识管理的应用和发展。 • 作为微软公司的旗舰产品,Microsoft SQL Server是一种典型的关系型数据库管理系统,它不仅提供了数据定义、数据控制、数据操纵等基本功能,还提供了系统安全性、数据完整性、并发性、审计性、可用性、集成性等功能。 • 作为开场白,本章快速浏览Microsoft SQL Server的特点。

  3. 本章重点 • 简史 • 体系结构 • 数据库 • 数据库对象 • 管理工具 • 开发过程

  4. 本章内容 1.1 简史 1.2 体系架构 1.3 数据库的类型和特点 1.4 数据库对象的类型、特点和示例 1.5 管理工具 1.6 数据库应用开发和数据库开发 1.7 上机练习 1.8 习题

  5. 本章内容 1.1 简史 1.2 体系架构 1.3 数据库的类型和特点 1.4 数据库对象的类型、特点和示例 1.5 管理工具 1.6 数据库应用开发和数据库开发 1.7 上机练习 1.8 习题

  6. 1.1 简史 • 通常把Microsoft SQL Server简称为SQL Server。 • 严格地说,SQL Server和Microsoft SQL Server是不同的,Microsoft SQL Server是微软公司开发的SQL Server系统,SQL Server系统不一定是指微软公司的产品。 • 最早的SQL Server系统并不是微软开发出来的,而是由赛贝斯公司推出的。

  7. 历程 • 1987年,赛贝斯公司发布了Sybase SQL Server系统。 • 1988年,微软公司、Aston-Tate公司参加到了赛贝斯公司的SQL Server系统开发中。 • 1989年,推出了SQL Server 1.0 for OS/2系统。 • 1990年,Aston-Tate公司退出了联合开发团队,微软公司则希望将SQL Server移植到自己刚刚推出的新技术产品即Windows NT系统中。 • 1992年,微软与赛贝斯公司年签署了联合开发用于Windows NT环境的SQL Server系统。 • 1993年,微软公司与赛贝斯公司在SQL Server系统方面的联合开发正式结束。 • 1995年,微软公司成功地发布了Microsoft SQL Server 6.0系统。 • 1996年,微软公司又发布了Microsoft SQL Server 6.5系统。 • 1998年,微软公司又成功地推出了Microsoft SQL Server 7.0系统。 • 2000年,微软公司迅速发布了与传统SQL Server有重大不同的Microsoft SQL Server 2000系统。 • 2005年12月,微软公司发布了Microsoft SQL Server 2005系统。

  8. SQL Server 2005系统 • 2005年12月,微软公司发布了Microsoft SQL Server 2005系统。 • 与Microsoft SQL Server 2000系统相比,Microsoft SQL Server 2005系统又在此基础上进行了更多的改进,对整个数据库系统的安全性和可用性进行了巨大的变革,并且与.NET架构的捆绑更加紧密。

  9. 本章内容 1.1 简史 1.2 体系架构 1.3 数据库的类型和特点 1.4 数据库对象的类型、特点和示例 1.5 管理工具 1.6 数据库应用开发和数据库开发 1.7 上机练习 1.8 习题

  10. 1.2 体系架构 • Microsoft SQL Server是一个提供了联机事务处理、数据仓库、电子商务应用的数据库和数据分析的平台。 • 体系架构是描述系统组成要素和要素之间关系的方式。Microsoft SQL Server系统的体系结构是对Microsoft SQL Server的主要组成部分和这些组成部分之间关系的描述。 • Microsoft SQL Server 2005系统由4个主要部分组成,这4个部分被称为4个服务,这些服务分别是数据库引擎、分析服务、报表服务和集成服务,这些服务之间相互存在和相互应用,它们的关系示意图如图1-1所示。

  11. SQL Server 2005体系架构示意图

  12. 数据库引擎 • 数据库引擎(SQL Server Database Engine,SSDE)是Microsoft SQL Server 2005系统的核心服务,负责完成业务数据的存储、处理、查询和安全管理。 • 例如,创建数据库、创建表、执行各种数据查询、访问数据库等操作,都是由数据库引擎完成的。 • 在大多数情况下,使用数据库系统实际上就是使用数据库引擎。 • 例如,在某个使用Microsoft SQL Server 2005系统作为后台数据库的航空公司机票销售信息系统中, Microsoft SQL Server 2005系统的数据库引擎服务负责完成机票销售数据的添加、更新、删除、查询及安全控制等操作。

  13. 功能组件 • 数据库引擎本身也是一个复杂的系统,它包括了许多功能组件,例如Service Broker、复制、全文搜索、通知服务等。 • Service Broker提供了异步通信机制,可以用于存储、传递消息。 • 复制是指在不同的数据库之间对数据和数据库对象进行复制和分发,保证数据库之间同步和数据一致性的技术。复制经常用于物理位置不同的服务器之间的数据分发,它可以通过局域网、广域网、拨号连接、无线连接和 Internet 分发到不同位置的远程或移动用户。 • 全文搜索提供了基于关键字的企业级的搜索功能。 • 通知服务提供了基于通知的开发和部署平台。

  14. 分析服务 • 分析服务(SQL Server Analysis Services,SSAS)提供了OLAP和数据挖掘功能,可以支持用户建立数据仓库。 • 相对OLAP来说,OLTP是由数据库引擎负责完成的。使用SSAS服务,可以设计、创建和管理包含了来自于其他数据源数据的多维结构,通过对多维数据进行多个角度的分析,可以支持管理人员对业务数据的更全面的理解。 • 另外,通过使用SSAS服务,用户可以完成数据挖掘模型的构造和应用,实现知识发现、表示和管理。 • 例如,在航空公司的机票销售信息系统中,可以使用Microsoft SQL Server 2005系统提供的SSAS服务完成对客户的数据挖掘分析,可以发现更多有价值的信息和知识,从而为减少客户流失、提高客户管理水平提供有效的支持。

  15. 报表服务 • 报表服务(SQL Server Reporting Services,SSRS)为用户提供了支持Web的企业级的报表功能。 • 通过使用Microsoft SQL Server 2005系统提供的SSRS服务,用户可以方便地定义和发布满足自己需求的报表。 • 无论是报表的布局格式,还是报表的数据源,用户都可以轻松地实现。 • 这种服务极大地便利了企业的管理工作,满足了管理人员高效、规范的管理需求。 • 例如,在航空公司的机票销售信息系统中,使用Microsoft SQL Server 2005系统提供的SSRS服务可以方便地生成Word、PDF、Excel等格式的报表。

  16. 集成服务 • 集成服务(SQL Server Integration Services,SSIS)是一个数据集成平台,可以完成有关数据的提取、转换、加载等。 • 例如,对于分析服务来说,数据库引擎是一个重要的数据源,如何将数据源中的数据经过适当地处理加载到分析服务中以便进行各种分析处理,这正是SSIS服务所要解决的问题。 • 重要的是,SSIS服务可以高效地处理各种各样的数据源,除了Microsoft SQL Server数据之外,还可以处理Oracle、Excel、XML文档、文本文件等数据源中的数据。

  17. 本章内容 1.1 简史 1.2 体系架构 1.3 数据库的类型和特点 1.4 数据库对象的类型、特点和示例 1.5 管理工具 1.6 数据库应用开发和数据库开发 1.7 上机练习 1.8 习题

  18. 1.3 数据库的类型和特点 • Microsoft SQL Server 2005系统提供了两种类型的数据库,即系统数据库和用户数据库。 • 系统数据库存放Microsoft SQL Server 2005系统的系统级信息。Microsoft SQL Server 2005使用这些系统级信息管理和控制整个数据库服务器系统。 • 用户数据库是由用户创建的、用来存放用户数据和对象的数据库。

  19. 系统数据库 • 系统数据库分别是master、model、msdb、Resource和tempdb等数据库。 • master数据库是最重要的系统数据库,它记录了SQL Server系统级的所有信息,这些系统级的信息包括登录账户信息、服务器配置信息、数据库文件信息、SQL Server初始化信息等等。 • model数据库是一个模板数据库。该数据库存储了可以作为模板的数据库对象和数据。 • msdb是与SQLServerAgent服务有关的数据库。该系统数据库记录有关作业、警报、操作员、调度等信息。 • tempdb是一个临时数据库,用于存储查询过程中所使用的中间数据或结果。 • Resource是一个只读数据库,包含了Microsoft SQL Server 2005系统中的所有信息。 • 当系统配置允许执行复制并且作为分发服务器时,系统将自动创建distribution系统数据库。

  20. OLTP和OLAP • OLTP是联机事务处理(online transaction processing)的简称,OLAP是联机分析处理(online analytical processing)的简称。 • 在OLTP数据库中,数据是按照二维表格的形式来存储的。OLTP数据库的主要作用是降低存储在数据库中的各种信息的冗余度和加快对数据的检索、插入、更新及删除速度。OLTP数据库是当前最为流行的数据库模型。 • OLAP数据存储模型与OLTP不同。OLAP数据存储模型的结构是星型结构或雪崩结构,主要作用是提高系统对数据的检索和分析速度。 • Microsoft SQL Server是一种典型的OLTP系统,具有OLAP系统的功能。

  21. 示例数据库 • AdventureWorks不是系统数据库,而是一个示例OLTP数据库。该数据库存储了某公司的业务数据。用户可以利用该数据库来学习SQL Server的操作,也可以模仿该数据库的结构设计用户自己的数据库。 • AdventureWorksDW是一个示例OLAP数据库,用于在线事务分析。用户可以利用该数据库来学习SQL Server的OLAP操作,也可以模仿该数据库的内部结构设计用户自己的OLAP数据库。

  22. 本章内容 1.1 简史 1.2 体系架构 1.3 数据库的类型和特点 1.4 数据库对象的类型、特点和示例 1.5 管理工具 1.6 数据库应用开发和数据库开发 1.7 上机练习 1.8 习题

  23. 1.4 数据库对象的类型、特点和示例 • 数据库是数据和数据库对象的容器。数据库对象是指存储、管理和使用数据的不同结构形式。 • 在Microsoft SQL Server 2005系统中,主要的数据库对象包括数据库关系图、表、视图、同义词、存储过程、函数、触发器、程序集、类型、规则、默认值等。 • 设计数据库的过程实际上就是设计和实现数据库对象的过程。

  24. 数据库对象的类型

  25. 数据库对象的特点 • 【数据库关系图】节点包含了数据库中的关系图对象。数据库中的关系图对象用来描述数据库中表和表之间的对应关系,是数据库设计的常用方法。 • 在【表】节点中,包含了数据库中最基本、最重要的对象:表。表实际用来存储系统数据和用户数据,是整个系统的最核心的数据库对象,是其他大多数数据库对象的基础。 • 在【视图】节点中,包含了数据库中的视图对象。视图是一种虚拟表,用来查看数据库中的一个或多个表。视图是建立在表基础之上的数据库对象,主要以SELECT语句形式存在,是生成数据报表、开发数据库应用程序的重要基础。

  26. 其他对象的特点 • 在【同义词】节点中,包含了数据库中的同义词对象。这是Microsoft SQL Server 2005系统新增的一种对象。同义词是数据库对象的别名,使用同义词对象可以大大简化对复杂数据库对象名称的引用方式。 • 图1-3中的【可编程性】节点是一个逻辑组合,它包括存储过程、函数、数据库触发器、程序集、类型、规则、默认值等对象,如图1-4所示。 • 在【存储过程】节点中,包含了数据库中存储过程对象的信息。存储过程是指封装了可重用代码的模块或例程。存储过程可以接受输入参数、向客户返回结果和消息、调用Transact-SQL语句并且返回输出参数等。在Microsoft SQL Server 2005系统中,可以使用Transact-SQL语言或CLR语言定义存储过程。

  27. 其他对象的特点 • 数据库中的函数对象组织在【函数】节点中。函数是接受参数、执行复杂操作并将结果以数值的形式返回的例程。数据库中的函数可以进一步分为表值函数、标量值函数、聚合函数和系统函数等类型。 • 在【数据库触发器】节点中,包含了数据库中定义的触发器对象。触发器是一种特殊的存储过程,在数据库服务器中发生指定的事件后自动执行。 • 在【程序集】节点中,包含了数据库中的程序集对象。程序集是在Microsoft SQL Server 2005系统中使用的DDL文件,用于部署用CLR编写的函数、存储过程、触发器、用户定义聚合和用户定义类型等对象。

  28. 其他对象的特点 • 在【类型】节点中,包含了系统数据类型、用户定义数据类型、用户定义类型和XML架构集合等对象类型。 • 在【规则】节点中包含了数据库中的规则对象。规则可以限制表中列值的取值范围,以确保输入数据的正确性和质量。实际上,规则是一种向后兼容的、用于执行与CHECK约束相同的功能。 • 【默认值】节点中包含了数据库中的默认值对象。默认对象也是一种完整性对象,它可以为表中的特定列提供默认值。 • 图1-3中的【Service Broker】节点中,包含了用来支持异步通信机制的对象,这些对象包括消息类型、约定、队列、服务、路由、远程服务绑定等对象,具体内容如图1-5所示。

  29. AdventureWorks 示例数据库 • AdventureWorks和AdventureWorksDW都是Microsoft SQL Server 2005的示例数据库,这些示例数据库中存储了Adventure Works Cycles公司的业务数据。Adventure Works Cycles公司是SQL Server系统虚拟的一家跨国公司,主要生产金属和复合材料自行车,产品远销北美、欧洲、亚洲等市场。该公司拥有290多名员工和多个活跃在世界各地的地区性销售团队。 • AdventureWorks数据库包含了70多个表和5个架构,这些架构分别是HumanResources、Person、Production、Purchasing和Sales。

  30. 本章内容 1.1 简史 1.2 体系架构 1.3 数据库的类型和特点 1.4 数据库对象的类型、特点和示例 1.5 管理工具 1.6 数据库应用开发和数据库开发 1.7 上机练习 1.8 习题

  31. 1.5 管理工具 • Microsoft SQL Server 2005系统提供了大量的管理工具。用户借助这些管理工具,可以对系统进行快速、高效的管理。 • 这些管理工具主要包括Microsoft SQL Server Management Studio、SQL Server配置管理器、SQL Server Profiler、数据库引擎优化顾问,以及大量的命令行实用工具等。 • 下面,分别介绍这些工具的特点和作用。

  32. Microsoft SQL Server Management Studio • Microsoft SQL Server Management Studio是Microsoft SQL Server 2005提供的一种集成环境,该工具可以完成访问、配置、控制、管理和开发SQL Server的所有工作。 • 实际上,Microsoft SQL Server Management Studio将各种图形化工具和多功能的脚本编辑器组合在一起,大大方便了技术人员和数据库管理员对SQL Server系统的各种访问。 • 可以从程序组中启动该工具。

  33. SQL Server配置管理器 • 在Microsoft SQL Server 2005系统中,可以通过【计算机管理】工具或【SQL Server配置管理器】查看和控制SQL Server的服务。 • 在桌面上,选择【我的电脑】|【管理】命令,可以看到如图1-9所示的【计算机管理】窗口。 • 在该窗口中,可以通过【SQL Server配置管理器】节点中的【SQL Server 2005服务】子节点查看到Microsoft SQL Server 2005系统的所有服务及其运行状态。

  34. SQL Server Profiler • 使用SQL Server Profiler工具可以完成系统运行过程的摄录操作。 • SQL Server Profiler是用于从服务器中捕获SQL Server 2005事件的工具。这些事件可以是连接服务器、登录系统、执行Transact-SQL语句等操作。

  35. 数据库引擎优化顾问 • 数据库引擎优化顾问(Database Engine Tuning Advisor)工具可以帮助用户分析工作负荷、提出创建高效率索引的建议等功能。 • 借助数据库引擎优化顾问,用户不必详细了解数据库的结构就可以选择和创建最佳的索引、索引视图、分区等。工作负荷是对要优化的一个或多个数据库执行的一组Transact-SQL语句。

  36. 实用工具 • 在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等。

  37. sqlcmd实用工具 • sqlcmd实用工具可以在命令提示符处输入Transact-SQL语句、系统过程和脚本文件。 • 实际上,该工具是作为osql实用工具和isql实用工具的替代工具而新增的,它通过OLE DB与服务器进行通信。 • sqlcmd实用工具运行的界面如图1-12所示。

  38. 本章内容 1.1 简史 1.2 体系架构 1.3 数据库的类型和特点 1.4 数据库对象的类型、特点和示例 1.5 管理工具 1.6 数据库应用开发和数据库开发 1.7 上机练习 1.8 习题

  39. 1.6 数据库应用开发和数据库开发 • 数据库是数据库应用的一个重要组成部分,数据库开发往往与数据库应用开发交织在一起。 • 因此,为了更好地理解Microsoft SQL Server 2005数据库的开发过程,需要理解数据库应用开发过程的特点。 • 下面,首先介绍数据库应用开发的主要阶段,然后讲述数据库开发的主要阶段,最后分析两者之间的关系。

  40. 数据库应用开发 • 数据库应用开发的目标是建立一个可以满足用户需求的应用程序或信息系统。 • 数据库应用开发过程往往包含多个不同的阶段,每个阶段都有自身的特点。有关数据库应用开发过程,不同的专家或开发方法有不同的观点,建议的阶段从3~20个不等。 • 一般认为,数据库应用开发过程主要包括调查研究、系统分析、系统设计、系统实施和系统评价等5个阶段,各阶段之间的关系示意图如图1-13所示。

  41. 数据库开发 • 数据库开发过程是指设计和实现一个可以满足用户需求和使用的数据库的过程。 • 一般,数据库开发过程包括4个阶段,即概念数据建模、逻辑数据库设计、物理数据库设计和数据库实现,各阶段之间的关系示意图如图1-14所示。

  42. 数据库开发和数据库应用开发的关系 • 数据库开发和数据库应用开发不是隔绝的,而是交互进行的。 • 例如,数据需求来自于整个应用程序的需求,概念数据建模阶段是系统分析阶段的一个重要组成部分,逻辑数据库设计阶段是在系统设计阶段完成的,物理数据库设计、数据库实现和维护与系统设计、系统实现、系统维护阶段的工作密不可分。 • 为了完成数据库开发目标,数据库开发过程必须与整个数据库应用开发过程协调进行。 • 数据库开发过程和数据库应用开发过程之间的这种关系示意图如图1-15所示。

  43. 本章内容 1.1 简史 1.2 体系架构 1.3 数据库的类型和特点 1.4 数据库对象的类型、特点和示例 1.5 管理工具 1.6 数据库应用开发和数据库开发 1.7 上机练习 1.8 习题

  44. 1.7 上机练习 • 本章上机练习的主要内容是练习使用Microsoft SQL Server Management Studio图形工具和sqlcmd实用程序。

  45. 1.8 习题 1. 练习在Microsoft SQL Server Management Studio工具中浏览AdventureWorks示例数据库,统计一下共有多少示例表、视图和触发器,并且浏览表中的数据。 2. 练习在Microsoft SQL Server Management Studio工具中输入Transact-SQL命令,并且执行命令。

More Related