sql server 定稿教案11

更新时间:2024-05-27 17:22:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、授课主导思想: (1) 以学生为上帝,以学生就业技能为出发点与落脚点,力求让学生用最简单的方法、最少的时间学到最有用的数据库管理与开发技能为目的。 (2) 遵循从实际到理论、从具体到抽象、从个别到一般的人类认识客观事物的方法:提出问题,介绍解决问题的方法,归纳规律和概念。 (3) 着重“怎么做?”,而不去纠缠“为什么?”,着眼点是应用,而不是系统地讲解理论。 二、课程整体目标: (1)能用企业管理器工具(图形界面),对数据库进行管理与维护: ? 能用企业管理器工具(图形界面), 对数据库及其数据库对象:数据表(包括完整性约束定义)、视图、存储过程、触发器和自定义函数进行创建、查看、修改和删除数据库(熟练掌握); ? 能用企业管理器工具(图形界面),对数据表和视图数据进行查询、插入、修改和删除(熟练掌握); ? 能用企业管理器工具(图形界面),对数据库进行附加分离、 备份还原、导入导出(熟练掌握); ? 能用企业管理器工具(图形界面),对数据库访问安全性进行设置:即对登录账户、数据库用户、角色进行创建、修改、删除以及访问权限的设置与移除,理解数据库访问安全性机制(掌握)。 ? 能用企业管理器工具(图形界面),对数据库实现数据库定期自动备份(掌握),了解SQL server代理服务与复制技术。 ? 了解数据库索引、索引优化和全文索引技术。 (2) 能用查询分析器工具(命令行界面),编写和调试T-SQL编程语句,理解体会数据库编程技能: ? 熟练掌握T-SQL编程基础:数据类型、常量、变量、常用函数、表达式、流控制语句; ? 能用查询分析器工具(命令行界面),编写和调试数据库及其数据库对象:数据表(特别是完整性约束定义)、视图、存储过程、触发器和自定义函数的创建和删除T-SQL语句(熟练掌握),理解体会创建存储过程、触发器和自定义函数的编程技能数据库编程技能; ? 能用查询分析器工具(命令行界面),编写和调试数据表和视图数据查询、插入、修改和删除(特别是查询技术)的T-SQL语句(熟练掌握); ? 能用查询分析器工具(命令行界面),进行编写和调试游标的T-SQL程序设计、事务的T-SQL程序设计(掌握); ? 能用查询分析器工具(命令行界面),进行编写和调试进行数据库访问安全性

1

设置(对登录账户、数据库用户、角色进行创建、修改、删除以及访问权限的设置与移除)的T-SQL程序设计(掌握); ? 能用查询分析器工具(命令行界面),进行编写和调试进行数据库备份的T-SQL程序设计(掌握); ? 了解使用T-SQL语句修改数据库和数据表(包括完整性约束定义)、创建维护索引技能。 (3) 了解数据库原理的基本知识,重点理解数据库的三要素、关系运算、完整性约束、C/S与B/S应用结构、数据库应用系统设计与实施过程;

周 次 授课题目 第 1 周 教 学 时 数 数据库系统基础 数据库系统基础介绍数据库的基础知识和基本理论,使学生对数据教 学目 的及 要求 库管理系统有个初步的认识,这将对SQL Server管理与开发后续章节的学习打下坚实的理论基础。 通过本章学习,应该掌握数据库基本概念、三要素和分类;数据库系统的体系结构和功能;关系数据库的基本概念、运算和完整性约束;理解认识数据库系统的应用结构和本教材的两个应用案例。 教学重重点理解数据库的三要素、关系运算、完整性约束、C/S与B/S应点 和 难 用结构、数据库应用。 点 教学手讲授法 段 教 学 内 容 与 过 程 随着科学技术和社会经济的飞速发展,人们掌握的信息量急剧增加,要充分地开发和利用这些信息资源,就必须有一种新技术能对大量的信息进行识别、存储、处理与传播。随着计算机软硬件技术的发展,20世纪60年代末,数据库技术应运而生,并从70年代起得到了迅速的发展和广泛的应用。数据库技术主要研究如何科学地组织和存储数据,如何高效地获取和处理数据。数据库技术作为数据管理的最新技术,目前已广泛应用于各个领域。对于一个国家来说,数据库的建设规模、

4学时 2

