实验五 数据库完整性一、实验目的掌握SQL Server2000中有关约.

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

例:为Student表的“Sname”字段增加一个唯一性约束 Alter table Student Add constraint IX_constraint unique nonclustered (Sname)
例:为SC表建立外键,依赖于Student表的fk_S_c约束。
Alter table SC Add constraint fk_S_c Foreign key(Sno) Student(Sno) 例:禁用Student表的“Sdept”的CHECK约束ck_student。 Alter table Student 2规则: 规则是数据库对象之一。它指定向表中某列插入或更新数据时,限制输入新值的 取值范围。规则可以是值的清单、值的范围或值必须满足的条件。 Nocheck constraint ck_student References
认值即可。
图1
外键约束: 例:将SC表的Sno字段设置为外键,该外键参考表Student中的主键Sno。
【提示】
如果你用的是前几次实验所创建的数据库及表,为了能使这里所有操 作得以进行,你可以重新建一个Student表,里面不加任何约束.或先删除 已建立的约束.
在企业管理器中,展开服务器中的数据库文件夹,再展开Student数据库,单击 “表”。右击要设置外键的表SC,在弹出的快捷菜单中选择“设计表”,在打开的表 结构对话框中,单击右键,然后点击“关系”,系统将弹出下图所示窗口,单击“新 建”按钮,系统给出默认的关系名,选择要参考主键的表名Student及表中的主键Sno, 要设置外键的表名SC及外键列名Sno,单击¹关闭¹按钮,外键约束创建完成。
以分为3类:
域完整性:是指一个列的输入有效性,是否允许为空值; 实体完整性:是指将行定义为特定表中的唯一实体;
参照完整性:也叫引用完整性,是指在输入或者删除记录时,保持表之间已经定
义的关系,它涉及到多表之间数据一致性的维护。 1.约束:
约束是强制数据完整性的第一选择。约束有:检查约束、缺省约束、唯一约束、非
②将规则绑定到指定的字段上:然后点击¹绑定列¹,在弹出的对话框中的¹表¹中选 择对应的表,然后在左边的窗格中选择欲被捆绑规定的列,点击¹添加¹按钮,最后选 择¹确定¹,完成规则的绑定。如图4
③删除规则:在企业管理器中,展开服务器中的数据库文件夹,再展开Student数
据库,单击¹规则¹wenku.baidu.com右击右边窗格里的规则Rule1,单击¹删除¹按钮即可。 ⑵使用T_SQL语句实施规则 ①创建规则:为Student表中的Sage字段创建一个规则Rule1,使Sage的值大于0且 小于120。 create rule rule1 as @Sage>00000 and @Sage<99999 ②将规则rule1绑定到表Student的Sno字段Sp_bindrule rule1, 'Student.Sage ' ③解除规则rule1到Sage的绑定 sp_unbindrule 'Student.Sage' ④将规则rule1删除drop rule rule1
⑴利用企业管理器进行规则操作 ①创建规则:为Student表中的Sage字段创建一个规则Rule1,使其值大于0且小于
120。
在企业管理器中,展开Student数据库,右击¹规则¹,在弹出的快捷菜单中单击选 择¹新建规则¹,弹出 ¹规则属性¹窗口;在¹名称¹输入框中输入规则名称Rule1,在¹
文本¹输入框中输入规则的文本:@Sage>0 and @Sage<120。
【提示】
例:为 “Sdept”字段创建一个检查约束,使得所在系必须是¹计算机¹、¹数学¹或¹ 信息¹之一。 Alter table Student Add constraint ck_student Check (Sdept in ('计算机','
数学','信息'))
这里添加检查约束时和下面的实验内容中,如果表中原有的 数据与所添加的约束不符,则会出错!所以,操作前请将原表 中的Sdept字段内容改为'计算机','数学','信息'之一。 【注意】 更改内容时请注意,因为Sdept定义为char(20),所以原来比如 Sdept的值为’CS’的话,实际上值为CS+18个空格,如下图3所示, 请同学们更改时注意。
实验五
数据库完整性
一、实验目的 掌握SQL Server2000中有关约束、规则、默认值的使用等完整性技术。
二、实验内容
1)使用SQL Server2000企业管理器和T_SQL两种方法进行检查约束、缺省约束、 唯一约束、非空约束、主键约束和外键约束等6种操作 2)使用SQL Server2000企业管理器和T_SQL两种方法进行规则设置操作: 三、实验要求: 掌握域完整性、实体完整性和参照完整性的设置方法和有关语句 四、实验学时:2学时 五、实验步骤: 完整性是指数据的正确性和有效性,是为防止数据库中存在不符合语义规定的数 据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。数据完整性可
空约束、主键约束和外键约束等6种。 默认值:是数据库对象之一,它指在向数据库中的表插入数据时,如果用户没有明 确给出某列的值,SQL Server将自动指定该列使用默认值。 使用企业管理器实施约束 例:为Student表的“性别”字段创建一个缺省约束,缺省值为¹男¹ 在企业管理器中,展开服务器中的数据库文件夹,再展开要操作的数据库,如 Student数据库,单击“表”,在右边窗口中显示所有在Student数据库中的表。右击 要设置缺省值的表Student,在弹出的快捷菜单中选择“设计表”,单击设置缺省值 的字段,将弹出下图1所示窗口,在下边属性设置栏的默认值输入框中输入相应的默
图2
用T_SQL语句实施约束
例:为Student表的 “Sex”字段创建一个缺省约束,缺省值为¹男¹
Alter table student Add constraint default_sex Default '男' for Ssex
为了观察添加了缺省约束的效果,你可以用以下方法: 插入一条数据,不指定Ssex的值,如 INSERT INTO Student(Sno,Sname,Sdept,Sage) VALUES ('200215140','Jim','CS',22) 接着用 select * from student where sno='200215140' 查看刚才插入的记录的Ssex字段的值是什么
相关文档
最新文档