大学数据库原理与技术-陆勤-大学教学资料课件PPT
收藏
资源目录
压缩包内文档预览:(预览前20页/共201页)
编号:21835909
类型:共享资源
大小:15.48MB
格式:ZIP
上传时间:2019-09-06
上传人:QQ24****1780
认证信息
个人认证
王**(实名认证)
浙江
IP属地:浙江
25
积分
- 关 键 词:
-
大学
数据库
原理
技术
陆勤
教学
资料
课件
ppt
- 资源描述:
-
大学数据库原理与技术-陆勤-大学教学资料课件PPT,大学,数据库,原理,技术,陆勤,教学,资料,课件,ppt
- 内容简介:
-
9.1 SQL Server 特点,1真正的客户机/服务器体系结构。 2图形化用户界面,使系统管理和数据库管理更加直观、简单。 3丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。 4SQL Server与Windows 完全集成,利用了其许多功能,如发送和接受消息,管理登录安全性等。,第九章 SQL Server 2000数据库管理系统简介,5具有很好的伸缩性,可跨越多种平台使用。 6对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。 7SQL Server提供数据仓库功能。,企业版(Enterprise Edition) 标准版(Standard Edition) 个人版(Personal Edition) 开发者版(Developer Edition),9.2 SQL Server 常见版本,9.3 SQL Server 系统数据库简介,SQL Server 2000有6个系统数据库 1. Master数据库是SQL Server系统最重要的数据库,它记录了SQL Server系统的所有系统信息。这些系统信息包括所有的登录信息、系统设置信息、SQL Server的初始化信息和其它系统数据库及用户数据库的相关信息。 2. Model数据库是所有用户数据库和Tempdb数据库的模板数据库,它含有Master数据库所有系统表的子集,这些系统数据库是每个用户定义数据库需要的。,3. Msdb数据库是代理服务数据库,为其警报、任务调度和记录操作员的操作提供存储空间。 4. Tempdb是一个临时数据库,它为所有的临时表、临时存储过程及其它临时操作提供存储空间。 5. Pubs和Northwind数据库是两个实例数据库,它们可以作为SQL Server的学习工具。,9.4 SQL Server 系统表简介,系统目录是由描述SQL Server 系统的数据库、基表、视图和索引等对象的结构的系统表组成。SQL Server 经常访问系统目录,检索系统正常运行所需的必要信息。,几个最重要的系统表,1. Sysobjects表 SQL Server 的主系统表sysobjects出现在每个数据库中,它对每个数据库对象含有一行记录。 2. Syscolumns表 系统表syscolumns出现在master数据库和每个用户自定义的数据库中,它对基表或者视图的每个列和存储过程中的每个参数含有一行记录。 3. Sysindexes表 系统表sysindexes出现在master数据库和每个用户自定义的数据库中,它对每个索引和没有聚簇索引的每个表含有一行记录,它还对包括文本/图像数据的每个表含有一行记录。,4. Sysusers表 系统表sysusers出现在master数据库和每个用户自定义的数据库中,它对整个数据库中的每个Windows NT用户、Windows NT用户组、SQL Server 用户或者SQL Server 角色含有一行记录。 5. Sysdatabases表 系统表sysdatabases对SQL Server 系统上的每个系统数据库和用户自定义的数据库含有一行记录,它只出现在master数据库中。,6. Sysdepends表 系统表Sysdepends对表、视图和存储过程之间的每个依赖关系含有一行记录,它出现在master数据库和每个用户自定义的数据库中。 7. Sysconstraints表 系统表sysconstraints对使用CREATE TABLE或者ALTER TABLE语句为数据库对象定义的每个完整性约束含有一行记录,它出现在master数据库和每个用户自定义的数据库中。,9.5.1 企业管理器,企业管理器是基于一种新的被称为微软管理控制台(Microsoft Management Console)的公共服务器管理环境,它是SQL Server中最重要的一个管理工具。企业管理器不仅能够配置系统环境和管理SQL Server,而且由于它能够以层叠列表的形式来显示所有的SQL Server对象,因而所有SQL Server对象的建立与管理都可以通过它来完成。,9.5 SQL Server 工具和实用程序,利用企业管理器可以完成的操作有,管理SQL Server 服务器;建立与管理数据库;建立与管理表、视图、存储过程、触发程序、角色、规则、默认值等数据库对象,以及用户定义的数据类型;备份数据库和事务日志、恢复数据库;复制数据库;设置任务调度;设置警报;提供跨服务器的拖放控制操作;管理用户帐户;建立Transact-SQL命令语句以及管理和控制SQL Mail。,图9-1-20 SQL Server 企业管理器(Enterprise Manager)界面,9.5.2 服务管理器(Service Manager),SQL Server 服务管理器是在服务器端实际工作时最有用的实用程序,其界面如图9-1-21所示。服务管理器用来启动、暂停、继续和停止数据库服务器的实时服务,其提供的服务包括:SQL Server、SQL Server Agent、MSDTC(Microsoft Distributed Transaction Coordinator,微软分布式事务协调器)。,图9-1-21 SQL Server 服务管理器(Service Manager)界面,9.5.3 查询分析器(Query Analyzer),SQL Server 2000新的图形化查询分析器用于输入和执行Transaction-SQL语句,并且迅速查看这些语句的结果,以分析和处理数据库中的数据。这是一个非常实用的工具,对掌握SQL语言,深入理解SQL Server的管理工作有很大帮助。,9.5.4 分布式事务处理协调器(Distributed Transaction Coordinator,用于提供和管理不同服务器之间的分布式事务处理,这些服务器必须是基于Windows NT或Windows 9x/2000系列操作系统的服务器。,9.5.5 性能监视器(Performance Monitor),它将Windows NT操作系统的性能监视器和SQL Server集成起来,使用它可以查看和统计SQL Server系统的运行情况,查找影响系统性能的主要因素,从而为改进和优化系统、提高系统性能提供依据。,9.5.6 导入和导出数据(Imput and Export Data),导入和导出数据采用DTC 导入/导出向导来完成。此向导包含了所有的DTC(Data Transformation Services)工具,提供了在OLE DB数据源之间复制数据的最简捷的方法。,9.5.7 SQL Server 分析器(Profiler),是一个图形化的管理工具,用于监督、记录和检查SQL Server 数据库的使用情况。对系统管理员来说,它是一个连续实时地捕获用户活动情况的间谍。,9.5.8 服务器网络实用工具(Server Network Utility),用来配置服务器端网络连接和设置相关参数等。,9.5.9 客户端网络实用工具(Client Network Utility),用来配置客户端的网络连接、管理和测定客户端的网络库等。,9.2 Transact-SQL语言,9.2.1 数据定义语言(DDL) 9.2.2 数据操纵语言(DML) 9.2.3 数据控制语言(DCL) 9.2.4 系统存储过程 9.2.5 其它语言元素,9.3 服务器管理,9.3.1 创建服务器组 9.3.2 服务器注册 9.3.3 服务器启动、暂停和停止 9.3.4 服务器连接与断开 9.3.5 服务器配置选项设置,9.3.1 创建服务器组,在一个网络系统中,可能有多个SQL Server服务器,可以对这些SQL Server服务器进行分组管理。分组的原则往往是依据组织结构原则。SQL Server分组管理由企业管理器(Enterprise Manager)来进行。首次启动企业管理器时,有一个名字叫“SQL Server 组”的默认服务器组自动被创建,但用户可以创建新的SQL Server组,在企业管理器菜单中单击操作(Action)菜单或者用右键单击SQL Servers组,选择新建SQL Server 组菜单项,如图9-3-1所示。 接着出现服务器组对话框,如图9-3-2所示,输入组的名称并选择组的级别,单击确定即可。,图9-3-1 新建SQL Server组,图9-3-2 创建服务器组对话框,9.3.2 服务器注册,所谓服务器注册是指将网络系统中的其它SQL Server服务器注册到企业管理器中,以便于管理。,注册过程,1. 在企业管理器中,从操作(Action)菜单中选择新建SQL Server注册,或从工具菜单中选择注册服务器向导选项,或从工具栏中选择图标 ,就会出现如图9-3-3所示的注册SQL Server向导对话框。 如果在对话框中选择“我希望今后在执行该任务时不使用向导”复选框,按“下一步”按钮就会转换到服务器注册属性对话框,如图9-3-4所示。,图9-3-3 注册服务器向导对话框,图9-3-4 服务器注册属性对话框,2. 在注册服务器向导对话框中不选择复选框,单击“下一步”按钮,就会出现选择或创建服务器名称对话框,如图9-3-5所示。,图9-3-5 选择或创建服务器名称,3. 单击“下一步”按钮,出现选择身份验证模式对话框,即选择Windows NT身份验证或SQL Server身份验证。Windows NT身份验证可以使用户只需维护、使用一个Windows NT登录帐户和口令,而使用SQL Server身份验证,则必须维护Windows NT登录帐户和SQL Server登录帐户及口令。如图9-3-6和图9-3-7所示。,图9-3-6 选择身份验证模式,图9-3-7 输入SQL Server登录名和口令,4. 单击“下一步”按钮,就会出现选择服务器组或创建服务器组对话框,如图9-3-8所示,图9-3-8 选择服务器组或创建服务器组,5. 服务器组确定后,单击“下一步”按钮,就会出现确定注册对话框,单击“完成”按钮,则企业管理器将注册服务器,如下图9-3-9所示。,6. 接着出现注册SQL Server消息对话框,注册成功后,按“关闭”按钮结束设置。,图9-3-10 注册SQL Server消息,9.3.3 服务器启动、暂停和停止,启动服务器,下面介绍常用的三种方法: 1. 自动启动服务器 2. 用SQL Server 服务管理器启动 3. 用企业管理器(Enterprise Manager)启动,暂停和关闭服务器的方法与启动服务器的方法类似,只需在相应的窗口中选择“暂停(Pause)”或“停止(Stop)”选项即可。为了保险起见,我们通常会在停止运行SQL Server之前先暂停SQL Server。其主要原因在于,一旦暂停SQL Server,将不再允许任何新的上线者,然而原先已联机到SQL Server的用户仍然能继续作业,这样可以确保原来正在进行中的作业不会中断,而可以持续进行并加以完成。,暂停和关闭服务器,9.3.4 服务器连接与断开,一、服务器连接 在SQL Server 企业管理器的SQL Server组中用左键单击所要连接的服务器,或者用右键单击所要连接的服务器,从快捷菜单中选择“连接”选项,即可连接。如果在注册服务器时选择了在连接时提示输入SQL Server 帐户信息选项(如图9-3-7所示),此时则会提示输入这些信息,如图9-3-12所示。,图9-3-12 连接SQL Server时的输入登录名和口令窗口,9.3.5 服务器配置选项设置,使用SQL Server企业管理器配置服务器的操作方法为:在企业管理器的SQL Server组(Group)中用右键单击所要进行配置的服务器,从快捷菜单中选择“属性(Properties)”选项,就会出现如图9-3-13所示的对话框,其中可以进行服务器的属性(配置选项)的设置。,图9-3-13 服务器属性设置对话框,9.4 数据库管理,9.4.1 数据库的存储结构 9.4.2 创建、修改和删除数据库 9.4.3 数据库备份 9.4.4 恢复数据库 9.4.5 数据库的维护,9.4.1 数据库的存储结构,9.4.1.1 数据库文件 9.4.1.2 数据库文件组,9.4.1.1 数据库文件,逻辑存储结构和物理存储结构 一、数据库的逻辑存储结构指的是数据库是由哪些性质的信息所组成,SQL Server的数据库不仅仅只是数据的存储,所有与数据处理操作相关的信息都存储在数据库中。 二、数据库的物理存储结构则是讨论数据库文件是如何在磁盘上存储的,数据库在磁盘上是以文件为单位存储的,由数据库文件和事务日志文件组成,一个数据库至少应该包含一个数据库文件和一个事务日志文件。,9.4.1.1 数据库文件,1. 主数据库文件(Primary Database File) 2. 辅助数据库文件(Secondary Database File) 3. 事务日志文件,9.4.1.2 数据库文件组,为了便于分配和管理,SQL Server允许将多个文件归纳为同一组,并赋予此组一个名称,这就是文件组。 与数据库文件一样,文件组也分为主文件组(Primary File Group)和次文件组(Secondary File Group)。,9.4.2 创建、修改和删除数据库,9.4.2.1 创建数据库 9.4.2.2 修改数据库 9.4.2.3 删除数据库,9.4.2.1 创建数据库,每个数据库都由以下几个部分的数据库对象所组成: 关系图、表、视图、存储过程、用户、角色、规则、默认、用户自定义数据类型和用户自定义函数。,创建数据库的方法,使用向导创建数据库 使用企业管理器(Enterprise Manager)创建数据库 使用Transact-SQL语言创建数据库。,(一)使用向导创建数据库,以下图9-4-1 到图9-4-8是使用向导创建数据库 ,用户根据提示操作,即可创建数据库。,图9-4-1 选择向导对话框,图9-4-2 欢迎使用创建数据库向导对话框,图9-4-3 输入数据库名称和文件位置对话框,图9-4-4 定义数据库文件逻辑名称及初始大小对话话框,图9-4-5 定义数据库增长信息对话框,图9-4-6 定义事务日志文件名称及初始大小对话框,图9-4-7 定义事务日志文件增长信息对话框,图9-4-8 确认创建数据库对话框,(2)使用企业管理器创建数据库,()在企业管理器中,单击工具栏中的 图标,或在数据库文件夹或其下属任一数据库图标上单击右键,选择新建数据库选项,就会出现如图9-4-9所示的对话框。 ()在常规(General)页框中,要求用户输入数据库名称以及排序规则名称。 ()点击数据文件(Data Files)页框,该页框用来输入数据库文件的逻辑名称、存储位置、初始容量大小和所属文件组名称,如图9-4-10所示。 ()点击事务日志(Transaction Log)页框,该页框用来设置事务日志文件信息,如图9-4-11所示。 ()单击图9-4-11中的“确定”按钮,则开始创建新的数据库。,图9-4-9 创建数据库对话框中的常规页框,图9-4-10 创建数据库对话框中的数据文件页框,图9-4-11 创建数据库对话框中的事务日志页框,(3) 使用Transact-SQL语言创建数据库,9.4.2.2 修改数据库,1. 利用企业管理器修改数据库 2. 使用ALTER DATABASE语句修改数据库,1. 利用企业管理器修改数据库,设置中的各选项说明如下 : ANSI NULL默认设置:允许在数据库表的列中输入空(NULL)值。 递归触发器:允许触发器递归调用。SQL Server设定的触发器递归调用的层数最多为32层。 自动更新统计信息:允许使用SELECT INTO或BCP、WRITETEXT、UPDATETEXT命令向表中大量插入数据。 残缺页检测:允许自动检测有损坏的页。 自动关闭:当数据库中无用户时,自动关闭该数据库,并将所占用的资源交还给操作系统。,自动收缩:允许定期对数据库进行检查,当数据库文件或日志文件的未用空间超过其大小的25%时,系统将会自动缩减文件使其未用空间等于25%。 自动创建统计信息:在优化查询(Query Optimizer)时,根据需要自动创建统计信息。 使用被引用的标识符:标识符必须用双引号括起来,且可以不遵循Transact-SQL命名标准。,2. 使用ALTER DATABASE语句修改数据库,9.4.2.3 删除数据库,1.利用企业管理器删除数据库 2. 利用Drop语句删除数据库 Drop语句可以从SQL Server中一次删除一个或多个数据库。其语法如下: Drop database database_name,n,9.4.3 数据库备份,9.4.3.1 备份概述 9.4.3.2 创建备份设备 9.4.3.3 备份的执行,9.4.3.1 备份概述,备份就是对SQL Server数据库或事务日志进行备份,数据库备份记录了在进行备份这一操作时数据库中所有数据的状态,以便在数据库遭到破坏时能够及时地将其恢复。,SQL Server 2000四种备份方式,(一)完全数据库备份(Dadabase-complete) (二)差异备份或称增量备份(Dadabase-differential) (三)事务日志备份(Transaction log) (四)数据库文件和文件组备份(File and filegroup),9.4.3.2 创建备份设备,在进行备份以前首先必须指定或创建备份设备,备份设备是用来存储数据库、事务日志或文件和文件组备份的存储介质,备份设备可以是硬盘、磁带或管道。当使用磁盘时,SQL Server允许将本地主机硬盘和远程主机上的硬盘作为备份设备,备份设备在硬盘中是以文件的方式存储的。,创建备份设备的两种方法 :,1 .使用SQL Server 企业管理器创建备份设备 如图9-4-17-4-18所示。 2. 使用系统存储过程创建备份设备 在SQL Server 中,可以使用sp_addumpdevice语句创建备份设备,其语法形式如下: sp_addumpdevice device_type ,logical_name,physical_name,controller_type|device_status,图9-4-17 使用企业管理器创建备份设备,图9-4-18 输入备份设备属性对话框,删除备份设备,删除备份设备与创建的过程类似,只须在企业管理器中选中要删除的备份设备,在弹出的菜单中选择删除选项即可删除该备份设备。或者使用sp_dropdevice语句来删除备份设备。其语法如下: sp_dropdevice logical_name,delfile 例子4-6:删除上面创建的备份设备 sp_dropdevice backup_company, c:mssql7backupbk_company.bak,9.4.3.3 备份的执行,SQL Server系统提供了三种数据库备份操作的方法: (1)SQL Server 企业管理器 (2)备份向导 (3)Transact-SQL语句。,. 使用SQL Server 企业管理器进行备份,()启动企业管理器,登录到指定的数据库服务器,打开数据库文件夹,用右键单击所要进行备份的数据库图标,在弹出的快捷菜单中选择所有任务,再选择备份数据库 。 ()出现SQL Server备份对话框,对话框中有两个页框,即常规和选项页框。 ()在常规页框中,选择备份数据库的名称、操作的名称、描述信息、备份的类型、备份的介质、备份的执行时间。 ()通过单击添加按钮选择备份设备 。 ()选择调度复选框,来改变备份的时间安排。 ( 6 )在选项页框中进行附加设置 。,. 使用备份向导 (图9-4-25 -图9-4-31),图9-4-25 欢迎使用向导对话框,图9-4-26 选择数据库对话框,图9-4-27 输入备份名称和描述信息对话框,图9-4-28 选择备份数据库类型对话框,图9-4-29 设置备份介质类型和属性对话框,图9-4-30 备份验证和调度对话框,图9-4-31 确认执行备份操作对话框,9.4.4 恢复数据库,9.4.4.1 恢复概述 9.4.4.2 恢复数据库 9.4.4.3 恢复系统数据库,9.4.4.1 恢复概述,数据库备份后,一旦系统发生崩溃或者执行了错误的数据库操作,就可以从备份文件中恢复数据库。数据库恢复是指将数据库备份加载到系统中的过程。系统在恢复数据库的过程中,自动执行安全性检查、重建数据库结构以及完整数据库内容。,9.4.4.2 恢复数据库,使用企业管理器恢复数据库 (1)打开企业管理器,单击要登录的数据库服务器,然后从主菜单中选择工具,在菜单中选择还原数据库命令。 (2)在还原为数据库旁的下拉列表中选择要恢复的数据库,在还原组中通过单击单选按钮来选择相应的数据库备份类型。 (3)选中选项页框,进行其它选项的设置 。,2. 使用Transact-SQL语句恢复数据库,9.4.4.3 恢复系统数据库,1. 关闭SQL Server,运行系统安装目录下的bin子目录下的rebuilem.exe文件,这是个命令行程序,运行后可以重新创建系统数据库。 2. 系统数据库重新建立后,启动SQL Server。 3. SQL Server启动后,系统数据库是空的,没有任何系统信息。因此,需要从备份数据库中恢复。一般是先恢复master数据库,再恢复msdb数据库,最后恢复model数据库。,9.4.5 数据库的维护,利用数据库的维护计划向导可以方便地设置数据库的核心维护任务,以便于定期地执行这些任务,其创建数据库维护计划的步骤如下: 如图9-4-35-图9-4-49所示,图9-4-35 选择数据库维护计划对话框,图9-4-36 欢迎使用维护计划向导对话框,图9-4-37 选择数据库对话框,图9-4-38 更新数据优化信息对话框,图9-4-39 编辑循环作业调度对话框,图9-4-40 检查数据库完整性对话框,图9-4-41 指定数据库备份计划对话框,图9-4-42 指定数据库备份文件存放目录对话框,图9-4-43 指定事务日志备份计划对话框,图9-4-44 指定事务志文件备份存放目录对话框,图9-4-45 维护计划生成报表对话框,图9-4-46 指定维护计划历史记录存放位置对话框,图9-4-47 指定数据库维护计划名称对话框,图9-4-48 数据库维护计划对象选择对话框,图9-4-49 数据库维护计划编辑对话框,9.5章 数据库对象的操作,9.5.1 数据类型 9.5.2 表操作 9.5.3 视图操作 9.5.4 索引操作 9.5.5 存储过程 9.5.6 触发器 9.5.7 图 表,9.5.1 数据类型,9.5.1.1 系统数据类型 9.5.1.2 自定义数据类型,9.5.1.1 系统数据类型,1. 整型数据类型 2. 浮点数据类型 3. 字符数据类型 4. 日期和时间数据类型 5. 文本和图形数据类型,6. 货币数据类型 7. 位数据类型 8. 二进制数据类型 9. 特殊数据类型 10. 新增数据类型,1. 整型数据类型,整型数据类型是最常用的数据类型之一,它主要用来存储数值,可以直接进行数据运算,而不必使用函数转换。 int(integer):int(或integer)数据类型可以存储从-231(-2,147,483,648)到231-1(2,147,483,647)范围之间的所有正负整数。 Smallint:可以存储从-215(-32,768)到215-1范围之间的所有正负整数 。 Tinyint:可以存储从0到255范围之间的所有正整数。,2. 浮点数据类型,浮点数据类型用于存储十进制小数。浮点数值的数据在SQL Server中采用只入不舍的方式进行存储 。 Real:可以存储正的或者负的十进制数值,最大可以有7位精确位数。 Float:可以精确到第15位小数,其范围从-1.79E-308到1.79E+308。 Decimal和numeric:Decimal数据类型和numeric数据类型完全相同,它们可以提供小数所需要的实际存储空间,但也有一定的限制,可以用2到17个字节来存储从-1038-1到1038-1之间的数值。,3. 字符数据类型,字符数据类型可以用来存储各种字母、数字符号和特殊符号。 Char:其定义形式为char(n),每个字符和符号占用一个字节的存储空间。 Varchar:其定义形式为varchar(n)。用char数据类型可以存储长达255个字符的可变长度字符串 。 Nchar:其定义形式为nchar(n)。 Nvarchar:其定义形式为nvarchar(n)。,4. 日期和时间数据类型,Datetime:用于存储日期和时间的结合体 。它可以存储从公元1753年1月1日零时起到公元9999年12月31日23时59分59秒之间的所有日期和时间 。 Smalldatetime:与datetime数据类型类似,但其日期时间范围较小,它存储从1900年1月1日到2079年6月6日内的日期。,5. 文本和图形数据类型,Text:用于存储大量文本数据,其容量理论上为1到231-1(2,147,483,647)个字节,但实际应用时要根据硬盘的存储空间而定。 Ntext:与text数据类型类似,存储在其中的数据通常是直接能输出到显示设备上的字符,显示设备可以是显示器、窗口或者打印机。 Image:用于存储照片、目录图片或者图画,其理论容量为231-1(2,147,483,647)个字节。,6. 货币数据类型,Money:用于存储货币值,存储在money数据类型中的数值以一个正数部分和一个小数部分存储在两个4字节的整型值中,存储范围为-922337213685477.5808到922337213685477.5808,精度为货币单位的万分之一。 Smallmoney:与money数据类型类似,但其存储的货币值范围比money数据类型小,其存储范围为-214748.3468到214748.3467。,7. 位数据类型,Bit:称为位数据类型,其数据有两种取值:0和1,长度为1字节。,8. 二进制数据类型,Binary:其定义形式为binary(n),数据的存储长度是固定的,即n+4字节,当输入的二进制数据长度小于n时,余下部分填充0。 Varbinary:其定义形式为varbinary(n),数据的存储长度是变化的,它为实际所输入数据的长度加上4字节。其它含义同binary。,9. 特殊数据类型,Timestamp:亦称时间戳数据类型,它提供数据库范围内的唯一值,反应数据库中数据修改的相对顺序,相当于一个单调上升的计数器。 Uniqueidentifier:用于存储一个16字节长的二进制数据类型,它是SQL Server根据计算机网络适配器地址和CPU时钟产生的唯一号码而生成的全局唯一标识符代码(Globally Unique Identifier,简写为GUID)。,10. 新增数据类型,Bigint:用于存储从-263(-9,223,372,036,854,775,807)到263-1(9,223,372,036,854,775,807)之间的所有正负整数。 sql_variant:用于存储除文本、图形数据和timestamp类型数据外的其它任何合法的SQL Server数据。 table:用于存储对表或者视图处理后的结果集。这种新的数据类型使得变量可以存储一个表,从而使函数或过程返回查询结果更加方便、快捷。,9.5.1.2 自定义数据类型,1. 使用企业管理器(Enterprise Manager)创建用户自定义数据类型。 2. 利用系统存储过程创建用户自定义数据类型 。 系统存储过程sp_addtype为用户提供了T_SQL语句创建自定义数据类型的途径,其语法形式如下: sp_addtype typename= type, phystype= system_data_type , nulltype= null_type , owner= owner_name,9.5.2 表操作,9.5.2.1 创建表 9.5.2.2 增加、删除和修改字段 9.5.2.3 创建、删除和修改约束 9.5.2.4 查看表格,9.5.2.1 创建表,在SQL Server 2000中,每个数据库中最多可以创建200万个表,用户创建数据库表时,最多可以定义1024列,也就是可以定义1024个字段。 SQL Server 2000提供了两种方法创建数据库表,第一种方法是利用企业管理器(Enterprise Manager)创建表;另一种方法是利用Transact-SQL语句中的create命令创建表。,1. 利用Enterprise Manager创建表,在Enterprise Manager中,展开指定的服务器和数据库,打开想要创建新表的数据库,用右键单击表对象,从弹出的快捷菜单中选择新建表选项,或者在工具栏中选择图标,就会出现新建表对话框,在该对话框中,可以定义列的以下属性:列名称、数据类型、长度、精度、小数位数、是否允许为空、缺省值、标识列、标识列的初始值、标识列的增量值和是否有行的标识。 然后根据提示进行设置。,2. 利用create命令创建表,9.5.2.2 增加、删除和修改字段,利用企业管理器增加、删除和修改字段 。在企业管理器中,打开指定的服务器中要修改表的数据库,用右键单击要进行修改的表,从弹出的快捷菜单中选择设计表选项,则会出现设计表对话框,在该对话框中,可以利用图形化工具完成增加、删除和修改字段的操作。 利用Transact-SQL语言中的alter table命令增加、删除和修改字段。,9.5.2.3 创建、删除和修改约束,在SQL Server 2000中有5种约束: 主键约束(primary key constraint) 唯一性约束(unique constraint) 检查约束(check constraint) 缺省约束(default constraint) 外部键约束(foreign key constraint),9.5.2.5 删除表,1. 利用企业管理器删除表 在企业管理器中,展开指定的数据库和表格项,用右键单击要删除的表,从快捷菜单中选择“除去表”选项,则会出现除去对象对话框。单击“全部删除”按钮,即可删除表。 2. 利用DROP TABLE语句删除表 DROP TABLE语句可以删除一个表和表中的数据及其与表有关的所有索引、触发器、约束、许可对象。DROP TABLE语句的语法形式如下: DROP TABLE table_name,9.5.3.1 创建视图 9.5.3.2 修改和重命名视图 9.5.3.3 查看视图信息、删除视图 9.5.3.4 通过视图修改记录,9.5.3 视图操作,视图是从一个或者多个表或视图中导出的表,其结构和数据是建立在对表的查询基础上的。和真实的表一样,视图也包括几个被定义的数据列和多个数据行,但从本质上讲,这些数据列和数据行来源于其所引用的表。因此,视图不是真实存在的基础表而是一个虚拟表,视图所对应的数据并不实际地以视图结构存储在数据库中,而是存储在视图所引用的表中。,视图的概念:,使用视图的优点和作用,可以使视图集中数据、简化和定制不同用户对数据库的不同数据要求。 使用视图可以屏蔽数据的复杂性,用户不必了解数据库的结构,就可以方便地使用和管理数据,简化数据权限管理和重新组织数据以便输出到其他应用程序中。 视图可以使用户只关心他感兴趣的某些特定数据和他们所负责的特定任务,而那些不需要的或者无用的数据则不在视图中显示。 视图大大地简化了用户对数据的操作。,视图可以让不同的用户以不同的方式看到不同或者相同的数据集。 在某些情况下,由于表中数据量太大,因此在表的设计时常将表进行水平或者垂直分割,但表的结构的变化对应用程序产生不良的影响。 视图提供了一个简单而有效的安全机制。,9.5.3.1 创建视图,创建视图时应该注意以下情况: 只能在当前数据库中创建视图。 如果视图引用的基表或者视图被删除,则该视图不能再被使用,直到创建新的基表或者视图。 如果视图中某一列是函数、数学表达式、常量或者来自多个表的列名相同,则必须为列定义名称。 不能在视图上创建索引,不能在规则、缺省、触发器的定义中引用视图。 当通过视图查询数据时,SQL Server要检查以确保语句中涉及的所有数据库对象存在,而且数据修改语句不能违反数据完整性规则。 视图的名称必须遵循标识符的规则,且对每个用户必须是唯一的。此外,该名称不得与该用户拥有的任何表的名称相同。,1. 利用企业管理器创建视图,图9-5-26 ,图9-5-27(a) ,5-27(b) ,图9-5-28 ,图9-5-29 ,图9-5-30 ,是利用企业管理器创建视图的具体操作步骤,用户可根据图中提示创建视图。,图9-5-26 选择新建视图选项对话框,图9-5-27 (a) 新建视图对话框,图9-5-27(b) 添加表菜单,图9-5-28 添加表对话框,图9-5-29 选择视图字段对话框,图9-5-30 视图属性对话框,2. 利用向导创建视图,图9-5-31 -图9-5-38 是利用向导创建视图 的具体步骤。,图9-5-31 选择工具菜单中的向导命令,图9-5-32 欢迎使用创建视图向导对话框,图9-5-33 选择数据库对话框,图9-5-34 选择对象对话框,图9-5-35 选择字段对话框,图9-5-36 定义限制对话框,图9-5-37 命名视图对话框,图9-5-38 完成创建视图向导对话框,9.5.3.2 修改和重命名视图,2. 重命名视图,(1)利用企业管理器重命名视图 。 (2)可以使用系统存储过程sp_rename修改视图的名称,该过程的语法形式如下: sp_rename old_name,new_name 例子5-14:把视图v_all重命名为v_part,其程序清单如下: sp_rename v_all,v_part,9.5.3.3 查看视图信息、删除视图,1. 查看视图信息 每当创建了一个新的视图后,则在系统说明的系统表中就定义了该视图的存储,因此,可以使用系统存储过程sp_help显示视图特征,使用sp_helptext显示视图在系统表中的定义,使用sp_depends显示该视图所依赖的对象。它们的语法形式分别如下: (1)sp_help 数据库对象名称 (2)sp_helptext 视图(触发器、存储过程) (3) sp_depends 数据库对象名称,使用SQL Server 查询分析器和企业管理器来显示视图,使用SQL Server 查询分析器(Query Analyzer)可以方便地显示视图信息,如图9-5-42所示,该对话框显示了使用sp_helptext存储过程显示视图v_employee的特征。 另外,也可以使用企业管理器来显示视图的定义,如图9-5-43所示。 利用企业管理器也可以查看视图的输出数据,如图9-5-44所示。,图9-5-42 显示视图信息对话框,图9-5-43 视图属性对话框,图9-5-44 视图输出数据窗口,2. 删除视图,(1)使用企业管理器删除视图的操作方法为如图9-5-45和图9-5-46所示。 (2)使用Transact-SQL语句DROP VIEW删除视图的语法形式如下: DROP VIEW view_name ,n 可以使用该命令同时删除多个视图,只需在要删除的视图名称之间用逗号隔开即可。 例子5-15:同时删除视图v_student和v_teacher,其程序清单如下: drop view v_student,v_teacher,图9-5-45 除去对象对话框,图9-5-46 显示相关性对话框,9.5.3.4 通过视图修改记录,使用视图修改数据时,需要注意以下几点: 修改视图中的数据时,不能同时修改两个或者多个基表,可以对基于两个或多个基表或者视图的视图进行修改,但是每次修改都只能影响一个基表。 不能修改那些通过计算得到的字段。 如果在创建视图时指定了WITH CHECK OPTION选项,那么所有使用视图修改数据库信息时,必须保证修改后的数据满足视图定义的范围。 执行UPDATE、DELETE命令时,所删除与更新的数据必须包含在视图的结果集中。 如果视图引用多个表时,无法用DELETE命令删除数据。,9.5.5 存储过程,9.5.5.1 创建存储过程 9.5.5.2 执行存储过程 9.5.5.3 查看和修改存储过程 9.5.5.4 重命名和删除存储过程,存储过程的概念,SQL Server提供了一种方法,它可以将一些固定的操作集中起来由SQL Server数据库服务器来完成,以实现某个任务,这种方法就是存储过程。 在SQL Server中存储过程分为两类:即系统提供的存储过程和用户自定义的存储过程。,9.5.5.1 创建存储过程,在SQL Server中,可以使用三种方法创建存储过程 : 使用创建存储过程向导创建存储过程。 利用SQL Server 企业管理器创建存储过程。 使用Transact-SQL语句中的CREATE PROCEDURE命令创建存储过程。,创建存储过程时,需要确定存储过程的三个组成部分:,所有的输入参数以及传给调用者的输出参数。 被执行的针对数据库的操作语句,包括调用其它存储过程的语句。 返回给调用者的状态值,以指明调用是成功还是失败。,1. 使用创建存储过程向导创建存储过程,在企业管理器中,选择工具菜单中的向导选项,选择“创建存储过程向导”(如图9-3-1所示),则出现欢迎使用创建存储过程向导对话框,如图9-5-71所示。根据图9-5-71-图9-5-76提示可完成创建存储过程。,图9-3-1 新建SQL Server组,图9-5-71 欢迎使用创建存储过程向导对话框,图9-5-72 选择数据库对话框,图9-5-73 选择数据库对象对话框,图9-5-74 完成创建存储过程向导对话框,图9-5-75 编辑存储过程属性对话框,图9-5-76 编辑存储过程SQL对话框,2. 使用SQL Server 企业管理器创建存储过程,()在SQL Server企业管理器中,选择指定的服务器和数据库,用右键单击要创建存储过程的数据库,在弹出的快捷菜单中选择“新建”选项,再选择下一级菜单中的“存储过程”选项,如图9-5-77所示;或者用右键单击存储过程图标,从弹出的快捷菜单中选择“新建存储过程”选项,如图9-5-78所示。均会出现创建存储过程对话框,如图9-5-79所示。 ()在文本框中可以输入创建存储过程的T_SQL语句,单击“检查语法”,则可以检查语法是否正确;单击“确定”按钮,即可保存该存储过程。如果要设置权限,单击“权限”按钮,如图9-5-80所示。,图9-5-77 选择新建存储过程对话框(1),图9-5-78 选择新建存储过程对话框(2),图9-5-79 新建存储过程对话框,图9-5-80 设置权限对话框,3. 使用Transact-SQL语句中的CREATE PROCEDURE命令创建存储过程,9.5.5.2 执行存储过程,直接执行存储过程可以使用EXECUTE命令来执行,其语法形式如下: EXECUTE return_status= procedure_name;number|procedure_name_var parameter=value|variableOUTPUT|DEFAULT ,.n WITH RECOMPILE ,9.5.5.3 查看和修改存储过程,查看存储过程 存储过程被创建之后,它的名字就存储在系统表sysobjects中,它的源代码存放在系统表syscomments中。可以使用使用企业管理器或系统存储过程来查看用户创建的存储过程。,(1)使用企业管理器查看用户创建的存储过程,在企业管理器中,打开指定的服务器和数据库项,选择要创建存储过程的数据库,单击存储过程文件夹,此时在右边的页框中显示该数据库的所有存储过程。用右键单击要查看的存储过程,从弹出的快捷菜单中选择属性选项,此时便可以看到存储过程的源代码。,(2)使用系统存储过程来查看用户创建的存储过程,可供使用的系统存储过程及其语法形式如下: sp_help:用于显示存储过程的参数及其数据类型 sp_help objname= name 参数name为要查看的存储过程的名称。 sp_helptext:用于显示存储过程的源代码 sp_helptext objname= name 参数name为要查看的存储过程的名称。 sp_depends:用于显示和存储过程相关的数据库对象 sp_depends objname=object 参数object为要查看依赖关系的存储过程的名称。 sp_stored_procedures:用于返回当前数据库中的存储过程列表,2. 修改存储过程,存储过程可以根据用户的要求或者基表定义的改变而改变。使用ALTER PROCEDURE语句可以更改先前通过执行 CREATE PROCEDURE 语句创建的过程,但不会更改权限,也不影响相关的存储过程或触发器。其语法形式如下: ALTERPROCEDUREprocedure_name;number parameterdata_type VARYING=defaultOUTPUT,.n WITH RECOMPILE|ENCRYPTION|RECOMPILE,ENCRYPTION FORREPLI
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。