数据库信息量的大小和使用频度已经成为衡量这个国家信息化程度的重要标志。 一、基本概念 1. 信息:信息是人脑对现实世界中的客观事物以及事物之间联系的抽象反映,它向我们提供了关于现实世界实际存在的事物及其联系的有用知识。 2. 数据:数据是人们用各种物理符号,把信息按一定格式记载下来的有意义的符号组合。数据是数据库中存储的基本对象,是描述事物的符号。数据不仅仅是数字,还可以是文字、图象、声音等各种表现形式。数据和它的语义是不可分割的。 数据的形式不能完全表达其内容。例如: ? (李明,78) 我们可以赋予它一定的语义,它表示李明的期末考试平均成绩为78分。如果不了解其语义,则无法对其进行解释,甚至解释为李明的年龄为78。 ? 99:8179,7954 舅舅:不要吃酒,吃酒误事 ? 1×1=1 一成不变 ? 10002=100×100×100 千方百计 ? 7/8 七上八下 ? 7÷2 不三不四 3. 数据处理:指对各种形式的数据进行收集、整理、加工、存储和传播的一系列活动的总和。其目的之一是从大量的原始数据中提取出对人们有价值的信息,作为行动和决策的依据;目的之二是为了借助计算机科学地保存和管理大量的复杂的数据,以便人们能方便地充分利用这些信息资源。 4. 数据库(DB):是被长期存放在计算机内的、有组织的、统一管理的相关数据的集合。它不仅包括数据本身,而且还包括相关事物间的联系。它的特点是具有一定的组织结构,能为用户共享,最小冗余度,数据间联系密切,有较高的独立性。 5. 数据库管理系统 (DBMS) : 用于帮助我们管理输入到计算机中的大量数据。DBMS是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。如用于创建数据库,向数据库中存储数据,修改数据库中的数据,从数据库中提取信息等。一个DBMS应具备如下功能: (1)数据定义功能 (2)数据操纵功能 (3)数据查询功能 (4)数据控制功能 (5)数据库通信功能 6. 数据库管理员:数据库的建立、使用和维护只靠DBMS是不够的,还需要有专门

3

的人员来完成,这些人员称为数据库管理员 7. 数据库系统(DBS):在计算机系统中引入数据库的系统。除了相关的硬件之外,数据库系统还包括数据库、数据库管理系统、应用系统、数据库管理员和用户。 二、数据管理技术的发展 人工管理阶段(40年代中--50年代中) 文件系统阶段(50年代末--60年代中) 数据库系统阶段(60年代末--现在) 1. 人工管理阶段 在计算机发展的初级阶段,计算机硬件本身还不具备象磁盘这样的可直接存取的存储设备,因此也无法实现对大量数据的保存,也没有用来管理数据的相应软件,计算机主要用于科学计算。这个阶段的数据管理是以人工管理的方式进行的,人们还没有形成一套数据管理的完整的概念。 人工管理阶段的主要特点: (1) 数据不保存。计算机主要用于科学计算,计算时输入数据,用完就撤走数据。 (2) 还没有文件的概念。数据由每个程序的程序员自行组织和安排。 (3) 数据不共享:每组数据和一个应用程序相对应,因此可能导致大量的数据重复。 应用程序数据集1 应用程序数据集2 序都要包括数据存取方法、输入/输出方法和数据组织方法,程序直接面向存储结…… …… 构,因此存储结构的任何修改都将导致程序的修改。程序和数据不具有独立性。 人工管理阶段的特点可以用下图来描述: (4) 没有形成完整的数据管理的概念,更没有对数据进行管理的软件系统。每个程应用程序数据集n 2. 文件系统阶段 随着计算机软硬件技术的发展,如直接存储设备的产生,操作系统、高级语言及数据管理软件的出现,计算机不仅用于科学计算,也开始大量用于信息管理。数据可以以文件的形式长期独立地保存在磁盘上,且可以由多个程序反复使用;操作系统及高级语言或数据管理软件提供了对数据的存取和管理功能,这就是文件系统阶段。 文件系统阶段的主要特点: (1) 数据可以长期保存在磁盘上,因此可以重复使用。数据不再属于某个特定的程序,可以由多个程序反复使用。 (2) 数据的物理结构和逻辑结构有了区别,但较简单。程序开始通过文件名和数据打交道,不必关心数据的物理存放位置,对数据的读/写方法由文件系统提供。 (3) 程序和数据之间有了一定的独立性。应用程序通过文件系统对数据文件中的数

4

据进行存取和加工,程序员不必过多地考虑数据的物理存储细节,并且,数据在存储上的改变不一定反映在程序上,节省了维护工作。 应用程序1 应用程序2 …… 文件1 文件2 (4) 出现了多种文件存储形式及相应的访问方式;但文件之间是独立的,它们之间的联系要通过程序去构造,文件的共享性也还比较差。数据的存取基本上以记录为单位。 文件系统阶段程序和数据之间的关系可以用下图来描述: 文件 …… 系统 虽然文件系统比人工管理有了长足的进步,但是文件系统所能提供的数据存取应用程序n 文件n 方法和操作数据的手段还是非常的有限。数据的存储结构和程序之间的依赖关系并未根本改变;数据冗余大;数据的重复以及数据之间没有建立起相互联系还会造成数据的不一致性。 随着信息时代的到来,人们要处理的信息量急剧增加,对数据的处理要求也越来越复杂,文件系统的功能已经不能适应新的需求,而数据库技术也正是在这种需求的推动下逐步产生的。 3. 数据库系统阶段 数据库系统阶段使用数据库技术来管理数据。它克服了文件系统的不足,并增强了许多新功能。在这一阶段,数据由数据库管理系统统一控制,数据不再面向某个应用而是面向整个系统,因此数据可以被多个用户、多个应用共享。 数据库系统阶段的特点: (1) 能根据不同的需要按不同的方法组织数据,以最大限度地提高用户或应用程序访问数据的效率。 (2) 数据库不仅能够保存数据本身,还能保存数据之间的相互联系,保证了对数据修改的一致性。 应用程序1 (3) 相同的数据可以共享,降低了数据的冗余度。 (4) 数据具有较高的独立性,数据的组织和存储方法与应用程序相互独立,互不依赖,大大降低了应用程序的开发代价和维护代价。 (5) 提供了一整套的安全机制来保证数据的安全、可靠。 管理系(6) ……可以给数据定义一些约束条件来保证数据的正确性。 数据库系统阶段应用程序和数据库之间的关系可以用下图来表示: 应用程序2 数据库 数据库 应用程序n 数据库系统与人工管理和文件系统相比有如下特点: 1)数据结构化,采用特定的数据模型 2)数据共享性高,减少数据冗余

