第1章 SQL Server 概述Word格式文档下载.docx
- 文档编号:18368142
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:18
- 大小:24.52KB
第1章 SQL Server 概述Word格式文档下载.docx
《第1章 SQL Server 概述Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《第1章 SQL Server 概述Word格式文档下载.docx(18页珍藏版)》请在冰豆网上搜索。
习题2-对应1.3.2中的数据库对象
习题3-对应1.1.3中的加密层
习题4-对应1.1.2中的客户端-服务器组件
习题5-对应1.1中的客户端-服务器架构相关知识点以及1.4中的安全特性知识点
习题6-对应1.4中的安全特性
习题7-对应1.3.5中的元数据检索
习题8-对应1.3.3中的引用SQLServer对象
教师光盘
实验文件
教师光盘:
\Labfiles\AllFiles.exe
习题解答
\Tprep\answer.doc
教学指导手册包
新版幻灯片
教学指导手册包:
\Powerpnt\PPT_2071_2073_01.ppt
多媒体视频
\Powerpnt\Intro_of_SQL2KEM.wmv
先修知识
在正式开始学习本章内容以前,学生须具备下列知识基础。
知识基础
推荐补充
熟悉关系数据库基本概念
《数据库基础》
了解客户端-服务器架构模型
《网络基本架构的实现和管理——Windows2000网络基本架构的实现和管理》
了解Windows身份验证机制
《操作系统初级管理——Windows2000初级管理》
了解对象的概念
《程序设计导论》
建议学时
课堂教学(2课时)+实验教学(1课时)
教学过程
序言
教学提示:
序言部分主要达到两个目的。
●明确为什么要学这本书?
学些什么?
学完以后可以做什么?
并激发学习动力。
(略讲)
●明确课程的结构,以及学习方法。
(精讲)
教学内容
教学活动
教学提示
讲授:
目前的大型应用软件中几乎没有不同数据库打交道的,数据库就是一个企业的大型资料库,一个企业的所有文件、资料和档案都在这个库中,SQLServer数据库系统就是这个资料库的管理者。
SQLServer中任何配置和程序的细微改动都有可能对应用程序的整体效率产生重大影响。
大家可能对数据库程序员不太了解,不太清楚数据库程序员和其他类型的程序员(开发者)之间的联系和区别。
有人可能认为数据库程序员没有必要存在,有人可能认为数据库程序员和应用程序编写者没有任何区别。
事实上,在一个大型的企业应用中,有大量的工作需要利用数据库系统本身提供的编程接口,从事这方面工作的人员就是数据库程序员;
而普通程序员编写程序的基础是由编程语言——C++、.NET——运行库提供的接口。
一个好的数据库程序员,必须是首先是一个好的数据库管理员,因此,大家必须首先有扎实的关系数据库理论知识和关系数据库管理技能。
幻灯:
第1-9页
需要补充有关3层体系架构的知识,具体可以参考微软有关WindowsDNA的描述:
提问:
大家现在对数据库程序员是如何理解的?
他在企业中的地位应该是什么样的?
●请学生举一些例子,说明数据库程序员的作用。
●此问题用于帮助活跃课堂气氛。
但不宜拖得时间过长。
小结:
大家可以想像一下,在大型的软件开发中,不同的开发人员将负责三层/二层架构中不同层次的组件开发,数据库程序员作为直接同数据库系统打交道的人,责任非常重大,因为他的设计和实现中的任何小的改动都将对应用程序的整体效果产生重大影响。
大家可以想像一下,一条你设计的数据库中的代码需要在应用程序的某个操作中调用10000次,如果你的代码效率低上0.001秒,应用程序的这个操作就会延迟10秒。
事实上,这样的情况在大型应用软件中是经常出现的。
因此,数据库程序员必须是一个精通SQLServer数据库系统并且熟练掌握其编程技巧的人。
在这本书里,我们将要以理论和实践相结合方式使大家成为一名合格的数据库程序员。
本书的1-6章是理论基础,在前六章中我们将全面了解SQLServer程序设计所需要的基本概念和工具。
本书的7-19章将逐一介绍SQLServer程序设计中的各个要素。
本书的20-22章将介绍优化性能的基本方法和原则。
学完这些内容以后,大家可以成为SQLServer程序设计的高手。
阅书:
浏览目录
●帮助学生建立全书的全局观。
学完后可以做什么
●激发学习兴趣和动力
在正式开始学习这本书以前,我们必须先掌握一些学习方法。
我们的课主要分为两种:
理论课和实验课。
理论课:
我们主要在教室里学习课本内容。
实验课:
我们会把书上的实验到机房里去上机操作一下。
我们手上有如下的一些材料
●课本
●学生光盘
⏹幻灯片(和上课演示的PPT是一样的)
⏹多媒体视频和交互练习
⏹实验手册(每次实验的时候需要大家填写的)
⏹实验文件(每次实验会用到一些文件)
⏹案例文档
⏹课外阅读
学习方法
●课前可以使用幻灯片结合书,做一些预习。
这样上课听起来会更轻松。
●认真完成好每章后面的习题和每次上机。
●自己在家里或寝室中做一些相关的试验。
实践出真知,编程一定要靠多练。
光靠实验课的时间也是不够的。
●和同学多交流编程的经验,查阅一些网上的经验文章。
借助他人的经验帮助自己成长。
程序设计就好比是练武功,把武功秘籍背出来是不能成为高手的。
只有边学边练习,才能学会。
演示:
学生光盘内容
●明确学生手头的资料
●建立正确的学习方法和观念
●关于学生光盘内容各部分作用参见本课程教学大纲的相关部分
下面我们进入本章内容的学习:
我们将讨论下面的问题:
●SQLServer是如何工作的?
●SQLServer是由哪些组件组成的?
它们之间是如何交互工作的?
●SQLServer中的对象概念以及如何引用这些对象。
●SQLServer的安全设置,为什么要有这么多安全限制?
如何管理和实现SQLServer数据库?
如何选择合适的应用程序架构?
1.1SQLServer
本节主要达到三个目的。
●了解SQLServer的组成,可以对SQLServer的工作原理有一定的了解。
●了解SQLServer各组件之间的交互。
●了解SQLServer提供的服务。
内容
教学方法
提示
SQLServer属于关系数据库系统,让我们先复习一下关系数据库的概念。
在前面的课中,我们记得在关系型数据库中,数据存储在一个或多个相关的表内。
表是存储特定实体信息的行与列的集合。
SQLServer同操作系统以及其他微软的服务器产品都有非常紧密的联系。
图1-2以SQLServer为核心的产品体系。
第11~13页
●讲述时需要注意知识点的引入,特别是先导课程中相关知识点的复习。
●有关产品体系需要参考微软网站上的相关产品介绍。
SQLServer采用的是典型的客户端-服务器体系架构模型,这样做的好处在于关键功能可以被服务器组件集中管理和运行,而客户端又能够分担一定量的运算,减轻服务器负担,并且使用户拥有更大的灵活性。
1.1.2,1.1.3
第14~17页
●需要引入客户端-服务器体系概念,参考互联网上相关资料
●各个组件的作用以及工作流程需要重点讲解,对于TCP/IP和套接字等概念需要进行适当的复习
●图示是重点,讲解需要和图进行结合
SQLServer会启动不同的服务来完成不同的功能。
这样做的好处是可以简单的通过对不同服务进行配置就可以控制不同种类的功能。
1.1.4
第18页
●需要复习服务的概念
经过这些学习我们知道了,SQLServer的组成,它的各个组件是如何互相交互,如何同操作系统交互从而顺利工作的。
第19页
1.2SQLServer集成
本节主要达到两个目的。
●了解SQLServer同操作系统,特别是Windows2000的集成。
●了解SQLServer同其他服务器产品的集成。
通过前面的学习,我们已经了解了SQLServer中的各个组件以及这些组件是如何交互的。
下面,我们来看一下,这些组件作为一个整体(SQLServer)是如何同操作系统以及其他服务器产品进行交互的。
微软的产品有一个特点,就是非常讲求各个产品之间的集成。
比如Office就和Exchange还有IIS集成的非常紧密。
SQLServer更是无处不在,包括SharePoint、ProjectServer等等服务器产品都适用SQLServer作为数据存储手段。
1.2
第20-24页
●如果有学生对于这部分内容有兴趣,建议他们访问微软中文站点,查阅产品介绍,会发现很多产品都同SQLServer有紧密的集成。
●了解SQLServer支持的数据库类型。
(略讲)
●掌握SQLServer数据库对象以及引用方法。
(精讲+演示)
●什么是元数据,元数据的作用和检索方法。
SQLServer中,数据库是信息整体存储的单位,即是SQLServer中信息的单位容器。
数据库被分为系统数据库和用户数据库两种。
一般来说,我们的应用程序中主要使用的是用户数据库,就是我们自己设计实现的数据库。
系统数据库中的数据则是进行系统配置和分析时使用的。
阅书1.3.1
第26~27页
前面我们讲过了数据库是SQLServer中信息存储的单位容器,它是数据,表和其他对象的集合。
我们来看一下这些对象都包含什么。
现在可能大家对这些概念还无法完全理解,没有关系,在后面的章节中,我们将详细介绍这些对象以及它们的用法。
阅书1.3.2
第28页
●需要复习关系数据库中的概念,比如说表和约束
我们在使用SQLServer的过程就是对其中的对象进行操作的过程。
为了能够操作这些对象,我们必须有方法来引用它们,就像人必须用名字作为标识一样,我们也为数据库中的每个对象命名。
同时,我们通过句点指定精确位置,避免重名的情况发生。
举个例子,user1数据库中和user2数据库中都有名为users的表,那么我们引用时就使用user1.users和user2.users来区分它们。
阅书1.3.3
第29页
●命名规则需要作解释
在了解了SQLServer数据库对象后,让我们来了解一下数据库系统表以及它们的作用。
一般来说,元数据都存储在系统表中,这些数据描述了数据库配置和相关的系统信息,比如安全帐户的设置和每个对象的定义。
可以这么来理解,元数据是用来描述数据的数据,它在SQLServer中描述了数据库的整体架构,每个数据库张什么样子都是靠元数据来表述的。
离开了元数据,我们的数据库设计根本无法实现。
阅书1.3.4
第30页
●教师讲解的时候可以适当板书使学生更加直观的认识。
在了解了元数据的作用,我们来看一下怎样看到这些数据,就是怎样看到数据库的设计图纸。
阅书1.3.5
第31页
●教师在讲解此问题的时候可以适当演示书中的例子。
●了解SQLServer支持的身份验证模式。
(精讲)
●掌握SQLServer数据库账户和角色的概念。
●了解SQLServer权限验证的过程。
SQLServer支持3种身份验证模式:
Windows集成身份验证、SQLServer身份验证和混和模式身份验证。
使用Windows集成身份验证的好处是所有的账户和权限都由Windows统一管理,在实际企业中,由于用户数量非常大(比如上万),这样做大大减少了管理成本和风险。
而SQLServer身份验证是独立于Windows操作系统存在的,由SQLServer本身管理和维护,这样做的好处是在企业应用对权限的控制需求不多的时候,提供相对简单的选择。
但是SQLServer身份验证同时带来了安全隐患,由于它不受组策略的影响,比如sa的空密码或者简单密码就使一个很大的安全漏洞,给黑客可乘之机。
混和验证则是为了在比较复杂的企业环境中为不同的应用提供不同的选择。
阅书1.4.1
第33-34页
●需要复习Windows集成验证,要讲清2种模式的异同和应用场景
为了对用户帐户能够采取分级别的管理,我们引入了角色的概念。
比如我们可以规定student1和student2这两个帐号属于students角色;
teacher1和teacher2属于teachers角色。
我们只要简单的规定students只能访问stu数据库;
teachers角色可以访问stu和tea两个数据库。
那么student1和student2就只能访问stu数据,而teacher1和teacher2对两个数据库都有权限。
为了更加方便管理,一个用户可以同时属于不同的角色。
阅书1.4.2,1.4.3
第35-36页
讲解权限验证的过程。
参照幻灯片上的图。
讲解课本1.4.4
阅书1.4.4
第37页
本节主要达到四个目的。
●掌握SQLServer管理工具。
(精讲+演示)
●了解SQLServer数据库的设计原则和步骤。
●掌握选择SQLServer数据库应用程序架构的原则。
●了解数据库API。
SQLServer2000最主要的管理工具是企业管理器和查询分析器。
企业管理器主要用来进行常规操作和对对象的浏览。
查询分析器主要用来运行T-SQL语句和分析运行数据,在后面的章节中我们将大量练习使用查询分析器。
另外,我们还有包括命令行工具在内的很多SQLServer管理工具。
企业管理器——打开企业管理器并浏览数据库中的对象,重新复习前面的内容,使学生对本章内容有一个感性认识和更深入的了解
阅书1.5.1
第39~40页
●演示非常重要,它是学生对本章内容加深理解的关键。
需要在企业管理器中逐一浏览系统数据库和用户数据库中的各个对象,还有安全相关的配置。
●和实验中的练习2结合起来讲效果会更好。
讲述:
当我们要实现SQL
Server数据库时,要做的工作包括意规划、创建和维护。
其中规划是最重要的。
不同数据库的情况都不相同,必须为它们设计不同的方案。
阅书1.5.2,1.5.3
第41~42页
●需要结合图1-11
外部应用程序需要访问SQLServer数据的时候,需要通过一些编程接口,比如OLEDB,ODBC,ADO,ADO.NET等。
阅书1.5.4
第44~45页
●解释OLEDB概念请参考:
总结
经过本章的学习,我们了解了下列的知识和内容。
●SQLServer的组成和工作原理。
●SQLServer同操作系统以及其他服务器产品之间的集成。
●SQLServer的安全性。
●SQLServer管理工具。
●SQLServer应用设计的基本原则和架构。
在第二章中,我们将正式进入SQLServer的操作课程,开始接触到更加详细具体的任务。
随堂练习
1.在订单数据表中,用户只能看到自己已经确认的订单,但是不能修改数据。
下列哪个选项实现了该设计需求?
A.使用视图显示客户自己的订单
B.使用存储过程返回用户订单
C.使用标量自定义函数返回订单信息
D.在表中的相应列上添加SELECT权限
正确答案:
(B)
2.在一个数据库系统中,数据表T1是设计人员A创建的,另一个设计人员B和A同样是db_owner角色的成员。
B分别创建视图V1和V2,数据库角色R1的成员可以查看V1,数据库角色R2的成员可以查看V2。
现在R1和R2的成员都不能访问视图。
现在B要设置数据库使得数据库角色R1的成员只能查看V1,数据库角色R2的成员只能查看V2。
请问应当如何做?
(选择三个选项)
A.将T1中的表和视图的拥有权从A转给B
B.将V1的SELECT权限授权给R1
C.将V1的SELECT权限授权给R1
D.将V2的SELECT权限授权给R1
E.将V2的SELECT权限授权给R2
(A,B,E)
分析:
A:
为了避免打破拥有权链,表拥有权必须从A转给B
C:
数据库角色R1的成员只能查看V1
D:
数据库角色R2的成员只能查看V2
3.在一个数据库系统中,数据表T1是设计人员A创建的,另一个设计人员B和A一样式db_owner角色的成员。
为了防止数据表中的保密信息不被决策层以外的人员看到,B创建视图V1,使决策层人员成为数据库角色R1成员,然后授权R1角色视图V1的SELCET权限。
现在R1的成员都不能访问视图,提示错误:
SELECTpermissiondeniedonobject‘t1’,database‘d1’,owner‘A’。
A.将V1的拥有权转给R1角色
B.让A将表T1的拥有权转给R1中的所有成员
C.让A授权给用户SELECT权限
D.删除视图V1,让A重新创建,并授权R1角色SELECT权限
(D)
这是一个许可链断裂的例子。
A是数据表T1的拥有者,B是视图V1的拥有者。
因为A是数据库对象的拥有者,他能授权其他用户创建视图。
为了防止数据表中的保密信息不被决策层以外的人员看到,必须由数据表T1的拥有者A创建视图。
但在A创建前,B必须先删除视图V1,从而避免可能的数据库冲突和破坏数据完整性的危险。
4.在一个数据库系统中,管理员A的数据库帐户被拒绝给与列Col1和列Col2的SELECT权限,但有其他所有列的SELECT权限。
要如何设置让A能访问T1中的所有数据?
A.回收管理员A的数据库帐户Col1和Col2的SELECT权限
B.将A加入db_datareader角色
C.将A加入db_accessadmin角色
D.授权管理员A的数据库帐户Col1和Col2的SELECT权限
5.在一个SQLServer2000数据库中,设计人员A需要重新修改原有的视图,但他不被允许修改数据库的数据。
当前情况下,A属于Public数据库角色,应当如何做?
A.将A加入db_owner数据库角色
B.将A加入db_ddladmin数据库角色
C.授权A以CREATEVIEW权限
D.授权A以ALTERVIEW权限
db_ddladmin数据库角色可以添加,修改和删除数据库对象,db_ddladmin数据库角色可以发出数据定义语句(DDL),但不能执行GRANT,REVOKE或DENY语句等数据控制语句(DCL)。
也不能执行如SELECT,UPDATE和DELETE的数据修改语句(DML)。
总而言之,db_ddladmin不能查看和修改数据。
6.在一个SQLServer2000数据库中,管理员A同时属于两个数据库角色R1和R2,其中R1具有执行存储过程sp1的权限,R2被拒绝了执行存储过程的权限,A现在不能执行sp1,应当如何设置使A能够执行sp_1?
A.把A添加到db_datareader数据库角色
B.将A从R2中删除
C.授权A对sp1中使用的表的SELECT权限
D.授权A的所属角色对sp1中使用的表的REFERENCE权限
布置作业
1.完成书后习题1-8
2.预习书中所有实验,并填写操作步骤。
在实验课上准备操作
案例教学
本章介绍了SQLServer的组成和基本工作原理。
为学生读懂案例教学的说明书打下基础。
教师此时可以将案例中的项目管理基本概念和流程介绍给学生,同时可以让学生开始读规范文档。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第1章 SQL Server 概述