实验2 设计数据完整性

2026/1/27 0:19:41

南昌大学实验报告

学生姓名: 华国平 学 号: 6100411092 专业班级: 计算机科学与技术112班 实验类型: □ 验证 □ 综合 □ 设计 □ 创新 实验日期: 2013.11.2 实验成绩:

实验二 设计数据完整性

一、实验目的

(1)掌握使用约束实现数据完整性的方法。 (2)掌握使用触发器实现数据完整性的方法。

二、实验内容

(1)定义客户表customer、供应商表supplier、商品信息表goods、订单信息表order、信誉等级表creditgrade和商品类型表goodstype的主键。 (2)定义以上各表的外键约束。

(3)定义惟一约束:customer表的loginname字段;supplier表的loginname字段和suppliername字段;creditgrade表的creditgradename字段;goodstype表的goodstypename字段。

(4)定义检查约束,各字段的约束要求如表所示。

字 段 名 password zipcode email loginname (5)定义默认值,各字段的默认值如表所示。

字 段 名 password logindate creditgradeid goodstypeid 默 认 值 ‘000’ 当前时间GETDATE() 2 1 约 束 要 求 密码长度至少3位 邮编为6位数字 至少有一个@ 登录名不能以[^_@#.]符号开头 (6)在order表上建立一个INSERT触发器,在添加一个订单时,减少goods表相应商品记录中的库存量。

三、实验环境

(1)个人计算机或局域网。 (2)Windows 2000操作系统。

(3)SQL Server 2000数据库管理系统。

四、实验步骤

4.1 设置主键约束

启动企业管理器,利用表设计器分别定义客户表customer、供应商表supplier、商品信息表goods、订单信息表order、信誉等级表creditgrade和商品类型表goodstype的主键。

设置主键约束的操作步骤如下。

(1)执行“开始”︱“程序”︱“Microsoft SQL Server”︱“企业管理器”命令,即可启动企业管理器。在企业管理器窗口中,依次展开“Microsoft SQL Server”,“SQL Server组”,“服务器”,“数据库”,选择数据库market并展开。

(2)在数据库market的列表中选择“表”并展开,找到要设置约束的表(如customer表),右击该表,然后在弹出的快捷菜单中选择“设计表”选项,打开表设计器。

(3)右击要设置主键的列(如“customerid”),然后在弹出的快捷菜单中执行“设置主键”命令,如图所示。

此时在“customerid”列前有一个钥匙样的图标,表示在“customerid”列上完成了主 键约束的设置,如图所示。也可直接单击工具栏中的“钥匙”设置主键约束。

用同样的方法把supplier表的“supplierid”列设置为主键,把goods表的“goodsid”列设置为主键,把order表的“orderid”列设置为主键,把creditgrade表的“creditgradeid”列设置为主键,把goodstype表的“goodstypeid”列设置为主键,并将它设置为标识列(identity)。用户不能对标识列赋值,系统自动生成能够标识每条记录的惟一序列值。

4.2 设置惟一约束

在market数据库的数据表中需要建立惟一约束的列有客户表customer的customername列、供应商表supplier的suppliername列、商品信息表goods的goodsname列等。

4.2.1 为客户表customer的customername列建立惟一约束

为客户表customer的customername列建立惟一约束的操作步骤如下。

(1)在企业管理器中,选择要设置惟一约束的表customer,然后右击,在弹出的快捷菜单中执行“设计表”命令,打开表设计器。

(2)单击工具栏中的“表和索引属性”按钮,打开“属性”对话框,然后选择“索引/键”选项。

(3)在“索引/键”选项中,单击“添加”按钮,“类型”选择为“唯一键”,在“列名”下拉列表框中选择要设置惟一约束的列customername。单击“关闭”按钮,即完成了惟一约束的设置。和添加主键一样,向表中添加惟一键约束时,SQL Server也将检查现有记录的列值,以确保有数据符合惟一键的规则,所以在添加惟一键之前要保证惟一键列没有重复值,但可以有空值,如图所示。

4.2.2 以客户表customer为例,对新建的惟一约束进行检验

对新建的惟一约束进行检验的操作步骤如下。

(1)启动查询分析器,选择数据库market为当前数据库。 (2)在编辑窗口中输入如下SQL语句:

INSERT INTO customer(customerid, customername) VALUES ('100','张三')

INSERT INTO customer(customerid, customername) VALUES ('101','张三')

注意:在customer表中已经存在一条客户名是‘张三’的记录。

(3)按F5键执行该语句,系统报错,如图所示,说明customer表中customername列的惟一约束已起作用。


实验2 设计数据完整性.doc 将本文的Word文档下载到电脑
搜索更多关于: 实验2 设计数据完整性 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219