5

3)数据独立性高 4)有统一的数据控制功能 三、 数据模型 数据库是某个企业、组织或部门所涉及的数据的综合,它不仅要反映数据本身的内容,而且要反映数据之间的联系。由于计算机不可能直接处理现实世界中的具体事物,所以人们必须事先把具体事物转换成计算机能够处理的数据。在数据库技术中使用数据模型来抽象、表示现实世界中的数据和信息。 模型:对现实世界特征的模拟和抽象。 数据模型:对现实世界数据特征的模拟和抽象。 现实世界中的数据要进入到数据库中,需要经过人们的认识、理解、整理、规范和加工。可以把这一过程划分成三个主要阶段,即现实世界阶段、信息世界阶段和机器世界阶段。 (1)现实世界 ? 实体:客观存在并且可以相互区别的事物称为实体,如学生、课程、零件、案件等都是实体。 ? 特征:描述实体的特性称为属性。如 “学生”实体具有学号、姓名、性别等特征; “零件”实体具有名称、规格型号、生产日期、单价等特征。 ? 标识特征:在一个实体集中,用于区分实体的特征称。例如,对于学生实体,学号可以作为其标识特征,而性别则不能作为其标识特征。 (2) 信息世界 人们对现实世界的对象进行抽象,并对其进行命名、分类,在信息世界用概念模型来对其进行描述。 信息世界涉及的主要概念: ? 实体:对应于现实世界的实体。如一个学生、一门课等。 ? 属性:对应于实体的特征。一个实体可以由若干个属性来刻画。例如,学生实体可以有学号、姓名、性别、班级、年龄等属性。 ? 码:对应于实体的标识特征。例如,学生实体可以用学号来唯一标识,因此学号可以作为学生实体的码。 ? 域:属性的取值范围称为该属性的域。例如,姓名的域为字符串集合;年龄的域为不小于零的整数;性别的域为(男,女)。 ? 实体型:用实体名及其属性名集合来描述实体, 例如,学生实体型描述为: 学生(学号,姓名,性别,年龄) 例如,课程实体型可以描述为:课程(课程号,课程名,学分)

6

? 实体集:同型实体的集合构成了实体集。即具有相同特征的一类实体的集合构成了实体集。例如,所有的学生构成了“学生”实体集。 ? 联系:现实世界中的事物之间通常都是有联系的,这些联系在信息世界中反映为实体内部的联系和实体之间的联系。实体内部的联系通常指组成实体的各属性之间的联系;实体之间的联系通常指不同实体集之间的联系。这些联系总的来说可以划分为三种:一对一联系、一对多(或多对一)联系、 多对多联系。 ? 概念模型:概念模型是对信息世界的建模,因此,概念模型应该能够方便、准确地表示出信息世界中的常用概念。概念模型有多种表示方法,其中最常用的是“实体-联系方法”(Entity Relationship Approach),简称E-R方法,E-R方法用E-R图来描述现实世界的概念模型,E-R图提供了表示实体、属性和联系的方法。 现实世界中的数据经过人们的认识和抽象,形成信息世界;在信息世界中用概念模型来描述数据及其联系,概念模型按用户的观点对数据和信息进行建模,独立于具体的机器和DBMS;根据所使用的具体机器和DBMS,需要对概念模型进行进一步转换,形成在具体机器环境下可以实现的数据模型。 三个阶段之间的相互关系: 现实世界 抽象 信息世界:概念模型 转换 机 器 世 界: 某DBMS支持的数据模型 (3)机器世界 概念模型是独立于机器的,需要转换成具体的DBMS所能识别的数据模型,才

7

