Chinaunix首页 | 论坛 | 博客
  • 博客访问: 9903923
  • 博文数量: 299
  • 博客积分: 9955
  • 博客等级: 中将
  • 技术积分: 4177
  • 用 户 组: 普通用户
  • 注册时间: 2008-02-27 20:59
文章分类
文章存档

2015年(1)

2012年(2)

2011年(9)

2010年(47)

2009年(108)

2008年(132)

我的朋友

分类: Mysql/postgreSQL

2009-10-02 14:08:03

第1学时:SQL Server介绍
你将要进入Microsoft SQL Server 7.0广阔的世界了。SQL Server是今天市场上功能最强大
的数据库引擎之一。对于门外汉来说,学习SQL Server可能是件非常令人胆怯的事情。在下
面的2 4个学时里,你将发现有很多东西要学,但是掌握起来却不难。尽管本书不能使你成为
SQL Server专家,但完成全部2 4学时课程后,你会完全理解这个软件是怎样工作的及其大部
分功能。
本学时课程的要点包括:
• SQL Server简介
• SQL Server历史
• 关系型数据库管理系统
• SQL Server 7.0的主要特点
• SQL Server和客户/服务器模式
• DBA介绍
1.1 SQL Server简介
在你深入地了解SQL Server如何运行以前,理解SQL Server是什么十分重要。首先也是最
重要的是,SQL Server不是一个数据库。它是一个关系型数据库管理系统,或者简称R D B M S。
尽管听起来有些混淆不清,但它确实不是数据库。SQL Server或任何其他R D B M S都是一个用
来建立数据库的引擎。这有点像M i c r o s o f t的Wo r d。Wo r d不是一个文档,而是一个建立并管理
文档的工具。
新术语数据库是存储在一定位置的数据的集合。
新术语关系型数据库管理系统(Relational Database Management System,R D B M S )是用来存
储和管理数据库的引擎。
SQL Server是一个作为服务运行的Wi n d o w s应用程序。这就是说,它要运行在Wi n d o w s环
境下,并且启动后需要极少的用户交互。SQL Server 提供了用于建立用户连接、提供数据安
全性和查询请求服务的全部功能。你所要做的是建立一个数据库和与之交互的应用程序,不
用为背后的过程担心。
1.2 SQL Server历史
SQL Server 已经以多种形式问世很长时间了。SQL Server诞生于1 9 8 8年。第一个版本是
S y b a s e和M i c r o s o f t合资开发的,只能在O S / 2上运行,在市场是完全失败的。在1 9 9 3年,S Q L
Server 4.2 for Windows NT Advanced Server3.1发布了。这个版本在市场上取得了一些进展,
但离一个企业级R D B M S的要求还差很多。Microsoft 和S y b a s e在1 9 9 4年分道扬镳。在1 9 9 5年,
微软发布了SQL Server 6.0。1 9 9 6年,发布了SQL Server 6.5。SQL Server 6.5具备了市场所需
的速度快、功能强、易使用、价格低等特点。
除了上述管理人员所需的特点外, SQL Server的成功一部分要归功于它的发布与市场方
向的改变同步。很大程度上,市场在向更快、更便宜、基于I n t e l芯片、在Windows NT系统上
运行的方向发展。这就意味着,放弃其它网络操作系统后,如果需要一个R D B M S,那么S Q L
S e r v e r便成了自然的选择。
新术语网络操作系统(Network Operating System)是一种专用操作系统,用来为诸如文件、
打印机等提供网络服务。
1 9 9 9年初发布的SQL Server 7.0使SQL Server挤进了企业级数据库行列。尽管SQL Server
以前的版本有大量最初的S y b a s e代码,SQL Server 7.0据称为1 0 0%的M i c r o s o f t代码。甚至据
说当最后一行原始代码被去掉时, M i c r o s o f t开发者们开了一个晚会。这就是说, SQL Server
7 . 0即使不是完全重新编写的,也是非常接近于此的。
1.3 关系型数据库管理系统
在讲解SQL Server 7.0的主要特点前,你应该先熟悉一下R D B M S的重要特征。这些特征
是学习任何R D B M S系统的基础。它包括:
• R D B M S管理关系型数据库。一个关系型数据库是一组表。表中的每行称为记录,每列
称为字段。没有记录和字段,也就没有内容可管理。
新术语表是一组彼此相关的记录的组合。例如:你可以有一张包含你的公司中每位员工的
信息的表。
新术语一个记录(或者说一行)是一组彼此相关数据的集合。例如:一个记录包含公司中一
名员工的诸如姓名、地址、薪水等数据。
新术语一个字段(或者说一列)是一个记录中一个单独的数据。例如:一名员工的姓名或地
址。
• 所有R D B M S都使用S Q L或它的变体以控制包含在任意数据库中的数据。S Q L是I B M公
司在7 0年代末期开发的。
• R D B M S必须要保证数据的完整性。换句话说,任何关系型数据库需要保证如果多个表
中的数据被更新,则所有的都更新。例如:假设一个银行系统有两张表,一张是你的存
款帐,一张是你的支票帐。你打电话给银行,要求从存款帐上划拨1 0 0美元到支票帐上。
这个过程包括从存款帐上减去1 0 0美元,再在支票帐上增加1 0 0美元。如果从存款帐上减
去1 0 0美元后,银行停电了,将会发生什么?如果没有数据完整性,你将失去1 0 0美元。
有了数据完整性,当服务器加电后,会发现减法已经完成,而加法还没有进行,那么,
已经完成的一切都将取消。我将会在第4学时“数据库结构基础”中,进一步讲解数据
完整性。
• 多数R D B M S坚持把实际数据和业务逻辑区分开,以确保数据库中的数据可以保持持久
状态。多数情况下,你只想在数据库中存储数据。
2 SQL Server 7 24学时教程
下载
• 许多R D B M S通过使用压缩算法将冗余数据删去的方式存储数据。这样并不意味着数据
丢失了,只是占用更少的存储空间。
• 每个R D B M S都为所管理的数据库提供了某种安全措施。这通常通过某种登录过程实现。
1.4 SQL Server 7.0的主要特点
现在你对几乎所有R D B M S的主要特点已有了一些了解,你可能在想SQL Server 7.0有什
么特殊之处?如果这些特点在任何一个R D B M S中都有,我又何必用SQL Server 呢? S Q L
Server 确有许多独特之处使之在竞争对手中显得卓尔不群。
1.4.1 基于图形的管理工具
作为一个SQL Server的初学者,图形化管理工具使得在SQL Server 7.0中管理服务器变得
非常容易。你将使用的主要图形用户接口工具是SQL Enterprise Manager。这个工具利用了微
软管理控制台的功能。M M C是微软发布的用来从一个位置管理的所有运行于Windows NT的
服务的工具。它可用来从单个应用程序管理Windows NT、Internet Information Server、S Q L
S e v e r和其他产品。
新术语图形用户接口( G U I ),是一种以图形方式与应用程序交互的工具。Wi n d o w s是G U I的
一个例子。与此相反,所有D O S应用程序都没有G U I。这类应用程序使用的都是基于文本或
命令行的应用方式。
新术语微软管理控制台(Microsoft Management Console,M M C )是一种用来管理所有运行在
Windows NT下的服务的工具。它提供了一个单一的位置来管理所有服务的功能。
1.4.2 集中式的管理
不管你的SQL Server 服务器相距多远,你都可以在中心位置使用SQL Enterprise Manager
来管理你的服务器。例如:你有十台服务器,相距数百里之遥,但是你能使用一台计算机来
管理所有的服务器。这将大大降低维护多台服务器的费用,因为你只需一名管理员来管理所
有服务器。
1.4.3 支持多客户应用程序
SQL Server 7.0支持几乎各种类型的客户应用程序。SQL Server 提供了一组标准应用程序,
你可以用它们来管理服务器和修改数据。我将在第5学时“使用工具”中讲解这些应用程序。
SQL Server还提供了一组标准,如Open Database Connectivity(开放式数据库连接, O D B C )。
使用O D B C,你可以建立一个定制的应用程序来连接到SQL Server和驱动程序对于它可用的其
他类型的R D B M S。
新术语O D B C是一组驱动程序,可以使基于不同数据库平台的程序开发变得更快更容易。
1.4.4 支持多个不同的开发平台
你几乎可以用现有的任意开发平台编写应用程序来访问SQL Server。这就是说不管用什
第1学时SQL Serv e r介绍3
下载
么语言编写的程序都可以用于SQL Server。对于SQL Server来说,最适合的软件包是已发布的
微软产品Visual Studio,其中包括几种工具可供你方便、迅捷地开发新的SQL Server应用程序。
通过O D B C,几种第三方的软件包也可以用来开发在SQL Server上运行的应用程序。
1.4.5 支持企业级的应用程序
在数据库领域,SQL Server过去常被认为离企业级数据库服务器还有一定差距。随着S Q L
Server 7.0的发布,SQL Server开始真正步入企业级数据库领域。SQL Server 7.0企业版在3 2位
处理器上能支持超过数十万亿字节容量的数据库。
1.4.6 运行于Windows NT和Windows 95/98
为用于大规模产品, SQL Server 7.0通常在Windows NT上运行。与SQL Server以前的版本
不同, SQL Server 7.0也可以在装有Windows 95/98的单机上运行。尽管这听起来不是很大的
改进,但对开发商来说,可以节省大量的时间。这就是说一个开发商可以开发一个与单个数
据库连接的应用程序。例如可以支持移动用户的应用程序。这些用户可以在离线时浏览和修
改数据。以后,当他们连入网络时,这些改动会与主数据源同步。在SQL Server以前的版本
上,开发商要先为主数据源而使用SQL Server,然后再为离线的数据源使用一个较小型且不
太健壮的数据库,如A c c e s s。SQL Server 7.0使这种情况变得好用多了。
1.4.7 支持数据复制
与以前的版本一样, SQL Server 7.0支持数据复制。复制是为了保证你的用户在想用时就
能用数据的过程。SQL Server 7.0增加了大量的功能。它支持合并复制这种新的复制方法。对
于Microsoft Access用户来说,合并复制不是新东西。合并复制允许用户在任何地方修改数据。
用户所做的修改可以发送到主机做拷贝,然后再复制到其他订阅服务器。尽管看起来这不是
什么大改变,但对于即时复制多份数据拷贝来说,是非常有用的。这样做不仅可以减小给用
户发送数据所占用的网络带宽,还可以使用户得到所需数据的时间缩短。
新术语复制是为主数据库中数据做拷贝,并将拷贝发送到订阅服务器的过程。
1.4.8 支持分布式事务处理
SQL Server 7.0支持分布式事务处理。分布式事务处理是指几个服务器同时进行的事务处
理。如果分布式事务处理系统中任意一个服务器不能响应所请求的改动,那么系统中的所有
服务器都不能改动。再回到本学时前面提到的银行的例子中,你的银行在过去几个月里,已
经兼并了几次,客户已由数千人增加到数百万人。银行将所有客户的存款帐户存储在一个服
务器中,而把他们的支票帐户存储在另一个服务器中。分布式事务处理系统将会保证两个服
务器同时进行改动,没有数据会丢失。
新术语分布式事务处理( D T C )是指同时发生在几个不同的服务器上的事务处理。为了保证
进行分布式事务处理,所有的计算机都必须能响应请求的改动。否则,所有请求的改动都会
被取消。
4 SQL Server 7 24学时教程
下载
1.4.9 支持数据仓库
SQL Server 7.0在处理大量数据方面已做了很多改进。这使SQL Server 7.0在管理大型数
据仓库方面相当完美。数据仓库通常是一些海量数据库,这些数据库包含了来自于面向事务
的数据库的数据。这些大型数据库用来研究趋势,这些趋势决非是一般草率的检查可以发现
的。
1.4.10 内建式的在线分析处理
SQL Server 7.0最大的优点之一是将O L A P (在线分析处理工具)服务内建于服务器中。这些
服务叫作Microsoft Decision Support Services(微软决策支持服务)。与市场上的其他服务器不
同,你不用再购买一个第三方的通常很昂贵的应用程序。这就降低了花在SQL Server上的总
费用。
1.4.11 拥有SQL Server的总费用低于其竞争对手
最后,但也很重要的一点是,如果将SQL Server的所有特点与它的竞争对手做一个比较,
你会高兴地发现:在硬件、软件、客户许可证、管理费用、开发所需费用方面, SQL Server
均比市场上其他RDBMS 要低。投资在不同R D B M S中所需的总费用有时会相差数百万美元。
用最少的钱买一个最好的R D B M S,确实不错。
1.5 SQL Server和客户/服务器模式
虽然客户/服务器模式不是什么新技术,但还是值得一提。客户/服务器模式可溯源到大型
机系统。在大型机系统中,所有的过程和数据都存储在通常很昂贵的主机上。当与主机交互
时,你便成为一个没有任何处理能力的客户。所有的计算处理都在主机上进行,只把最终结
果发送回客户机。当计算机价钱开始下跌后,没过多长时间,人们就发现可以让主机上的一
些计算处理过程在客户机上完成,从而节省一大笔费用。通过这种方式,在中心计算机上不
必花多少钱。这就是客户/服务器的由来。
传统意义上,一提到客户/服务器模式,通常都会想到两个方面,一方是客户机,另一方
是服务器。客户机通常用来显示数据、执行数据有效性的确认、处理从R D B M S发回的错误信
息。服务器存储数据、响应用户请求、从逻辑上维护数据。这类模式最主要的难题在于客户
机和服务器双方共同使用的业务逻辑和规则。例如,一个业务规则可能要求用户以一定的格
式输入电话号码。而后业务活动中规则改变了。在这种情况下,你要么在所有的客户机上改
动,那简直是一场恶梦;要么你在服务器上维持原来所有的业务规则,这通常是极大的资源
浪费。
新术语业务规则是一组在业务中建立、管理和存储数据的规定。
客户/服务器模式的下一代被称为N - Ti e r ( N层)的模式。这种模式中,几个不同的计算机分
别执行不同的功能。R D B M S位于所谓的数据层中。该计算机只用来存储数据和响应数据请求。
客户机所在的层叫作表示层,客户机只用来显示数据。最大的不同在中间层。中间层叫作数
据服务层。数据服务层包含所有的业务逻辑和规则。当规则改变时,可以只修改中间层而不
用去修改表示层或数据层。该层可用许多语言编写,如Visual Basic或Visual C++。这种N层结
第1学时SQL Serv e r介绍5
下载
构的问题在于费用。建一个成功的N层要比建一个简单的两层客户/服务器结构需多花一大笔
费用。但这笔费用会在以后的运行维护中得到回报。在两层的客户/服务器结构中要花费数天
甚至几个月的重建和重新分布客机应用程序工作,现在可以在几分钟内完成。
新术语N层结构是一种将计算机分布在执行各种不同功能的不同层次中的结构。
1.6 DBA介绍
你可能经常听到D B A这个词,不免会想什么是D B A,为什么会有D B A?D B A最简单的定
义就是数据库管理员,一个管理数据库或数据库服务器的人。你可以想象得到,对于一个
D B A,要知道的东西远比听起来的要多。要做一个好的SQL Server DBA,需要学很多知识。
这些不仅仅是与SQL Server有关的。因为SQL Server与Windows NT捆绑在一起,所以他们至
少对Windows NT要有一个大致了解。
新术语D B A (数据库管理员)是一个管理数据库和数据库服务器的人。
对于一个SQL Server DBA来说需要哪些技能呢?有许多,其中一部分会更重要些。下面
是一些作为一个优秀的SQL Server DBA应掌握的技能:
• SQL Server—要想成为一个好的SQL Server DBA,你必须掌握SQL Server。一个S Q L
Server DBA需要掌握怎样安装、配置、维护SQL Server,并能解决问题。这看起来不多,
但你要明白,SQL Server是一个很大的产品。有利之处是微软增加了许多功能来帮助你
完成这些任务。
• Windows NT—正如前面所提到的,一个SQL Server DBA至少要了解Windows NT的
运行机制。SQL Server 7.0与以前发布的版本相比与Windows NT捆绑得更紧密了。S Q L
Server DBA的一些基本技能就是熟练地管理用户和用户组;建立、修改和管理共享软
件;改变和管理权限;启动和停止Windows NT服务;使用Event Vi e w e r (事件浏览器)。
• 关系型数据库—因为SQL Server最主要的功能就是管理关系型数据库,所以对于一个
SQL Server DBA来说,掌握关系型数据库怎样运行以及它的基本结构是非常重要的。
• S Q L—每个D B A都需要对S Q L语言有一个基本的了解。这并不是说要你成为一个程序
员,但你确实要知道怎样将S E L E C T语句组织到一起。这样做的好处是:你越多用S Q L
语言,收益越大。
• 备份和恢复过程—随着你在数据库中有更多的经历,你遇到的问题可能并不是数据库
或服务器是否会崩溃,而是何时会崩溃。当一个数据库损坏后,最好的选择是将最近备
份的数据恢复回去。如果一个数据库崩溃了,而你又没做日常备份,通常你就需要写求
职履历和找工作了。
• 业务处理—每个D B A,不管使用什么R D B M S,都需要精通基本的业务运作。可以断
定,无论从事什么业务,你的数据库都将模拟你的业务运作。例如:一种在因特网上售
物的业务可能需要有一个数据库来跟踪货物、用户帐目和帐单的信息。
现在你已经知道什么是SQL Server DBA了,你可能会想, SQL Server DBA需要做什么
呢?作为一个SQL Server DBA要负责许多工作,并面临巨大的潜在压力。下面是一个D B A所
负责的一些基本工作:
• 安装SQL Server—这大概是一个SQL Server DBA所要做的第一件事。安装SQL Server
6 SQL Server 7 24学时教程
下载
比较简单,但是如果没有很好地计划,后面的路将会很难走。常见的情况是,安装一个
SQL Server并使它能在片刻之后运行起来,但发现安装了软件的服务器功能不够强大,
以至无法处理所担负的工作量。这时,你只好考虑升级硬件或换一个服务器了。
• 建立和维护数据库—在SQL Server上建立新数据库是D B A的另一个常规任务,维护现
有的数据库也将是最重要的工作之一。如果不能正确地维护数据库,数据库将不能正常
启动,某种意义上,这对D B A来说意味着更多的工作。
• 负责维修数据库—这是与维护数据库相伴而来的任务。这包括诸如运行数据库的工具
来保证每件事情都正确地建立和分配。关键是在你和用户遇到问题之前,就要去发现并
解决导致这些问题的错误。
• 管理用户—每当一个新成员加入或离开你的公司时,增加或删除这些用户的登录I D就
是D B A的事了。这非常重要,尤其是考虑到一些人在离开公司时可能会悄悄对数据库做
些手脚。
• 管理权限—作为一名SQL Server DBA,另一项重要的有关安全方面的工作是管理权限。
这之所以非常重要,是因为通常数据都保存在数据库中,你不想让公司里的一般人接触
到这些数据。例如有关薪水的资料。一名SQL Server DBA需要为有这类数据的表分配
权限。这样,只有被允许的人才能访问这些数据。
• 备份和恢复数据—这是作为一名SQL Server DBA非常可能遇到的重要工作之一。从某
种意义上讲,任何一种数据库都可能损坏。除了做一些日常备份外,对此别无他法。当
数据库损坏后,通常最快的补救措施是从一个备份中恢复数据。
• 调度任务—调度任务的能力是SQL Server最有用的特点之一。这使得任务能在你的用
户不工作的时间里自动执行。这对运行备份、维护、批处理来说尤其有用。这些进程通
常会抢先占用大量的服务,还会与你的数据库中活动的用户发生严重冲突。
• 数据的导入和导出—SQL Server经常要和任何地方的操作平台上别的数据库管理系统
进行协作,从大型机到U N I X服务器,到个人电脑的数据库。为了使协作顺利,就需要
在系统之间移动数据。这种数据传输通常可能是一次性过程,也可能是日常性过程。
• 管理SQL Server复制—SQL Server复制是一个工具,用来把数据复制为几份,并发送
到不同地方。作为D B A,你要设置并监视复制过程。
• 监视和调整服务器—SQL Server 7.0 在服务器调整方面有许多优点。事实上, S Q L
Server 7.0可以为你自动调整大部分选项。除非你想自己决定SQL Server怎样使用资源。
这是一项非常难做的工作,因为要配置太多的选项。在掌握了什么可以配置后,可以试
着进行不同的设置并看看会对服务器的运行产生什么影响。
• 解决SQL Server问题—当SQL Server 出现问题后,你的第一反应可能会是惊慌失措。
而当遇到的问题多了,你就会想到怎样去解决问题。通常,当解决完一个问题后,会发
现又有新的问题等着你去解决。
1.7 课时小结
在本学时中,我讲解了SQL Server的所有特点和SQL Server DBA到底是什么样的人。在
SQL Server 中使用了许多相关的技术,一下子全部弄懂似乎不太容易。在后面的课程里,你
将会学到我讨论到的所有这些技术以及怎样去应用它们。
第1学时SQL Serv e r介绍7
下载
1.8 专家答疑
问题:掌握SQL Server很难吗?
解答:可能是。这并不是要使你丧失学习进而掌握这个产品的勇气。SQL Server之所以
难学,是因它涵盖了太多的不同学科。要完全精通SQL Server,你必须要掌握有关软件开发、
网络、体系结构和业务等各方面的知识。
问题:除了读这本书,我还应该做什么?
解答:最好的方法就是实践。如果你有一台用于开发的服务器,尽可能去在那台服务器
上进行实践,以便掌握我讲到的概念。如果你没有用于开发的服务器,我不提倡你去弄乱任
何一台实际使用的成品服务器。
1.9 课外作业
这些思考题和练习题是供你加深理解用的。答案可以在附录“答案”中找到。
1.9.1 思考题
1) 什么是R D B M S?
2) SQL Server 7.0在什么平台上运行?
3) 什么是D B A?
4) 管理SQL Server使用什么工具?
5) SQL Server怎么诞生的?
6) 使用N层结构的应用程序意思是什么?
1.9.2 练习题
在你的身边找一台计算机,以便能用于本书其余部分的学习。你可能需要在你的计算机
上安装Windows NT或Windows 95/98。
阅读(1321) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~