




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录,SQL Server 2000概述 数据库的创建和管理 表的创建和管理 Transact-SQL基础 视图的创建和使用 存储过程的创建和使用 用户自定义函数 触发器的创建和使用,索引的创建和使用 多服务器编程 优化查询性能 分析查询 SQL Server管理 数据库的备份和恢复 其他,数据库系统概论An Introduction to Database System,柯华青 Email:,概述,SQL Server 2000简介 SQL Server 2000组件 关系数据库结构 关系数据库基础,SQL Server 2000简介,Sql Server的发展历程 1988年三家公司推出了
2、第一个OS/2版本 1992年,SQL Server移植到NT上后,Microsoft成了这个项目的主导者 1994年以后,Microsoft专注于开发、推广SQL Server的Windows NT版本 1996年,Microsoft公司推出了SQL Server 6.5版本 1998年,推出了SQL Server 7.0版本 2000年推出了SQL Server 2000 2005年推出SQL Server 2005(*),SQL Server 2000简介,SQL Server 2000常见的版本 企业版(Enterprise Edition) 企业评估版(Enterprise Eval
3、uation Edition) 标准版(Standard Edition) 个人版(Personal Edition) 开发人员版(Developer Edition),SQL Server 2000简介,SQL Server 2000不同版本的比较 企业版:一般作为企业数据库服务器使用 企业评估版:免费120天试用版本 标准版:一般用于小型的工作组或部门 个人版:主要适用于移动用户 开发人员版:是一个适用于应用程序开发的版本,SQL Server 2000简介,SQL Server 2000简介,SQL Server 2000的特点 真正的客户机/服务器体系结构。 图形化用户界面,使系统管理
4、和数据库管理更加直观、简单。 丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。 SQL Server与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQL Server也可以很好地与Microsoft BackOffice产品集成。 具有很好的伸缩性,可跨越从运行Windows 95/98的膝上型电脑到运行Windows 2000的大型多处理器等多种平台使用。 对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。 SQL Server提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。,SQL Se
5、rver 2000简介,SQL Server 2000的新特性 多个SQL Server实例:SQL Server 2000支持在同一台计算机上运行多个关系数据库引擎的实例 支持XML(Extensive Markup Language,扩展标记语言) 支持用户自定义函数 索引视图 支持分布式的分区视图,SQL Server 2000组件,服务器端组件 客户端管理工具,SQL Server 2000组件,客户端管理工具 服务管理器 SQL Server服务管理器(Service Manager)是在服务器端实际工作时最有用的实用程序。 SQL Server服务管理器的主要作用是用来启动数据库服
6、务器的实时服务、暂停或停止正在运行的服务,或在暂停服务后继续服务。,SQL Server 2000组件,客户端管理工具 企业管理器 企业管理器(Enterprise Manager)是SQL Server中最重要的一个管理工具。用户和系统管理员可以使用它来管理网络、计算机、服务和其它系统组件。 企业管理器不仅能够配置系统环境和管理SQL Server,而且由于它能够以层叠列表的形式来显示所有的SQL Server对象,因而所有SQL Server对象的建立与管理都可以通过它来完成。,SQL Server 2000组件,客户端管理工具 查询分析器 SQL Server 2000的查询分析器(Qu
7、ery Analyzer)可以使用户交互式地输入和执行各种Transact-SQL语句,并且迅速地查看这些语句的执行结果,来完成对数据库中的数据的分析和处理。 查询窗口和结果显示窗口 对象浏览器窗口 打开表窗口,SQL Server 2000组件,客户端管理工具 服务器网络实用工具 客户端应用程序与数据库服务器的通信 位于同一台计算机: SQL Server 2000利用Windows进程间通信组件,如共享内存和命名管道。 不在同一台计算机:利用网络通信组件,API,协议, SQL Server 2000做了简化,只需要提供服务器计算机的网络名称。在所有通信组件中,网络库(Net-Librar
8、y)是最主要的。,SQL Server 2000组件,客户端管理工具 客户端网络实用工具 客户端网络实用工具(Client Network Utility)用来配置客户端的网络连接,管理和测定客户端的网络库等。 别名是ODBC或查询分析器识别服务器时使用的名字,方便用户使用。 在用命名管道配置时,如果服务器在本机,注意用“.”表示。 注册服务器是进行服务器集中管理和实现分布式查询的前提。注册成功需要: 服务器端和客户端必须配置相同的网络库 客户端的配置信息必须正确无误,SQL Server 2000组件,客户端管理工具 导入和导出数据 导入和导出数据(Input and Export Data
9、)采用DTS导入/导出向导来完成。此向导包含了所有的DTS(Data Transformation Services)工具,提供了在OLE DB数据源之间复制数据的最简捷的方法。,SQL Server 2000组件,客户端管理工具 联机帮助文档 SQL Server 2000提供了大量的联机帮助文档(Books Online),它具有索引和全文搜索能力,可根据关键词来快速查找用户所需信息。,关系数据库结构,系统和用户数据库,关系数据库结构,系统和用户数据库 Master数据库 记录了SQL Server系统的所有系统信息。这些系统信息包括所有的登录信息、系统设置信息、SQL Server的初始
10、化信息和其它系统数据库及用户数据库的相关信息。 master 数据库是这样一个数据库,它记录所有其它数据,其中包括数据库文件的位置。,关系数据库结构,系统和用户数据库 Model数据库 是所有用户数据库和Tempdb数据库的模板数据库。它含有Master数据库的所有系统表子集,这些系统数据库是每个用户定义数据库时都需要的。 当发出 CREATE DATABASE 语句时,新数据库的第一部分通过复制 model 数据库中的内容创建,剩余部分由空页填充。由于 SQL Server 每次启动时都要创建 tempdb 数据库,model 数据库必须一直存在于 SQL Server 系统中。,关系数据库
11、结构,系统和用户数据库 Msdb数据库 供 SQL Server 代理程序调度警报和作业以及记录操作员时使用。SQL Server Agent服务通过msdb数据库调度作业、监视SQL Server 错误触发警报,并将作业或错误的消息传递给操作员。,关系数据库结构,系统和用户数据库 Tempdb数据库 是一个临时数据库。Tempdb数据库由整个系统的所有数据库使用。SQL Server每次启动时,tempdb数据库被重新建立。当用户与SQL Server断开连接时,其临时表和存储过程被自动删除。,关系数据库结构,系统和用户数据库 Pubs和Northwind数据库 它们是SQL Server自
12、带的两个实例数据库 。,关系数据库结构,系统和用户数据库,关系数据库结构,数据库的物理结构,数据库,数据文件 .mdf或者.ndf,日志文件 .ldf,混合扩展,一致扩展,Table1,Table1, Table2,关系数据库结构,数据库的逻辑结构,关系数据库基础,数据描述 现实世界 存在于人脑之外的客观世界,称为现实世界。例如仓库管理中涉及的货物管理,包括货物的存放、货物的进出、货物的检查等,这里就可能有许多报表、图表、它们都是数据库系统接触到的最原始数据。数据库设计者对这些原始数据进行综合工作,取出数据库系统所研究的数据。譬如在仓库管理中要把入库单、出库单等收集起来,进行分类,抽取系统所要
13、的数据。,关系数据库基础,数据描述 信息世界 信息世界是现实世界在人们头脑中的反映。 实体(entity):客观存在,可以相互区别的东西称为实体。实体可以是具体的对象,例如一名学生,一辆汽车等。也可以是抽象的事件,如一次足球比赛,一次借书等。 实体集(entity set):性质相同的同类实体的集合。例如所有的男同学,全国足球锦标赛的所有比赛等。 属性(attribute):实体有很多特性,每一个特性称为属性。每个属性有一个值域,其类型可以是整型、实数型或字符串型。例如学生有学号、姓名、年龄、性别等属性,相应的值域为字符串、字符串、整型和字符串型。 键(key):能唯一标识每个实体的属性或属性
14、集。例如学生的学号。,关系数据库基础,数据描述 机器世界 机器世界的信息在机器世界中以数据的形式存储。 字段(field): 标识实体属性的命名单位称为字段或数据项。它是可以命名的最小信息单位,所以又叫数据元素或初等项。字段的命名往往和属性名相同。例如学生有学号、姓名、年龄、性别等字段。 记录(record):字段的有序集合称为记录。一般用一个记录描述一个实体,所以记录又可以定义为能完整地描述一个实体的字段集。例如一条学生记录,由有序的字段集组成:(学号、姓名、年龄、性别) 文件(file):同一类记录的汇集称为文件。文件是描述实体集的,所以它又可以定义为描述一个实体集的所有记录集。例如所有的
15、学生记录组成了一个学生文件。 键(key):能唯一标识文件中每个记录的字段或字段集。例如学生的学号。,关系数据库基础,数据描述 类型和值 在数据库中,每个概念都有类型和值之分。例如学生实体集中学生是一个实体类型,而具体的人小李、小王是实体值。又如学号、姓名、年龄是属性类型,而3456,小李、19是属性值。,关系数据库基础,数据描述 物理存储中的数据描述 位(bit):一个二进制位称为“位”。一位只能取0或1状态。 字节(byte):8个二进制位称为一个字节。 字(word):若干个字节组成一个字。一个字所含的二进制位的位数称为字长。各种计算机的字长是不一样的,例如有8位、16位、24位、32位
16、等。 块(block):又称为物理块或物理记录。块是内存和外存交换信息的最小单位,每块的大小通常28 212 字节。 卷(volume):一台输入输出设备所能装载的全部有用信息。例如磁带机的一盘磁带就是一卷,磁盘设备的一个盘组也是一卷。,关系数据库基础,数据描述 逻辑数据和物理数据 物理数据描述指 数据在存储设备上 的存储方式,物理数据 是实际存放在存储设备上 的数据。 逻辑数据描述指 程序员或用户 用以操作的数据形式, 是抽象的概念。,关系数据库基础,数据描述 数据之间的联系 实体内部的联系,反映在数据上是同一记录内部各字段间的联系。 实体与实体之间的联系,反映在数据上就是记录之间的联系。,
17、关系数据库基础,数据描述 实体间的联系 实体间的联系有两种:一种是同一实体集的实体之间的联系;另一种是不同实体集的实体之间的联系。在这两种方式中,前一种往往要转化为后一种方法实现。,关系数据库基础,数据描述 一对一联系 如果实体集E1中每个实体至多和实体集E2中一个实体有联系,反之亦然,那么实体集E1和E2的联系称为“一对一联系”,记为“1:1”。例如飞机的座位和乘客之间,学校与校长之间都是1:1联系。,关系数据库基础,数据描述 一对多联系 如果实体集E1中每个实体与实体集E2任意个(零个或多个)实体有联系,而实体集E2中每个实体至多与实体集E1中一个实体有联系,那么称E1对E2的联系是“一对
18、多联系”, 记为“1:N”。例如公司部门与员工之间,学校里系与学生之间都是1:N联系。,关系数据库基础,数据描述 多对多联系 如果实体集E1中每个实体与实体集E2任意个(零个或多个)实体有联系,反之亦然,那么实体集E1和E2的联系称为“多对多联系”,记为“M:N”。例如学生与课程之间,商店和顾客之间都是M:N联系。,关系数据库基础,数据模型 数据模型的定义 模型是对现实世界的抽象。在数据库技术中,我们用模型的概念描述数据库的结构与语义,对现实世界进行抽象。把表示实体类型及实体间联系的模型称为“数据模型”。 数据模型的种类很多,主要介绍以下两种: 一种独立于计算机系统的数据模型,它完全不涉及信息
19、在计算机系统中的表示,只是用来描述某个特定组织所关心的信息结构,称为“概念数据模型”。特点:简单、清晰、易于用户理解,它是现实世界的第一层抽象,是用户和是数据库设计人员之间进行交流的工具。著名的是“实体联系模型” 另一种是直接面向数据库的逻辑结构的,它是现实世界的第二层抽象。涉及到计算机系统和数据库管理系统,称为“基本数据模型”或“结构数据模型”。例如层次、网状、关系、面向对象等模型。,关系数据库基础,数据模型 实体联系模型 (Entity Relationship Model,简记为ER模型)在ER图中有以下四个基本成分: 矩形框,表示实体类型(考虑问题的对象)。 菱形框,表示联系类型(实体
20、间的联系)。 椭圆形框,表示实体类型和联系类型的属性。对于键的属性,在属性名下面画一条横线。 直线,联系类型与其涉及的实体类型之间以直线连接,用来表示它们之间的联系,并在直线的端部标注联系的种类(1:1、1:N、M:N)。,关系数据库基础,数据模型 实体联系模型 例1.1 为仓库管理设计一个ER模型。仓库根据需要向外面厂家订购零件,而许多工程项目需要仓库供应零件。,关系数据库基础,数据模型 实体联系模型 首先确定实体类型。本问题有三个实体类型:工程项目PROJECT,零件PART,零件供应商SUPPLIER。 确定联系类型。PROJECT和PART之间是M:N联系,PART和SUPPLIER之
21、间也是M:N联系,分别定义联系类型P_P和P_S。 把实体类型和联系类型组合成ER图。 确定实体类型和联系类型的属性。实体类型PROJECT的属性有:项目编号J#,项目名称JNAME,项目开工日期DATE。实体类型PART的属性有:零件编号P#,零件名称PNAME,颜色COLOR,重量WEIGHT。试题类型SUPPLIER的属性有:工厂编号S#,工厂名称SNAME,工厂地址SADDR。联系类型P_P的属性是项目需要的零件数量TOTAL。联系类型P_S的属性是供应商的数量QUANTITY。联系类型的数据在数据库技术中称为“相交数据” 确定实体类型的键,在ER图属于键的属性名下面画一条横线。,关系
22、数据库基础,数据模型 实体联系模型,关系数据库基础,数据模型 实体联系模型 联系类型也可以发生在多于两个实体类型之间。例如上题中,如果规定某个工程项目指定需要某个厂家的零件。,关系数据库基础,数据模型 实体联系模型 同一个实体类型的实体之间也有可能发生关系。例如,零件之间有组合关系,一种零件可以是其他部件的子零件,也可以由其他零件组成。,关系数据库基础,数据模型 实体联系模型 练习: 学校与校长之间是1:1联系 车间与职工之间是1:N联系 学生与课程之间是M:N联系,关系数据库基础,数据模型 实体联系模型 答案: 学校与校长之间是1:1联系,关系数据库基础,数据模型 实体联系模型 答案: 车间
23、与职工之间是1:N联系,关系数据库基础,数据模型 实体联系模型 答案: 学生与课程之间是M:N联系,关系数据库基础,数据模型 关系模型 用二维表格结构表示实体类型、外键表示实体间联系的模型称为关系模型(relational model)。 例如有一职工简表,它是二维表格。这种数据库结构很容易被理解。,关系数据库基础,数据模型 关系模型 在关系模型中,字段称为属性(attribute),字段值称为属性值(value),记录称为元组(tuple),元组的集合称为关系(relation)。记录类型称为关系模式,图1.2种关系模式名为R。A,B,C表示单个属性。,关系数据库基础,数据模型 关系模型 键
24、是关系模型的一个重要概念,有以下几种: (1)超键: 在一个关系中,能唯一标识元组的属性集称为超键(super key)。 (2)候选键:如果一个属性集能唯一标识元组,且又不含有多余属性,那么这个属性集称为候选键(super key)。 (3)主键: 用户正在使用的候选键称为主键(primary key)。一般,如不加说明,键是指主键。 (4)外键: 如果模式R中某属性是其它模式的主键,那么该属性集对模式R而言是外键(foreign key)。 前面的例题中(工号,姓名)是关系的一个超键,但不是后选键,而(工号)是关系的后选键。在实际应用中,如果选择(工号)作为删除或查找元组的标志,那么就称(
25、工号)是主键,关系数据库基础,数据模型 关系模型 尽管关系与二维表格、传统的数据文件有类似之处,但它们又有区别。严格的说,关系是一种规范化了的二维表。在关系模型中,对关系作了下列规范性限制: 关系中每一个属性值都是不可分解的,也不允许出现重复组(多值); 关系中不允许出现相同的元组(没有重复元组); 由于关系是一个集合,因此不考虑元组间的顺序; 元组中的属性理论上也是无序的,但使用时按习惯考虑列的顺序。,关系数据库基础,数据模型 实体联系模型向关系模型的转换 ER模型中主要成分是实体类型和联系类型。 对于实体类型,可以这样转化:将每个实体类型转换成一个关系模式,实体的属性即为关系的属性,实体的
26、标识符即为关系的键。 对于联系类型,不同情况要作不同的处理。,关系数据库基础,数据模型 实体联系模型向关系模型的转换 若实体间联系是1:1的,可以在两个实体类型转换成两个关系模式中的任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性。例如,学校与校长之间存在1:1的联系,如果在查询学校时要查询其校长,那么可以在学校模式中加入校长的校长名和任职年月,设计如下: 学校关系模式(校名,地址,电话,校长名,任职年月) 校长关系模式(姓名,性别,年龄,职称),关系数据库基础,数据模型 实体联系模型向关系模型的转换 若实体间联系是1:N的,则在N端实体类型转换成关系模式中加入1端加入实体类型转
27、换成的关系模式的键和联系类型的属性。例如,车间与职工间存在1:N联系,转换成的关系模式如下: 车间关系模式(车间号,车间名,电话) 职工关系模式(工号,姓名,性别,年龄,车间号,聘期),关系数据库基础,数据模型 实体联系模型向关系模型的转换 若实体间联系是M:N的,则将联系类型也转换成关系模式,其属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合。例如,学生与课程间有M:N联系。转换成的关系模式如下: 学生关系模式 S(S# ,Sname ,Class ,Gender) 考试关系模式 SC(S# ,C# ,Grade) 课程关系模式 C(C# ,Cname ,Teacher),关
28、系数据库基础,数据模型 关系模型 例1.2 将例1.1转换成关系模型,转换方法是把ER图的实体类型和联系类型分别转换成关系模式即可。在属性名下加一横线表示该属性或属性集的模式的键。联系类型相应的关系模式属性由联系类型属性和与之联系的实体类型的键一起组合而成。 PART模式 (P#,PNAME,COLOR,WEIGHT)PROJECT模式 (J#,JNAME,DATE)SUPPLIER模式(S#,SNAME,SADDR)P_P模式(J#,P#,TOTAL)P_S模式(P#,S#,QUANTITY),关系数据库基础,数据模型 关系模型,关系数据库基础,关系数据库的规范化设计 关系模式的存储异常问题
29、 例1.3 有一个关系模式R(Tname ,Address ,C# ,Cname),其属性分别表示教师姓名,教师地址,教的课程的编号,课程名。以下是一个具体实例,关系数据库基础,关系数据库的规范化设计 关系模式的存储异常问题 虽然这个模式只有四个属性,但在使用过程中有以下几个问题: 数据冗余:如果一个教师教几门课程,那么这个教师的地址就要重复几次存储。 修改异常:由于数据的冗余,在数据修改时会有问题。例如,教师t1教三门课程,在关系中就会有三个元组。如果他的地址变了,这三个元组中的地址都要改变。若有一个元组中的地址未改变,就造成了这个教师的地址不唯一,产生错误。 插入异常:如果一个教师刚调来,
30、尚未分配教学任务,那么要将教师的姓名和地址存储到关系中去时,在属性C# 和Cname 上就没有值。这种情况在数据库技术中称为占位空值,空值的语义是非常复杂的问题,对带空值的元组的检索和操作也十分麻烦。而且本例中,C# 是键的一部分,所以一般不允许空值出现。 删除异常:如果要取消教师t3的教学任务,那么就要把这个教师的元组删去,同时也把t3的地址信息从数据库中删去了。这也是一种不合适的现象。,关系数据库基础,关系数据库的规范化设计 关系模式的存储异常问题 在上例中,关系模式R存在着数据冗余和更新异常现象,如果我们用下面的两个关系模式R1和R2代替R: R1(Tname ,Address)和R2(
31、Tname ,C# ,Cname),关系数据库基础,关系数据库的规范化设计 关系模式的存储异常问题 这样分解后,例1.3中提到的四个问题基本解决了。每个教师的地址只存放一次。即使一个教师没有教学任务,他的地址也可以存放在关系R1中。 但是,将R分解成R1和R2两个模式是否是最佳的分解,也不是绝对的。如果要查询教某门课程的教师地址时,就要对两个关系做联接操作,而联接操作的代价是很大的。实际上,在原来模式R的关系中,可以直接找到上诉结果。因此,原来的模式也有好的地方。到底什么样的关系是最优的?标准是什么?如何实现?是我们所要考虑的问题。,关系数据库基础,关系数据库的规范化设计 关系模式的范式 分解
32、以后模式的好坏的衡量标准就是模式的范式(normal forms)。范式有很多种,最主要的是3NF。,关系数据库基础,关系数据库的规范化设计 关系模式的范式 第一范式(1NF):如果关系模式R的每一个关系r的属性值都是不可分的原子值,那么称R是第一范式(1NF)的模式。 如图,关系模式中,Tom 一个人有两个电话号码,即同一元组的同一字段有两个值,因此不是第一范式。,关系数据库基础,关系数据库的规范化设计 关系模式的范式 第二范式(2NF):如果关系模式R是1NF,且每个非主属性完全函数依赖于候选键,那么称R是第二范式(2NF)的模式。 如果A是关系模式R的候选键中的属性,那么称A是R的主属性;否则称A是R的非主属性。 X和Y是关系模式R中的属性,对于R中任意两个元组,如果X值相同,则Y也一定相同,即Y值由X值决定,称作函数依赖,Y函数依赖于X。 对于FD WA,如果存在XW,有XA成立,那么称WA是局部依赖(A局部依赖于W);否则若不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025届湖南省凤凰县皇仓中学物理高二下期末联考模拟试题含解析
- 宣传学校特色课件
- 2025届湖南省常德市石门一中物理高二第二学期期末统考试题含解析
- 2025版汽车经销商代理服务合同范本修订
- 2025版彩钢屋顶绿化施工与养护管理合同
- 2025版学校安全管理保安服务临时协议
- 二零二五年度日常公司经营知识产权保护合同
- 2025版高端餐饮品牌加盟管理服务合同范本
- 二零二五年度房地产开发按揭贷款合同范本
- 二零二五“绿色家园”生态社区智能化系统施工合同
- 如何做好一名合格医生
- 【生态文明建设评价分析的国内外文献综述3200字】
- 大数据在桥梁结构健康监测中的应用研究
- 2025年中医药现代化国际市场拓展:新加坡市场潜力分析报告
- 2025年河南省中考历史试卷及答案
- 关于社保培训课件
- 呆滞料奖惩管理制度
- 2025年天津市中考历史试卷(含标准答案)
- 2025年成人高考高升专语文全真模拟试卷(含作文范文)真题演练
- 自动生成的文档-202504081202-71
- 舞台租赁协议模板与舞台设备租赁合同3篇
评论
0/150
提交评论