能将数据和数据之间的联系保存到计算机上。在计算机中可以用不同的方法来表示数据与数据之间的联系,把表示数据与数据之间的联系的方法称为数据模型。数据库领域常见的数据模型有3种: (1) 层次模型(Hierarchical Model) 层次模型是以记录型结点构成的树型结构。它适合描述现实世界中主次分明的结构关系 ? 有且只有一个结点没有双亲结点,这个结点称为根结点; ? 根以外的其它结点有且只有一个双亲结点 ? 层次型模型数据之间是1:N的关系。 ? 层次模型在进行数据操纵过程中要注意完整性约束条件 ? 层次数据库中不仅要存储数据本身,还要存储数据之间的层次关系 (2) 网状模型(Network Model) 网状模型的基本特征是一个父结点允许有多个子结点,一个子结点也允许有多个父结点。网状模型有两个特点: ? 有一个以上结点无父结点; ? 至少有一个结点有多于一个的父结点。 (3) 关系模型(Relational Model) 其中,关系模型是目前使用最广泛的数据模型。 数据模型通常由数据结构、数据操作和完整性约束三部分组成。 ? 数据结构是研究对象类型的集合。 ? 数据操作是指对数据库中各种对象的实例允许执行的操作的集合,包括操作及有关的操作规则。 ? 数据约束条件是一组完整性规则的集合。 1)关系数据结构 在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。 例如,学生信息表: 学号 980010101 980010102 980010103 ?? 姓名 张涛 李明 刘心 ?? 性别 男 男 女 ?? 年龄 18 18 19 ??

8

(1) 关系: 一个关系对应于一张二维表。 (2) 关系名: 如“学生信息” 。 (3) 元组: 表中的一行,对应于存储文件中的一个记录。 (4) 属性: 表中的一列。 (5) 属性名: 给每个属性起一个名字。对应于存储文件中的字段。 (6) 候选码:如果在一个关系中,存在多个属性(或属性组合)都能用来唯一标识该关系的元组,这些属性(或属性组合)都称为该关系的候选码(或候选关键字)。 例如,假设 “学生信息”关系中的姓名没有重名现象,则学号和姓名都是候选码。 (7) 主码:在若干个候选码中指定作为码的属性(或属性组合)称为该关系的主码(或主关键字)。 例如,学号可以作为“学生信息”关系的主码。 (8) 全码: 如果一个关系模型的所有属性一起构成该关系的码,则称为全码。 (9) 主属性: 包含在候选码中的属性。如学号。 (10) 非主属性: 不包含在任何候选码中的属性称为非码属性或非主属性。如性别和年龄。] (11) 域:属性的取值范围。 如,性别域: (男、女),年龄域: 大于0的整数。 (12) 分量:元组中的一个属性值。如“李明”。 (13) 关系模式:对关系的描述。一般表示为:关系名(属性1,属性2,?,属性n) 例如, “学生信息”表表示为:学生信息(学号,姓名,性别,年龄) 在关系模型中,实体和实体之间的联系都是用关系来表示的,例如,学生、课程和选修关系可以表示为: 学生信息(学号,姓名,性别,年龄) 课程(课程号,课程名,学分) 选修(学号,课程号,成绩) 2)关系操作 ? 关系操作主要包括: ? 查询 ? 插入 ? 修改 ? 删除数据

9

? 特点: 集合操作, 操作对象和操作结果都是关系,即元组的集合。 3)关系的完整性约束 主要包括三类: ? 实体完整性 ? 参照完整性 ? 用户定义的完整性。 其中,实体完整性和参照完整性是关系模型必须满足的完整性约束条件,用户定义的完整性是指针对具体应用需要自行定义的约束条件。 a. 实体完整性 现实世界中的实体是可区分的,即它们具有某种唯一性标识。相应地,关系模型中以主码作为唯一性标识。主码中的属性即主属性不能取空值。所谓空值就是“不知道”或“无意义”的值。如果主属性取空值,就说明存在某个不可标识的实体,即存在不可区分的实体,这与现实世界的应用环境相矛盾,因此这个实体一定不是一个完整的实体。这就是实体的完整性规则。 实体完整性定义:若属性A是基本关系R的主属性,则属性A不能取空值。 b. 参照完整性 在关系模型中,实体及实体间的联系都是用关系来描述的,这样就需要在关系与关系之间通过某些属性建立起它们之间的联系。 例如,对于以下三个关系模式: 学生信息(学号,姓名,性别,年龄) 主码:学号 课程(课程号,课程名,学分) 主码: 课程号 选修(学号,课程号,成绩) 主码 (学号,课程号) 选修关系的学号必须在学生信息关系中存在的学号,而选修关系的课程号也必须是一个在课程关系中存在的课程号。 参照完整性定义:设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码,并称基本关系R为参照关系,基本关系S为被参照关系。 关系R和S不一定是不同的关系。 例如,设有以下两个关系模式: 职工(职工编号,姓名,性别,部门编号) 部门(部门编号,名称,地址,简介) 在“职工”关系中,主码为职工编号,在“部门”关系中,主码为部门编号,所以“职工”关系中的部门编号是该关系的外码。

10

