第6章 SQL Server 2000关系数据库管理系统.ppt_第1页
第6章 SQL Server 2000关系数据库管理系统.ppt_第2页
第6章 SQL Server 2000关系数据库管理系统.ppt_第3页
第6章 SQL Server 2000关系数据库管理系统.ppt_第4页
第6章 SQL Server 2000关系数据库管理系统.ppt_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2020 2 25 数据库系统原理及应用 机械工业出版社 6 1SQLServer2000系统结构6 2SQLServer2000的管理功能6 4SQLServer2000数据库操作工具6 3Transact SQL功能及实例 第6章SQLServer2000关系数据库管理系统 6 1SQLServer2000系统结构6 1 1N Tier客户机 服务器结构 1 桌面型数据库系统和客户机 服务器型数据库系统桌面型数据库系统 SQLServer2000安装在客户端计算机中 数据库存储在客户端计算机中 客户机 服务器型数据库系统 系统安装在网络服务器中 数据库为网络中的客户机应用程序共享 2 客户机 服务器的结构和功能可以通过网络连接产品将多台计算机连接为企业内部网 能够与Internet相连并发布网页 3 N Tier客户机 服务器结构后端服务器 中间端服务器和客户机 客户机应用程序负责建立用户界面 通过用户界面让用户向数据库添加 修改 删除 查询数据 数据库服务器执行数据库的存储 检索 管理 安全性及数据备份工作 中间端服务器可以是多层的 管理一个或多个独立的数据库 为客户机或前级服务器提供事务服务和数据预处理 后端服务器是中间服务器的后台 管理多个中间服务器 提供整个数据库系统的事务管理功能 6 1 2 与Internet高度集成功能 SQLServer2000可以作为Internet或内部网服务器的后端数据库 它与Web服务器协作 为Web服务器和浏览器提供信息 SQLServer2000通过Web站点共享数据 它可以发布Web网页和接收电子邮件 使用Web浏览器可以直接访问SQLServer2000数据库的数据 且易于学习和使用 6 1 4数据库对象 1 数据库的类别 1 物理数据库和逻辑数据库物理数据库由构成数据库的物理文件构成 SQLServer2000的一个物理数据库中至少有一个数据库信息文件和一个数据库事务日志文件 物理数据库由DBA 数据库管理员 负责创建和管理 逻辑数据库是数据库中用户可视的表或视图 用户利用逻辑数据库的数据库对象 存储或读取数据库中的数据 2 系统数据库和用户数据库系统数据库是由系统创建和维护的数据库 系统数据库中记录着SQLServer2000的配置情况 任务情况和用户数据库的情况等系统管理的信息 它实际上就是我们常说的数据字典 用户数据库是根据管理对象要求创建的数据库 用户数据库中保存着用户直接需要的数据信息 2 SQLServer2000的数据库对象 1 表和视图 表是在数据库中存放的实际关系 视图是为了用户查询方便或根据数据安全的需要而建立的虚表 2 角色 由一个或多个用户组成的单元 也称职能组 一个用户可以成为多个角色中的成员 3 索引 来加速数据访问和保证表的实体完整性的数据库对象 的索引有群聚和非群聚索引两种 群聚索引会使表的物理顺序与索引顺序一致 一个表只能有一个群聚索引 非群聚索引与表的物理顺序无关 一个表可以建立多个非群聚索引 4 存储过程 通过Transact SQL编写的程序 包括系统存储过程和用户存储过程 系统存储过程是由SQLServer2000提供的 其过程名均以SP开头 用户过程是由用户编写的 它可以自动执行过程中安排的任务 5 触发器 一种特殊类型的存储过程 当表中发生特殊事件时执行 触发器主要用于保证数据的完整性 6 约束 约束规则用于加强数据完整性 3 数据库结构 1 SQLServer2000的三种物理文件1 基本数据文件 基本数据文件用于容纳数据库对象 它使用 mdf作为文件扩展名 2 辅助数据文件 当数据库中的数据较多时需要建立辅助数据文件 一个数据库中可以没有 也可以有一个或多个辅助数据文件 辅助数据文件的扩展名为 ndf 3 日志文件 用于存放数据库日志信息的文件 一个数据库可以有一个或多个日志文件 日志文件的扩展名为 ldf 2 数据库文件的两种组件1 页 使用的最小数据单元 一页可以容纳8k的数据 共有8种页 数据页 索引页 文本 图像页 全局分配映射表页 页空闲空间 索引分配映射表页 大容量更改映射表页和差异更改映射表页 2 扩展盘区 扩建表和索引的基本单位 一个扩展盘区由8个相邻页的构成 3 文件组 多个文件可以归纳成为一个文件组 6 1 5SQLServer2000的系统数据库 1 Master数据库Master数据库的主文件名为Master mdf 日志文件为Masterlog ldf Master中内含许多系统表 用来跟踪和记录SQLServer相关信息 2 Msdb数据库Msdb的主文件名为Msdb dbf 日志文件名为Msdb ldf Msdb由SQLServer企业管理器和代理服务器使用 Msdb中记录着任务计划信息 事件处理信息 数据备份及恢复信息和警告及异常信息 3 Model数据库Model数据库的主文件是model mdf 日志文件为model ldf Model数据库是SQLServer2000为用户数据库提供的样板 新的用户数据库都以model数据库为基础 4 tempdb数据库tempdb的主文件名和日志文件名分别为tempdb dbf和tempdb ldf tempdb是一个共享的工作空间 SQLServer2000中的所有数据库都可以使用它 它为临时表和其他临时工作提供了一个存储区 6 2SQLServer2000的管理工具 1 查询分析器编辑Transact SQL 将其发送到服务器 并将执行结果及分析显示出来 通过测试查询成本 判断该查询是否需要增加索引以提高查询速度 并可以实现自动建立索引的功能 2 导入和导出数据 导入和导出数据通过一个向导程序 数据转换服务 简称DTS 实现 其作用是使SQLServer与任何OLEDB ODBC JDBC或文本文件等多种不同类型的数据库之间实现数据传递 3 服务管理器 服务管理器 ServiceManger 用于开启 暂停和停止SQL服务工作 同时 也可以通过它设置服务是否自动启动 4 客户机网络连接工具和服务器网络连接工具 客户机网络连接工具用于设置本机作为服务器或客户机所使用的缺省网络链接库 并可为不支持缺省网络库的SQL服务器设置连接方式 服务器网络连接工具用于设置本机作为服务器时允许的连接协议 以支持不同配置的客户端 5 联机丛书 联机丛书是SQLServer2000为用户提供的在线帮助功能 在联机丛书中 全面而详细地介绍了有关SQLServer2000的功能 管理及开发方法 TSQL语法等 6 企业管理器 企业管理器窗口的左边是以树形结构组织的管理对象 右边称为明细窗口 其内容是是左边选中对象的详细内容 企业管理器可以实现对管理对象的定义 改动 删除等各种操作 7 事件探查器 用于监视与分析SQLServer活动 服务器的网络进出流量或发出在SQLServer上的事件 事件探查器把一个操作序列保存为一个 trc文件 然后在本机或其他机器上按原来的次序重新执行一遍 8 在IIS中配置SQLXML支持 SQLServer2000含有SQLServer的IIS虚拟目录管理器 通过它在IIS定义一个与SQLServer2000实例相关的虚拟目录 Internet应用程序便可以编写出能够引用虚拟目录 9 分析管理器 提供用户界面以访问分析服务器及其元数据知识库的控制台应用程序 实现 管理分析服务器 锁定被编辑的对象和它们的从属对象 创建数据库和指定数据源 生成并处理多维数据集 创建并处理数据挖掘模型 指定存储选项并优化查询性能 管理安全性 浏览数据源 共享维度 安全角色和其它对象 6 3SQLServer2000数据库操作工具6 3 1用企业管理器创建数据库 1 选择企业管理器 2 选中需要在其上创建数据库的服务器3 选中 数据库 文件夹 单击右键 在弹出上选择 新建数据库 在常规页面中 输入数据库名 选择SQL服务器 4 选择数据文件页面 输入数据文件属性 再选择事物日志页面 输入数据库的日志文件属性 5 单击 确定 按钮 关闭对话框 6 3 2在企业管理器中定义和管理表 1 新建表选中数据库中的表文件夹 击鼠标右健 在弹出的菜单中选择新建表 随后输入表结构对话框 在对话框中单击右键 出现一个弹出框 字段输入完后 关闭建表对话框 在对话框中输入表名 单击 确定 按钮 2 定义表的完整性约束和索引 1 定义索引和键 2 定义表间关联选择 索引 键 页面 选择表页面 6 4Transact SQL语言6 4 1数据定义语言 1 创建和管理数据库CREATEDATABASE 数据库名 ON PRIMARY NAME 逻辑数据文件名 FILENAME 操作数据文件路径和文件名 SIZE 文件长度 MAXSIZE 最大长度 FILEROWTH 文件增长率 n LOGON NAME 逻辑日志文件名 FILENAME 操作日志文件路径和文件名 SIZE 文件长度 n FORRESTORE 子句中 PRIMARY指明主文件名 SIZE说明文件的大小 数据库文件最小为1MB 默认值为3MB FILEROWTH说明文件的增长率 默认值为10 FORRESTORE子句说明重建一个数据库 该重建的数据库用于数据恢复操作 2 定义表 CREATETABLE 表名 列名 类型 AS 表达式 字段约束 记录约束 1 字段约束1 NOTNULL NULL 不允许或允许字段值为空 2 PRIMARYKEYCLUSTERED NONCLUSTERED 字段为主码并建立聚集或非聚集索引 3 REFERENCE 参照表 对应字段 定义被参照表及字段 4 DEFAULT 缺省值 定义字段的缺省值 5 CHECK 条件 定义字段应满足的条件表达式 6 IDENTITY 初始值 步长 定义字段为数值型数据 并指出它的初始值和逐步增加的步长值 2 记录约束CONSTRAINT 约束名 约束式 1 PRIMARYKEY CLUSTERED NONCLUSTERED 列名组 2 FOREIGNKEY 外码 REFERENCES 参照表 对应列 3 CHECK 条件表达式 定义记录应满足的条件 4 UNIQUE 列组 定义不允许重复值的字段组 3 基本表的维护 1 修改基本表1 修改字段的定义 ALTERTABLE 表名 ALTERCOLUMN 列名 新类型 NULL NOTNULL 约束定义 2 增加字段和表约束规则 ALTERTABLE 表名 ADD 列定义 表约束定义 3 删除字段或约束规则 ALTERTABLE 表名 DROP CONSTRAINT 约束名 COLUMN 列名 4 使约束有效或无效 ALTERTABLE 表名 CHECK NOCHECK CONSTRAINT ALL 约束名组 2 删除基本表 DROPTABLE 表名 4 创建和管理索引 1 创建索引CTEATE UNIQUE CLUSTERED NONCLUSTERED INDEX 索引名 ON 表名 索引列组 2 删除索引DROPINDEX 表名 索引名 5 创建和管理视图 1 创建视图创建视图的语法为 CREATEVIEW 视图名 列名组 WITHENCRYPTIOPN AS 子查询 WITHCHECKOPTION 2 删除视图DROPVIEW 视图名组 6 创建和管理缺省 1 创建缺省CREATEDEFAULT 缺省名 2 绑定缺省EXECsp bindfault 缺省名 表名 列名 系统存储过程执行时的格式为 EXEC 存储过程名 参数组 如果参数是常量 则要加定界符 3 解除缺省EXECsp unbinddefault 缺省名 表名 列名 4 删除缺省DROPDEFAULT 缺省名组 7 创建和管理规则 1 创建规则CREATERULE 规则名 AS 规则表达式 规则表达式是WHERE子句中的有效表达式 2 绑定规则EXECsp bindrule 规则名 对象名 3 解除规则EXECsp unbindrule 规则名 对象名 4 删除规则DROPRULE 规则名组 8 创建和管理存储过程 1 创建存储过程和调用存储过程CREATEPROCEDURE 过程名 版本号 参数名 参数类型 缺省值 OUTPUT WITHRECOMPILE ENCRYPTION RECOMPILE ENCRYPTION AS SQL语句组 1 版本号是整数 它用于将有相同名字的存储过程编为不同的组 2 OUTPUT用于给调用者返回值 3 RECOMPILE为重编译 4 ENCYPTION为加密选项 5 参数前加 为局部变量 加 则说明为全局变量 过程的调用语句为 EXE UTE 过程名 参数名 参数 版本号 2 删除存储过程DROPPROCEDURE 存储过程名组 9 创建和管理触发器 CREATETRIGGER 触发器名 ON 表名 WITHENCRYPTION FOR DELETE INSERT UPDATE WITHAPPEND NOTFORREPLICATION AS SQL语句组 1 WITHENCRYPTION为加密 2 DELETE触发器是当对表执行DELETE操作时删除元组 将删除的元组放入deleted表中 检查delete表中的数据 确定该如何处理 3 INSERT触发器在对执行插入数据操作时 将插入表中的数据拷贝并送入inserted表中 根据inserted表中的值决定如何处理 4 UPDATE触发器仅在更新数据操作时将要被更新的原数据移入deleted表中 将更新后的数据备份送入inserted表中 对deleted和inserted表进行检查 并决定如何处理 5 NOTFORREPLICATION项说明当一个复制过程在修改一个触发器表时 与该表相关联的触发器不能被执行 例6 21 设有member表 成员表 loan表 借书表 和reservation表 预定书表 通过触发器定义未还图书的成员不能从成员表中删除 当删除成员时 该成员在的预定书表 reservation表 中的记录也将全部被删除 CREATETRIGGERmember deleteONmemberFORDELETEASIF SELECTCOUNT FROMloan deletedWHEREloan member no deleted member no 0ROLLBACKTRANSACTIONELSEDELETEreservationFROMreservation deletedWHEREreservation member no deleted member no 6 4 2数据操纵语言 1 数据检索语句的语句格式SELECT 查询列 INTO 新表名 FROM 数据源 WHERE 元组条件表达式 GROUPBY 分组条件 HAVING 组选择条件 ORDERBY 排序条件 COMPUTER 统计列组 BY 表达式 1 SELECT子句 SELECT ALL DISTINCT TOP 数值 PERCENT 查询列组 查询列为 查询列 表或视图 列名或表达式 AS 列别名 列别名 表达式 1 ALL DISTINCT ALL为返回所有行 DISTINCT为仅显示结果集中的惟一行 该项不选时 ALL是缺省值 2 TOP 数值 仅返回结果集中的前 数值 行 如果有 PENCENT 则返回结果集中的百分之 数值 行记录 3 指明返回表和视图的全部列 4 表或视图 指明返回指定表或视图的全部列 5 列别名 用来代替出现在结果集中的列名或表达式 别名可以在ORDERBY子句中出现 但不能在WHERE GROUPBY或HAVING子句中出现 2 INTO子句和FROM子句 INTO子句将查询结果添加到创建表中 INTO不能与COMPUTE子句同时使用 如果创建表是临时表 在表名前加 字符 FROM语法格式为 FROM 数据源组 数据源的语法为 数据源 表名 AS 表别名 WITH 表线索组 视图名 AS 视图别名 行集合函数 AS 别名 嵌套的SELECT语句 AS 别名 连接表 连接表的语法为 连接表 数据源 连接类型 数据源 ON 连接条件 数据源 CROSSJOIN 数据源 连接表 连接类型 INNER LEFT RIGHT FULL OUTER JOIN1 INNER为内连接 它返回所有连接匹配的行 LEFT OUTER 为左外连接 RIGHT OUTER 为右外连接 FULL OUTER 为完全外连接 2 ON 连接条件 指定连接条件 列名 比较符 列名 3 CROSSJOIN为交叉连接 即对两个表进行笛卡儿积运算 4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论