




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、厦 门 安 防 科 技 职 业 学 院教 案系(部、教研室)人文科学系课 程 名 称数据库原理与sql课 程 编 号授 课 教 师刘春夏前 导 课 程计算机应用基础授 课 学 时54学时授 课 班 级11安防1班2班授 课 时 间 2012-2013 学年 第 1学期授 课 地 点目 录学习情境1 初始SQL Server 2000(3课时)1学习情境2 SQL Server 2000安装与概述(3课时)13学习情境3 管理数据库及SQL Server 2000服务器(3课时)34学习情境4 SQL Server 2000数据完整性实现(6课时)52 学习情境5 表(6课时) 68学习情境6
2、索引(6课时) 84学习情境7 视图及应用(6课时) 101学习情境8 存储过程及应用(6课时) 113学习情境9 触发器(6课时) 137学习情境10 数据库备份与还原(6课时) 158学习情境11 安全管理(3课时) 178学习情境1 初识SQL Server 2000(3课时)一、【教学目标】1. 掌握SQL Server 2000及其组件的安装;2. 掌握创建SQL Server 服务器3. 了解SQL Server 2000的新功能二、【教学内容】1.1 sql server 2000 的历史和发展1.2 关系型数据库1.3 Sql server 2000 的新特点1.4 Sql s
3、erver 和客户端/服务器模式1.5 DBA简介三、【教学重点、难点】重点:1、安装SQL Server 2000;难点:1、SQL Server 2000的新功能四、【教学过程】 1.1 SQL Server 2000的历史和发展 SQL Server是Microsoft公司推出的关系型数据库管理软件。它从SQL Server 1.0版到目前的版本SQL Server 2000(8.0版),经历了10多年的发展过程。“SQL Server”这个名称第一次出现是在1988年。Microsoft总裁Jon Shirley和Sybase发起人兼总裁Mark Hoffman签订合约;之后,Micr
4、osoft又与Ashton-Tate达成协议,发布产品Ashton-Tate / Microsoft SQL Server。该产品只能在OS / 2操作系统上运行。经历了10多年的发展,Microsoft公司已经拥有了自己的Microsoft SQL Server代码,也成为提供企业数据库的一个大公司。Microsoft公司又在2005年推出了Microsoft SQL Server 2005版本。1.2 关系型数据库1.2.1 关系型数据库的定义在数据库发展历史上,主要有3种数据模型:层次模型、网状模型和关系模型。所谓数据模型,是指描述记录之间联系的数据结构形式。层次模型指的是树状的记录型结
5、点;网状模型则是以记录型为结点的网络;而关系模型就是一张二维表格,如表1-1所示。现在的大多数数据库管理系统都是使用关系型的数据模型,SQL Server就是一种典型的关系型数据库管理系统。1.2.2 主码和外码1主码(Primary Key,缩写为PK)码是指二维表中的某一列或者组合列(几个列作为一个整体),该列的值唯一地标识了一行。如在导师表中,“导师编号”的每个值都代表了“某一个导师”。因为在同一个学校中,经常会出现导师重名的现象,但他们的“导师编号”绝对不会相同。也就是说,如果我们说张三老师,可能会有人问“哪一个”张老师,但是说“导师编号”为“1005”的张老师,就会“唯一地”确定是哪
6、个张老师了。2外码(Foreign Key,缩写为FK)一个表中的某个列(非主码)是另一个表的主码,那么该列被称为外码。例如在表1-4中,研究生表中的主码是“学号”,“导师编号”是非主码,而在表1-3的导师表中,“导师编号”却是主码,那么我们就说“导师编号”是研究生表的外码。1.2.3 关系型数据库的主要特点这里所说的关系型数据库,主要是指能够支持企业级应用的关系型数据库管理系统,比如SQL Server、Oracle等。虽然FoxPro等也是关系型数据库管理系统(RDBMS),但却不具有下面的全部特点。l 几乎当今所有的关系型数据库管理系统都采用SQL语言来操纵数据库中的数据。SQL Ser
7、ver 2000不仅和ANSI-92SQL完全兼容,而且SQL Server 2000还对这种语言进行了扩展,添加了许多重要的新特性。通常,SQL Server 2000中的SQL版本被称作事务型SQL(Transact-SQL)。 能够保证数据的完整性。否则,存储在SQL Server 2000数据库中的数据就是毫无价值的。关系型数据库管理系统包括许多特性,目的是阻止不符合要求的数据进入数据库。 关系型数据库管理系统是一个便于修改的系统。 在文件系统中,相同的数据常重复出现在许多文件中,而关系数据库系统则会排出大多数的冗余数据。这就减少了对存储空间的要求,加快了数据访问的速度。应用程序可以通
8、过多级的安全检查来限制对数据的访问。1.3 SQL Server 2000的新特点概括起来,SQL Server关系型数据库的新特点有以下几点。l 图形化管理:可以说SQL Server具有十分强烈的微软气息,它的管理系统使用图形化的管理工具。SQL Server的所有管理都可以使用SQL Server Enterprise Manager,即SQL Server企业管理器实现,这是一个基于图形用户界面的集成管理工具,使用起来十分方便、直观。l 丰富的编程接口:SQL Server提供了DB-Library for C、Transact-SQL、嵌入式SQL开发工具、ODBC规范、OLE DB
9、规范等开发工具,这样,用户可根据自己的需要开发更适合处理事务的程序。l 多线程系统:由于支持了多线程操作,SQL Server可以在多用户并发访问时,不占用系统的过多资源,从而可以承受较大访问量的冲击。l 良好的并发控制:在SQL Server中,用户可以不用关心并发操作中的锁定过程,系统自动利用动态锁功能防止用户在进行查询、修改、删除等并发操作时发生的相互冲突。l 与操作系统良好的接口:SQL Server既能够运行于Windows 98/95操作系统下(只能作为客户端),也可以运行于Windows NT和Windows 2000(包括Windows 2000 Server/Advance
10、Server)环境下。作为微软自己开发的数据库管理系统,SQL Server与以上的操作系统有着良好的接口,并充分利用其中所提供的服务,可以提高SQL Server数据库管理系统的运行性能。l 与Back Office集成:SQL Server与Microsoft服务器套件BackOffice成员产品可以有机结合,充分利用它们提供的功能和服务,增强SQL Server数据库管理系统本身的功能。这些成员软件包括:Microsoft Internet lnformation Server(IIS)、Microsoft Exchange Server、Microsoft SNA Server等。1.
11、4 SQL Server和客户端/服务器模式 早期的数据库系统是单点处理方式,DBMS软件、所有用户的数据和应用程序都存储在一个中心计算机上(也称主机),它们通常是大型机。用户仅能通过终端发出存取数据库的请求,由通信线路传输给主机,主机响应并处理之后,再将处理结果通过通信线路返回用户终端。这种系统称为主从式或主机/终端式系统,是一种集中式数据库体系结构。SQL Server是客户端/服务器系统的一个典型的示例,服务器端负责创建和维护表和索引等数据库对象,维护引用完整性和安全性,确保在出现某种错误信息时能够恢复操作。客户应用程序负责为用户显示信息,处理数据库和用户屏幕上的信息,显示报表并提供用户
12、可中断的操作 客户端/服务器系统的结构中,数据库放在一个被称为服务器的中央计算机中,而多个用户共享这个数据库。用户通过一个应用程序访问服务器。 在一个两级客户端/服务器系统中,用户在他们的本地计算机上运行被称做客户端的应用程序,通过网络连接运行在服务器计算机上的SQL Server 2000实例。客户端应用程序运行商业事务和代码,为用户显示输出信息。 在一个多级客户端/服务器系统中,客户端应用程序运行在两个或多个位置:客户端运行在用户的本地计算机上并且集中为用户显示结果。 客户端/服务器数据库系统将数据库的存储和管理集中在一个地方,有以下优点:l 每个数据都存储在一个所有用户都可以访问的中央位
13、置。 l 商务规则和安全规则可以在服务器上定义一次,但对所有用户都平等执行。 l 关系型数据库服务器通过仅返回应用程序需要的数据来优化网络通信量。 l 大幅降低硬件费用。 l 服务器可以配置成使需要检索数据的磁盘输入/输出(I/O)能力最优化,而客户端可以配置成使从服务器检索到的数据格式化显示最优化。 l 简化了维护任务,如备份和恢复数据,因为它们集中在中央服务器1.5 DBA简介 DBA(Data Base Administrator)简单的定义就是数据库管理员,一个管理数据库和数据库服务器的人。要做一个好的SQL Server DBA,需要学很多知识。因为SQL Server与Window
14、s NT/2000捆绑在一起,所以SQL Server DBA不仅要精通SQL Server,还要精通Windows NT/2000。1.5.1 需要掌握的技能(1)精通SQL Server(2)精通Windows NT/2000的运行机制(3)掌握关系型数据库的基本结构及运行机制(4)掌握SQL语言。(5)备份和恢复数据库。(6)掌握基本的物流运作。1.5.2 日常需要处理的事情(1)安装SQL Server(2)建立和维护数据库(3)负责维修数据库(4)管理用户(5)管理权限(6)备份和恢复数据(7)调度任务(8)数据的导入和导出(9)管理SQL Server复制(10)监视和调整服务器(
15、11)解决SQL Server问题1.6 上机实训实验目的了解关系型数据库的概念;掌握关系型数据库的应用。实验内容l 用二维表格形式创建一个简单的学生信息管理系统。l 实验过程l 创建表格1创建一个二维表格 学生基本信息表 2创建二维表格 学院信息表 3创建二维表格 课程信息表五、【板书设计】 教学要点和重要补充 黑板提纲 六、【教学手段】 理论讲授+课堂讨论+问题答疑+上机实践+案例教学七、【作业安排】 课后选择与填空题八、【授课后记】学习情境2 SQL Server 2000安装与概述(3课时)一、【教学目标】1. 掌握SQL Server 2000及其组件的安装;2. 掌握创建SQL S
16、erver 服务器3. 了解SQL Server 2000的新功能二、【教学内容】2.1 sql server 2000 简洁2.2安装sql server 2000的要求2.3安装sql server 20002.4创建sql server 2000服务器2.5 sql server 2000的组件2.6 sql server 2000的新功能三、【教学重点、难点】重点:1、安装SQL Server 2000;难点:1、SQL Server 2000的新功能四、【教学过程】第2章 SQL Server 2000安装与概述2.1 SQL Server 2000简介 Microsoft SQL
17、Server 2000由一系列产品组成,不仅能够满足最大的数据处理系统和商业Web站点存储和处理数据的需要,还能为个人或小企业提供容易使用的数据存储服务。现在的企业或政府部门对数据存储的要求非常高,如要求系统必须可以同时处理上千件订单,有可靠的联机分析处理系统,这些系统能够很容易地通过OLPT(联机事务处理)数据生成,并支持复杂的数据分析。要求数据存储系统可由应用程序配置,然后系统自身可以自动调整,用户不需要专门的数据库管理员不间断地监视和调整应用程序。Microsoft SQL Server 2000通过提供一系列相互协助的组件满足了用户的各种要求。2.2 安装SQL Server 2000
18、的要求2.2.1 安装前的事项在安装前,需要考虑以下几个方面的问题:确保计算机满足安装SQL Server 2000的硬件和软件需求。如果在已安装SQL Server 7.0的计算机上安装SQL Server 2000,需要备份SQL Server 7.0数据库的内容。如果打算安装一个故障切换群集,必须在运行安装程序之前取消与任何网络的连接。如果在Windows NT/2000上安装,需要事先设置一个或多个域用户账号,以便SQL Server 2000和其他客户端、服务器端进行通信。以本地管理员权限的用户账号登录系统。关闭所有与SQL Server 2000有关的服务,包括如何使用ODBC的服
19、务。关闭Microsoft Windows NT事件阅读器和文件Regedit.exe或Regedit32.exe。2.2.2 安装SQL Server 2000的硬件和软件要求2软件需求2.3 创建SQL Server服务器SQL Server包含两个重要的服务: Microsoft SQL Server服务(MS SQL Server)和SQL Server Agent服务。SQL Server Agent服务负责管理日常的维护任务,如管理警报、任务、事件和复制。MS SQL Server是Microsoft SQL Server的引擎,直接通过Transact-SQL管理数据库。2.4
20、安装SQL Server 2000SQL Server 2000可以方便地安装到Windows 2000 Server/XP或者Windows NT上。2.4.1 SQL Server 2000的安装路径 用户可以根据需要自行改变程序和数据文件的安装路径。提 示SQL Server 2000的安装目录位置与以前版本有所不同。在SQL Server 2000的默认安装下,程序文件和数据文件的默认安装路径均为“ProgramFilesMicrosoft SQL ServerMSSQL”。2.4.2 安装SQL Server 2000不论安装到哪一种操作系统上,安装SQL Server 2000的过
21、程都十分类似,在此,我们以在Windows XP操作系统上安装为例进行讲解。安装SQL Server 2000的详细过程将在上机实训中讲解。 2.5 SQL Server 2000的组件1Server Component2Management Tools3Client Connectivity4Books Online5Development Tools6Code Samples2.6 SQL Server 2000的新功能SQL Server具有很好的易用性和伸缩性。新增加的向导功能将允许许多有能力的用户作为数据库管理员。SQL Server 2000的OLAP Service可创建多维数据
22、库的快速捕获,为易用性创造了新标准。SQL Server 2000具有强大的数据仓库功能,支持各种企业解决方案,并且能够与Microsoft BackOffice 实现非常出色的交互操作。其他一些改进,如行级锁、平行性及新的联合技术,将提供更好的性能,尤其适合于企业资源规划与应用。2.6.1 系统性能的增强1联盟的数据库服务器2通过视图创建索引3校对功能4文本搜索功能5多实例操作6网络库功能提高7备份和恢复功能8实用工具操作方面9日志管理2.6.2 编程功能的增强 1支持XML2新的数据类型3新增触发器4用户自定义函数5分布式查询2.6.3 数据转换功能1支持关键字和约束数据转换功能(DTS)
23、支持关键字和约束。可以使用DTS Import/Export Wizard将主关键字、外部关键字和约束从源表复制到目的表。2将DTS数据包保存成Visual Basic文件将DTS数据包保存成Visual Basic文件可以让DTS Import Wizard、DTS Export Wizard创建数据包,允许将DTS Designer合并到Visual Basic程序中,或者由需要引用DTS对象模型组件的Visual Basic程序开发人员将DTS Designer当作原型使用。2.7 上机实训实验目的掌握SQL Server 2000的安装及其安装要求。实验内容安装SQL Server 2
24、000及其组件。SQL Server 2000的安装步骤实验内容:将SQL Server 2000的安装盘放入光驱,如果没有自动安装,则双击“Autorun.exe”;若计算机中有从网络下载的安装程序,则也可以双击“Autorun.exe”进行安装,弹出如下图所示的界面,然后选择“安装SQL Server 2000组件”选项。五、【板书设计】 教学要点和重要补充 黑板提纲 六、【教学手段】 理论讲授+课堂讨论+问题答疑+上机实践七、【作业安排】 课后选择与填空题八、【授课后记】学习情境3 管理数据库及SQL Server 2000服务器(3课时)一、【教学目标】1. 掌握数据库的创建及其管理;
25、2. 掌握如何启动SQL Server 2000服务器和企业管理器。3. 精通SQL Server 2000 服务器的管理二、【教学内容】3.1创建数据库3.2管理数据库信息3.3启动sql server 2000服务器3.4管理服务 器三、【教学重点、难点】重点:1、SQL Server 命名规则; 2、启动SQL Server 服务难点:1、使用SQL 语句创建数据库; 四、【教学过程】第3章 管理数据库及SQL Server 2000服务器3.1 创建数据库创建数据库的过程实际就是确定数据库的名称,大小及用于存储数据的文件和文件组。数据库不是任何用户都可以创建的,只有sysadmin和d
26、bcreator固定服务器的成员才有创建数据库的权限,当然其他用户也可以被授予这种权利。3.1.1 SQL Server命名规则SQL Server的命名规则如下。l 字符的长度可为130字符。l 名称的第一个字符必须是一个字母或者是下列字符中的某一个:下画线“_”、at符号“”或者是英镑符号“”。l 在中文版SQL Server 2000中,可以直接使用中文名称。l 在首字母后的字符可以是字母、数字或者前面规则中提到的符号。l 名称当中不能有任何空格,除非整个名称用引号括起来3.1.2 使用SQL语句创建数据库1CREATE DATABASE 语句的语法2参数说明3示例4权限3.2 管理数据
27、库信息1修改数据库ALTER DATABASE database2压缩数据库DBCC SHRINKDATABASE 3删除数据库DROP DATABASE database_name , n 3.3 启动SQL Server 服务器启动SQL Server,就是启动SQL Server服务。SQL Server服务可以像Microsoft Windows NT 4.0或Windows 2000服务一样在本地或远程启动。如果是默认实例,SQL Server服务是MS SQL Server,如果是命名实例,那就是MS SQL $ instancename。3.3.1 修改默认服务器如果用户必须重新
28、启动计算机,那么SQL Server服务管理器就自动出现且显示默认服务。要在SQL Server服务管理器中改变默认服务,操作如下:(1)选择“开始”“程序”“Microsoft SQL Server”“Service Manager”命令打开SQL Server服务管理器。(2)右击SQL Server服务管理器标题,从弹出的菜单中选择Options选项。(3)在“服务”列表框中选择新的默认服务,重新启动时,新的默认服务将是用户新选择的服务。3.3.2 启动SQL Server服务器安装完SQL Server 2000后,安装程序将SQL Server服务配置成在每次启动Windows系统时
29、自动启动。用户也可以将SQL Server配置成一种自动启动的服务。在运行Windows系统的计算机上,自动启动服务器的最简单方式是在SQL Server服务管理器中选择 复选框。手动启动的设置方法,是在SQL Server服务管理器中,单击 按钮。3.4 管理服务器SQL Server服务器管理包括各种各样的管理任务,如下所示:l 注册服务器和分配口令。l 重新配置网络连接。l 配置连接的服务器,允许用户通过SQL Server 企业管理器对OLE DB数据源进行分布式查询和分布式事务处理。l 配置远程服务器,以便用户使用SQL Server安装程序来执行驻留在另一个SQL Server安装
30、程序中的存储过程。l 配置可靠的故障切换服务器。l 设置服务器配置选项。l 管理SQL Server消息。3.4.1 注册服务器要使用SQL Server企业管理器来管理服务器,必须先注册本地或远程服务器,在注册服务器时必须指定:l 服务器的名称。l 登录到服务器时使用的安全类型。l 如果需要,指定登录名和密码。l 注册了服务器后想将该服务器列入其中的组的名称。3.4.2 创建服务器组在SQL Server企业管理器中创建服务器组的方法如下:(1)右击服务器组,选择“新建SQL Server组”选项。(2)在“名称”文本框中输入新的组名。(3)选择组级别:顶层组或下面项目的子组。(4)单击 按
31、钮。(5)重复以上步骤,创建所需的新服务器组3.4.3 设定sa密码sa为系统管理员的账号,在安装SQL Server时,SQL Server安装程序不会给sa登录指派密码,但可以在安装完服务器后给sa指派密码。当第一次登录到SQL Server实例时,使用sa作为登录标识并且不使用密码。在登录之后,必须更改sa密码以防其他用户使用sa权限。3.5 配置连接服务1对SQL Server使用防火墙系统如果要求Internet用户使用TCP/IP连接SQL Server实例,而且自己的组织正在使用防火墙系统将包含SQL Server的网络和其余的Internet隔离开,那么一定要保证SQL Ser
32、ver为它的引入连接使用特定的端口,然后防火墙系统才能从端口到SQL Server继续向前连接。2启动加密系统使用网络实用工具在安装SQL Server后启动加密的步骤如下:(1)选择“开始”“程序”“Microsoft SQL Server”“服务器网络实用工具”命令。(2)如果在“启用的协议”列表框中没有出现“多协议”选项,则在“禁用的协议”列表框中单击它,然后单击“启用”按钮。(3)在“启用的协议”列表框中选择“多协议”选项,然后单击“属性”按钮,弹出“CRYSTALZ-多协议”对话框。(4)选择“启用加密”复选框。3.6 管理客户端SQL Server客户端包括以下组成部分。l OLE
33、 DB用户:这些应用程序使用Microsoft SQL Server或Microsoft OLE DB Provider for ODBC连接SQL Server实例。OLE DB供应商作为SQL Server和客户端应用程序间的媒介,这些应用程序将SQL Server数据用做OLE DB行集。l ODBC应用程序:它们包括同SQL Server一起安装的客户端实用工具,如SQL Server Enterprise Manager和SQL Query Analyzer,以及其他使用SQL Server ODBC驱动程序连接SQL Server实例的应用程序。l DB-Library客户端:包括
34、SQL Server isql命令行实用工具和写入DB-Library的客户端。3.6.1 配置客户端在配置SQL Server客户端之前需要做好以下两项工作:l 必须在客户端和服务器上安装一个匹配的SQL Server Ner-Library(正常情况下,所有的SQL Server客户端网络库和服务器网络库将在安装SQL Server时自动安装)。每一对Net-Library都支持一种特定的网络协议(如客户端TCP/IP Sockets网络库和服务器TCP/IP Sockets网络库都支持TCP/IP)。l 在客户端和服务器上必须安装正确的网络协议。网络协议一般是在Windows安装过程中安
35、装的,而不是SQL Server安装程序或配置的一部分。只有当客户端和服务器上都安装了与SQL Server Net-Library相对应的网络协议时,SQL Server Net-Library才有效。3.6.2 配置客户端网络连接用户的服务器,用户不需要重新配置客户端连接,而只在以下情况配置客户端:l 将默认的客户端网络库设置成一个除TCP/IP外的选项。l 为特定的服务器通信添加一个不同的配置项。l 在默认情况下,在运行Windows NT 4.0和Windows 2000的计算机上,SQL Server实例监听服务器TCP/IP套接字和多协议Net-Library。3.6.3 配置OD
36、BC数据源ODBC应用程序使用数据源连接到SQL Server。数据源是一个存储定义,主要内容包括:l 连接到数据源所使用的ODBC驱动程序。l ODBC驱动程序连接到数据源所使用的信息。l 连接所使用的驱动程序特有的选项。3.6.4 配置OLE DB客户端配置OLE DB客户端连接到SQL Server时,需要通过OLE DB提供程序使服务器名称和连接信息可由客户端(或OLE DB用户)使用。通过OLE DB建立SQL Server连接一般使用:l 用于SQL Server的Microsoft OLE DB提供程序(SQL OLE DB)。l 用于ODBC的Microsoft OLE DB提
37、供程序。3.6.5 设置DB-Library选项客户端网络实用工具中包含安装在计算机上的DB-Library的文件信息,以及用来设置DB-Library的首选项。这些选项包括:l 自动转换ANSI到OEM。l 使用国际设置。3.7 上机实训实验目的熟练掌握数据库的创建和管理,并能自行创建服务器和管理服务器。实验内容l 使用SQL Server企业管理器创建数据库l 使用SQL Server企业管理器修改数据库l 使用SQL Server企业管理器压缩数据器l 使用SQL Server企业管理器删除数据器实验内容:(1)在SQL Server企业管理器中选择“工具”“向导”选项,如下图所示。(2
38、)弹出“选择向导”对话框,选择“创建数据库向导”选项,单击按钮,如下图所示。3.7.2 使用SQL Server企业管理器修改数据库实验内容:在企业管理器中打开一个服务器中的“数据库”节点,右击其中的一个数据库,选择“属性”选项,出现如下图所示的对话框。其中的选项和参数与创建数据库中的意义均相同。分别对“常规”、“数据文件”、“事务日志”、“文件组”、“选项”、“权限”选项卡中的选项进行修改。3.7.3 使用SQL Server企业管理器压缩数据库实验内容:(1)打开企业管理器,在控制台中展开“数据库”节点,选择要操作的数据库,在其上右击,选择“所有任务”“收缩数据库”选项。(2)进入“收缩数
39、据库”对话框,对其中的参数进行修改。 3.7.4 使用SQL Server企业管理器删除数据库实验内容:打开企业管理器,在控制台中展开“数据库”节点,选择要删除的数据库,在其上右击,然后选择“删除”选项,弹出如下图所示的对话框。对话框中的复选框可以选择数据库删除是否备份并还原历史记录。五、【板书设计】 教学要点和重要补充 黑板提纲 六、【教学手段】 理论讲授+课堂讨论+问题答疑+上机实践七、【作业安排】 课后选择与填空题八、【授课后记】学习情境4 SQL Server 2000数据完整性实现(6课时)一、【教学目标】1. 理解约束,默认和规则;2. 掌握约束,默认和规则的创建及应用。二、【教学
40、内容】4.1数据完整性4.2使用约束4.3使用规则4.4使用默认4.5约束和默认/规则的比较4.6上机实训三、【教学重点、难点】重点:1、创建规则 默认 约束; 2、绑定规则默认约束难点:1、用sql 语句创建 使用约束 默认和规则 2、约束,默认,规则的比较四、【教学过程】第4章 SQL Server 2000数据完整性实现4.1 数据完整性实体完整性:实体完整性把表中的每行看作一个实体,也可以称为表完整性,它要求所有行都具有唯一标识。域完整性:也称列完整性,要求域中指定列的数据具有正确的数据类型、格式和有效的数值范围。域完整性通过默认值、FOREIGN KEY、CHECK等约束及默认、规则
41、等数据库对象来实现。引用完整性:引用完整性维持被参照表和参照表之间的数据一致性,它通过PRIMARY KEY约束和FOREIGN KEY约束来实现。引用完整性确保键值在所有表中一致。这样的一致性要求不能引用不存在的值,如果键值更改了,那么在整个数据库中,对该键值的所有引用要进行同样的更改。参照完整性:引用完整性维持被参照表和参照表之间的数据一致性,它通过PRIMARY KEY约束和FOREIGN KEY约束来实现。用户定义的完整性(User-defined Integrity):用户定义的完整性允许用户定义不属于其他任何一类完整性的特定规则。各类完整性均支持用户定义的完整性。4.2 使用约束约
42、束是独立于表结构的,可作为数据库定义部分在CREATE TABLE语句中声明,可以在不改变表结构的基础上,通过ALTER TABLE语句添加或者删除。当表被删除时,表中所有的约束定义也将被删除。建立和使用约束的目的是保证数据的完整性,约束是SQL Server强制实行的应用规则,它是通过限制列中数据、行中数据和表之间的时间来保证数据的完整性。约束(Constraint)限制了用户可能输入到表或字段中的值。SQL Server的约束包括:DEFAULT、CHECK、UNIQUE、PRIMARY KEY和FOREIGN KEY,它们均有各自不同的目的。这就需要用户根据自己的需要,选择和使用约束。
43、4.2.1 DEFAULT约束1DEFAULT约束的语法格式CONSTRAINT 约束名DEFAULT 常量表达式 | NULL FOR 字段名 2示例 /*默认值的表达书写格式*/ALTER TABLE 学生基本信息表ADDCONTRAINT 性别 DEFAULT男FOR 性别此例说明如果没有指定某个学生的“性别”,则系统默认为 男。4.2.2 CHECK约束1CHECK约束的语法格式 CONSTRAINT constrain_name CHECK NOT FOR REPLICATION ( logical_expression )逻辑表达式可以是AND或者OR连接的多个简单逻辑表达式构成的
44、复合型逻辑表达式,通过任何基于逻辑运算符返回结果TRUE或FALSE的逻辑表达式来创建CHECK约束。2示例/*增加一个CHECK约束*/USE afuGOALTER TABLE studentADDCONTRAINT studentid CHECK ( studentid LIKE 0-90-90-9)该示例中,输入学生的学号被限定为一个三位数,且该三位数的每一位只能在09的范围内,使用字母以及其他符号是无效的。4.2.3 UNIQUE约束1UNIQUE约束的语法格式 CONSTRAINT constraint_name UNIQUE CLUSTERED | NONCULUSTERED WI
45、TH FILLFACTOR = fillfactor ON filegroup | DEFAULT 2示例/*在表course中添加一个UNIQUE约束*/USE afuGOALTER TABLE CourseADDCONTRAINT u_coursename_no UNIQUE NONCLUSTERED ( coursename_no )该例在表Course中的课程名列上创建一个UNIQUE约束。这样,就不能在该表中插入同样课程名的数据了。4.2.4 PRIMARY KEY约束1PRIMARY KEY约束的语法格式 CONSTRAINT constraint_name PRIMARY KEY
46、 CLUSTERED | NONCLUSTERED ( column ,n ) WITH FILLFACTOR = fillfactor ON filegroup | DEFAULT 2示例/*添加一个主键*/USE afuGOALTER TABLE 学生基本信息表ADDCONSTRAINT PK_studentid PRIMARY KEY CLUSTERED (studentid)该示例在表“学生基本信息表”中增加一个主键,并指定studentid(学号)列为主键值,同时创建了一个聚簇索引,这意味着以后不能在该表中插入学号两个相同的学生基本信息。4.2.5 FOREIGN KEY约束1FOR
47、EIGN KEY约束定义格式 CONSTRAINT constraint_name FOREIGN KEY ( column ,n ) REFERENCES ref_table ( ref_column ,n ) NOT FOR REPLICATION 2示例/*增加一个FOREIGN KEY*/USE afuGOALTER TABLE grade ADDCONTRAINT FK_studentidFOREIGN KEY ( studentid )REFERANCES student ( studentid )上例在表grade中增加一个FOREIGN KEY约束,该约束把表grade中的st
48、udentid与表student中的studentid联系起来,在这两个表之间创建一种约束关系。4.3 使用规则规则是一种数据库对象,与默认的使用方法类似,规则可以绑定到一列或者多列上,也可以绑定到用户定义的数据类型上,其作用类似于CHECK约束为INSERT语句指定可接受的数据值的范围。CHECK 约束作为 CREATE TABLE 语句的一部分进行指定,而规则可以作为单独的对象进行创建,然后绑定到列上。 4.3.1 创建规则1创建规则的语法格式CREATE RULE rule_name AS condition_expression2参数说明rule_name是新规则的名称,规则名称必须符合标识规则,可以选择是否指定规则所有者的名称。condition_expression是定义规则的条件。规则可以是WHERE子句中的任何有效的表达式,并且可以包含诸如算术运算符、关系运算符和I
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论