“职工”关系为参照关系; “部门”关系为被参照关系。 参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应,则对于R中每个元组在F上的值必须为: ? 空值(F的每个属性值均为空值); ? 等于S中某个元组的主码值。 参照完整性规则就是定义外码与主码之间的引用规则。 c. 用户定义的完整性 针对某一具体应用所涉及的数据必须满足的语义要求,对关系数据库中的数据定义的约束条件。即是根据应用环境的要求和实际的需要,对某一具体应用所涉及的数据提出约束性条件。 例如:对于关系模式: 学生信息(学号,姓名,性别,年龄) 可以定义: 性别字段的值只能为“男”和“女”,年龄字段的值只能为大于0的整数 * 对关系的限制 (1) 表中的每一个数据项必须是单值的,每一个属性必须是不可再分的基本数据项。 例如,下表就是一个不满足该要求的表。 工资 职工编号 001 002 003 ?? 姓名 赵军 刘娜 李东 ?? 基本工资 2000 1800 2300 ?? 职务工资 500 400 700 ?? 工龄工资 500 300 800 ?? (2) 每一列中的数据项具有相同的数据类型,来自同一个域。例如,姓名都是字符类型,成绩都是整数类型。 (3) 每一列的名称在一个表中是唯一的。 (4) 列次序可以是任意的。 (5) 表中的任意两行(即元组)不能相同。 (6) 行次序可以是任意的。

11

四、关系数据库的规范化理论 要把一组数据存储到数据库中,如何为这些数据设计一个合适的逻辑结构呢?如在关系数据库系统中,针对一个具体问题,应该构造几个关系?每个关系由哪些属性组成?使数据库系统无论是在数据存储方面,还是在数据操纵方面都有较好的性能。这就是关系数据库规范化理论要研究的主要问题。 E-R模型的方法讨论了实体与实体之间的数据联系,而关系规范化理论主要讨论实体内部属性与属性之间的数据的联系,其目标是要设计一个“好”的关系数据库模型。 规范化的数据库设计可以尽可能地避免系统在应用过程中出现问题。不合理的关系模式可能会造成很多操作上问题: ? 数据冗余 ? 更新异常 ? 插入异常 ? 删除异常 1、 第一规范化形式(1NF) 关系模式要满足的条件称为规范化形式,简称为范式。第一范式要求元组中的每一个数据项都不可再分,都是原子项,记作1NF。即要求二维表格中每一个属性都是单一的不可再分的数据。 2、 第二规范化形式(2NF) 如果一个关系符合第一范式,并且每一个非关键字属性都完全依赖于主关键字,那么这个关系模式符合第二规范化形式简记为2NF。 3、第三规范化形式(3NF) 如果一个关系符合第二范式,并且所有非关键字属性间不存在函数依赖关系,那么称这个关系符合第三规范化形式,简记为3NF。3NF的实质是从符合2NF的关系中除去传递依赖。 4、 规范化形式间的关系 ? 规范化的基本思想是逐步消除数据依赖中不合适的部分,使模式的各关系模式达到某种程序的“分离”,即“一事一地”的模式设计原则。 ? 任何一个高层的规范化形式总是能够满足低层的规范化形式。 ? 为了提高规范化程度,必须对较低层的规范化形式的关系模式进行分解,即将一个低层的的关系模式分解成几个更小、更紧凑的关系模式。 ? 规范化程度低会造成数据冗余和操作异常,但是规范化程度低检索直接,处理比较简单;

12

? 规范化程度高可以消除操作异常和减少数据冗余,但是在检索时要访问更多的关系表,需要做更多的关联操作,比较复杂。 五、关系运算 1、传统的关系运算 进行传统的关系运算的两个关系必须具有相同的结构。 ? 并:两个关系的并运算是由这两个关系的元组组成的集合。 ? 交:两个关系R和S,它们的交是由既属于R又属于S的元组组成的集合。交运算的结果是R和S 的共同元组。 ? 差:两个关系R和S,R差S的结果是由属于R但不属于S的元组组成的集合,即差运算是从R中去掉S中也有的元组。 2、专门的关系运算 1)选择:从关系中找出满足条件元组的操作称为选择。选择是对关系表从行的角度水平方向抽取记录,经过运算得到的结果可以形成新的关系,但其中的元组是原关系的一个子集。 2)投影:从关系模式中指定若干个属性组成新的关系称为投影。投影是从列的角度纵向对关系进行分解,经过投影运算可以得到一个新的关系,其包含的属性的个数小于等于原有关系,或者属性的排列顺序不同。 3)联接:联接运算是将两个关系拼接成一个关系,生成的新的关系包含两个关系满足条件的元组。联接是通过联接条件来控制的,联接条件中将出现两个表中的公共属性名,或者具有相同语义、可比的属性。 参考资料 课后作业 课后小记

13

周 次 授课题目 第 2 周 教 学 时 数 4学时 第2章 SQL Server简介 教 学目 的及 要求 通过本章的学习,使学生掌握安装SQL Server 2000的软硬件配置要求、SQL Server 2000的安装、SQL Server 2000的主要工具以及SQL Server 2000数据库体系结构。 教学重SQL Server 2000的主要工具:服务管理器、企业管理器、查询分析点 和 难 器、联机帮助 点 教学手讲授法、演示法 段 教 学 内 容 与 过 程 2.1 概述 SQL Server 2000是微软公司于2000年8月推出的新一代数据库产品,是一种基于客户/服务器模式的关系数据库管理系统,它采用Transact-SQL语言在客户机和服务器之间传递信息,扮演着后端数据库角色,是数据的汇总与管理中心。SQL Server在电子商务、数据仓库和数据库解决方案等应用中起着重要的作用,为企业的数据管理提供强大的支持。 2.1.1 SQL Server的发展 SQL Server最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的。 ? 1988年:第一个OS/2版本; ? 1990年:Ashton-Tate公司中途退出; ? 1992年:移植到NT上之后,Microsoft成了这个项目的主导者; ? 1994开始:Microsoft专注于开发、推广SQL Server的Windows NT版本,Sybase则较专注于SQL Server在Unix操作系统上的应用; ? 1996年:SQL Server 6.5版本; ? 1998年:SQL Server 7.0;

14

? 2000年:SQL Server 2000。 2.1.2 SQL Server 2000的主要功能特点 SQL Server最重要的特点有: ? 真正的客户/服务器体系结构。 ? 图形化用户界面。 ? 丰富的编程接口工具。 ? 与Windows NT/2000紧密集成,利用了Windows NT的许多功能。如发送和接收消息、利用Windows NT/2000的安全机制等。SQL Server也可以很好地与Microsoft BackOffice产品集成。 ? 具有很好的伸缩性。 ? 对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页上。 ? 提供数据仓库的功能。 SQL Server 2000的新特性: ? 支持XML(Extensive Markup Language)扩展标记语言。 ? 强大的基于Web的分析。 ? 支持OLEDB和多种查询。 ? 支持分布式的分区视图。 这些新特性使SQL Server 2000在大型联机事务处理、数据仓库及电子商务等方面成为一个优秀的数据库平台。 2.1.3 SQL Server的客户/服务器体系结构 1. SQL Serve的客户/服务器结构 客户/服务器结构如下图:

15

客户通过发送一条消息或一个操作来启动与服务器之间的交互,而服务器通过返回消息进行响应。 客户机上的任务主要有: ? 建立和断开与服务器的连接。 ? 提交数据访问请求。 ? 等待服务通告、接受请求结果或错误。 ? 处理数据库访问结果或错误、包括重发请求和终止请求。 ? 提供应用程序的友好用户界面。 ? 数据输入输出及验证。 服务器上的任务主要有: ? 为多用户管理一个独立的数据库。 ? 管理和处理接收到的数据访问请求,包括管理请求队列、管理缓存、响应服务、管理结果和通知服务完成。 ? 管理用户帐号、控制数据库访问权限和其他安全性。 ? 维护数据库,包括数据库备份和恢复。 ? 保证数据库数据的完整或为客户提供完整性控制手段。 SQL Server 2000的客户/服务器体系结构可以采用灵活的部署方案。主要方案有: ? 两层结构 ? 三层结构 ? 桌面系统。 (1) 两层结构 在两层结构中,SQL Server 2000安装在一个中心服务器上,数据库存储在该服务器上,该服务器称为数据库服务器,可以被多台客户机访问。众多的客户机通过网络直接访问数据库服务器。客户机运行处理业务的程序和显示处理结果的程序。两层结构比较适合于用户量较少的情况,当用户量较大时,数据库服务器的性能会显著下降。 (2) 三层结构

16

在三层结构中引入了一层应用服务器。客户机只运行向应用服务器发送请求和显示请求结果的程序,客户机没有处理业务的程序,应用服务器运行处理业务的程序,多个客户机可以同时访问应用服务器,应用服务器负责访问数据库服务器,并取回处理结果,将结果返回给客户机。三层结构适用于客户量较大的情况。 (3) 桌面系统 在桌面系统中,数据库服务器和客户机程序被安装在同一台电脑中,整个系统只有一台电脑,这台电脑既是服务器,也是客户机,因此不需要有网络连接,客户机只需要建立一个本地连接来访问本机上的数据库服务器。桌面系统适合于只有一个用户,或者有几个用户但共用一台电脑的情形。 2.客户/服务器结构的优点 1) 数据集中存储。 2) 业务逻辑和安全规则可以在服务器上定义一次。 3) 数据库服务器仅返回应用程序所需要的数据,这样可以减少网络流量。 4)节省硬件开销。 5) 数据集中存储,备份和恢复数据非常容易。 客户/服务器结构的最大优势在于提高了使用和处理数据的能力。SQL Server在客户端和服务器端的良好表现,使它成为了一个优秀的客户/服务器系统。 2.2 SQL Server 2000的安装 在安装SQL Server 2000之前,首先要根据具体需要选择SQL Server 2000的版本,并提供相应版本所需要的安装环境,包括硬件环境和软件环境。 安装过程:自学 2.3 SQL Server 2000的管理工具简介 正确安装SQL Server 2000以后,在Microsoft SQL Server程序组中可以看到9个程序项,这些程序项为管理和使用SQL Server数据库提供了各种方便手段。单击每一个程序项,可以打开相应的管理工具。

17

1. 企业管理器 SQL Server企业管理器是一个具有图形界面的综合管理工具,是Microsoft SQL Server 2000的主要管理工具,它提供了一个遵从Microsoft管理控制台的用户界面,具有管理SQL Server服务器、管理SQL Server登录和用户、数据库以及数据表、视图、存储过程、触发器、索引等功能。 作用: ? 配置系统环境 ? 完成数据库管理与维护的大部分工作。如配置系统环境和管理SQL Server服务器,显示、建立、管理所有的SQL Server对象,备份和恢复数据库,复制数据库,管理用户帐户等。 启动:开始→程序→ Microsoft SQL Server →企业管理器 2.查询分析器 作用: 查询分析器是一个交互式的图形工具,主要用于输入和执行Transact-SQL语句,可以编写程序实现对数据库、表等项目的创建、修改、删除、查询、增加等工作。并且迅速查看这些语句的结果,以分析和处理数据库中的数据。 查询分析器是一个非常实用的工具,对掌握SQL,深入理解SQL Server的管理工作有很大帮助。 启动方法1: 开始→程序→Microsoft SQL Server →查询分析器 启动方法2: 企业管理器→打开“工具”菜单→SQL查询分析器

18

选择身份验证模式: 连接成功打开查询分析器窗口: 查询分析器主要功能: ? 编写、编辑和执行Transcat-SQL语句,并可以查看执行结果。不同的结果分别显示在不同的窗格中。 ? 指定显示结果的格式。 ? 能够以不同的颜色和字体显示代码中不同的组成部分。 ? 能够检查所编写的代码语法是否正确。 ? 可以使用调试工具调试存储过程。 ? 可以将编写的Transcat-SQL语句存储成文件,在需要时打开编辑或执行。 ? 能够利用模板快速创建数据库对象。 ? 可以快速地添加、修改和删除表中的数据记录。 ? 通过“对象浏览器”可以完成许多快速功能。 3. 服务管理器 作用: ? 是在服务器端实际工作时最有用的实用程序。 ? 用来启动、暂停、继续和停止数据库服务器的实时服务; ? 提供的服务包括:SQL Server、SQL Server Agent、MSDTC(Microsoft

19

Distributed Transaction Coordinator,微软分布式事务协调器)。 用户在对数据库执行任何操作之前必须启动SQL Server,使用服务管理器是最快的方法。 启动: 开始→程序→Microsoft SQL Server→服务管理器 1)启动SQL Server 服务器 通常情况下,SQL Server是自动启动服务的,并在“任务栏”中显示服务器启动图标。当服务器图标小圆中显示一个右向的三角形时,表示SQL Server已经启动;当服务器图标小圆中显示一个小正方形时,表示SQL Server已经停止,即没有启动。 2)停止SQL Server服务 通常情况下,不需要停止SQL Server。但如有必要,也可以手动停止,具体方法如下: (1)双击“任务栏”中服务图标,出现SQL Server 服务管理器对话框。 (2)单击对话框中的“停止”按钮,出现提示信息。 (3)单击提示信息框中的“是”按钮,可停止SQL Server服务。 4. 联机丛书 启动: 开始→程序→Microsoft SQL Server →联机丛书 SQL Server联机丛书与SQL Server 2000的各个主要的工具很好地集成在一起。例如,在查询分析器中,选择要获取帮助的关键字并按下Shift+F1组合键,将会打开SQL Server联机丛书并显示与指定的关键字相关的帮助主题。同样,在企业管理器中也可以使用其工具栏的帮助按钮 加载SQL Server联机丛书。 5.导入和导出数据 作用: ? 导入数据是从SQL Server的外部数据源(如ASCII 文本文件)中检索数据,并将数据插入到SQL Server表的过程。

20

? 导出数据是将SQL Server表中的数据转换为其他指定格式的数据的过程,例如将SQL Server表的内容复制到Microsoft Access数据库中。 6. 服务器网络实用工具 配置服务器端网络连接和设置相关参数等。 7. 客户端网络实用工具 配置客户端的网络连接、管理和测定客户端的网络库等。 8. 事件探查器 是一个图形化的管理工具,用于监督、记录和检查SQL Server 2000数据库的使用情况。系统管理员可以利用它来实时捕获用户的活动情况。 9.在IIS中配置SQL XML支持 用于实现对SQL Server的IIS虚拟目录的管理。 2.4 SQL Server的数据库体系结构 SQL Server的数据库体系结构可以分为逻辑体系结构和物理体系结构,由于其物理体系结构相对比较复杂,这里只介绍其逻辑体系结构。 SQL Server 能够支持许多数据库: 服务器 数据库1 数据库2 …… 数据管理 安全管理 …… 在一个SQL Server数据库中,除了包含基本表以外,还包含了与这些基本表相关的多种对象,如:视图、索引、存储过程和触发器。目的是为执行与数据有关的活动提供支持。

21

数 据 库 1. 表 表 视图 索引 存储过程 触发器 关系图 …… 在数据库中,所有的数据存放在表中,表由行(记录)和列(字段)组成,一个数据库可以包含多个表。 2. 视图 视图是由查询数据表产生的结果,是一种虚构的表。视图把表中的部分数据映射出来供用户使用,这样可以防止所有的用户直接对表进行操作而导致系统的性能和安全性的下降。 3. 存储过程 一个存储过程实际上是由一组SQL语句组成的完成特定功能的程序。存储过程在服务器端被编译后可以反复执行。。 4.索引 索引是对表中的一个或多个列的值进行排序的结构。可以利用索引提高对数据库表中的特定信息的访问速度。 5. 约束 约束是一种定义自动强制数据库完整性的方式。约束定义了关于列中允许值的规则。例如,强制定义某成绩列的值只能在0到100之间。 6. 默认值 如果在插入行时没有指定该行中某列的值,那么使用默认值可以指定该列自动使用的值。例如,定义某“性别”列的默认值为“男”,则插入某学生信息时,如果没有指定其性别,则自动采用定义的默认值“男”。 7. 触发器 触发器由一组SQL语句组成,当对表或视图进行某种操作(添加、删除或修改)时,这组命令会自动执行。 8. 用户

22

用于定义允许访问当前数据库的用户及其权限。 9. 角色 角色定义了一组具有相同权限的用户。 2.5 SQL Server 2000的系统数据库简介 1. master 是系统最重要的数据库,它记录了SQL Server系统的所有系统信息。这些系统信息包括所有的登录信息、系统设置信息、SQL Server的初始化信息和其它系统及用户数据库的相关信息。 建议不要在 master 数据库中创建任何用户对象。如表、视图、存储过程或触发器等。 2. model 是所有用户数据库和tempdb数据库的模板数据库,它含有master数据库所有系统表的子集,这些系统表是每个用户定义数据库需要的。 3. msdb 是代理服务数据库,用于为警报、任务调度和记录操作员的操作提供存储空间。 4. tempdb 用于为所有的临时表、临时存储过程提供存储空间,还用于任何其它的临时存储要求。例如存储SQL Server生成的工作表。tempdb数据库是全局资源,所有连接到系统的用户的临时表和存储过程都存储在该数据库中。在SQL Server 每次启动时都重新创建,因此该数据库在系统启动时总是干净的,临时表和存储过程在连接断开时自动除去。 5. pubs数据库和northwind数据库 是两个实例数据库。 ? pubs数据库: 以一个图书出版公司为模型,用于演示数据库中可用的许多选项。该数据库及其中的表经常在帮助文档所介绍的示例中使用。 ? northwind数据库: 包含一个名为northwind Traders的虚构公司的销售数据,该公司从事世界各地的特产食品进出口贸易。

23

* * Server 2000及其组件所用的信息存储在称为系统表的特殊表中。任何用户都不应直接修改系统表。 例如,不要尝试使用DELETE、UPDATE、INSERT语句或用户定义的触发器修改系统表。 以下是几个最重要的系统表: 1. sysobjects表 该表出现在每个数据库中,在数据库内创建的每个对象,在该表中含有一行相应的记录。 2. sysindexes表 该表出现在每个数据库中,对于数据库中的每个索引和表在该表中各占一行。 3. syscolumns表 该表出现在每个数据库中,对于基表或者视图的每个列和存储过程中的每个参数在该表中各占一行。 4. sysusers表 该表出现在每个数据库中,对于数据库中的每个Windows NT用户、Windows NT用户组、SQL Server用户或者SQL Server角色在该表中各占一行。 5. sysdatabases表 该表只出现在master数据库中,对于SQL Server系统上的每个系统数据库和用户自定义的数据库在该表含有一行记录。 6. sysconstraints表 该表出现在每个数据库中,对于为数据库对象定义的每个完整性约束在该表中含有一行记录。 参考资料 课后作业 课后小记

24

周 次 授课题目 第 3 周 教 学 时 数 2学时 第4章 T-SQL语言基础 SQL语言是结构化查询语言(Structure Query Language)的英文教 学 缩写,Transact-SQL 是由国际标准化组织 (ISO) 和美国国家标准学目 的 会 (ANSI) 发布的 SQL 标准中定义的语言的扩展。用户可以使用SQL及 要 编写应用程序可以完成所有的数据库管理工作。 求 通过本节课的学习,学生应掌握以下内容T-SQL语言的基础知识,主要包括数据类型、常量和变量。 教学重点 重点掌握数据类型、变量的使用。 和 难 点 教学手段 讲授法、演示法 教 学 内 容 与 过 程 4.1 T-SQL语言简介 1、SQL语言 SQL语言全称为结构化查询语言(Structured Query Language),SQL语言有如下的特点 1)综合统一:SQL集数据定义、操纵、控制功能与一体,语言风格统一。数据操作符统一,每一种操作都只用一种操作符。 2)高度非过程化:用SQL语言进行数据操作,无需了解存取路径,存取路径的选择及操作过程由系统自动完成。 3)面向集合的操作方式:SQL语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。 4)提供两种使用方式:SQL语言既是自含式语言,能够独立地以联机交互的方式使用,它又是嵌入式语言,能够嵌入到高级语言中供程序员设计程序时使用。 5)语言简洁,易学易用:SQL核心功能只需要9个动词就可以完成数据查询、定义、操纵和控制的功能。 2、T-SQL概述 T-SQL(Transact-SQL)语言是Microsoft公司在SQL Server数据库管理系统中SQL的实现。它遵守Entry Level ANSI SQL-92的标准,用户和研发人员能使用

25

本文来源:https://www.bwwdw.com/article/3k77.html

Top