实验10SQL Server 数据完整性.docx

上传人:b****2 文档编号:11372 上传时间:2022-09-30 格式:DOCX 页数:15 大小:402.56KB
下载 相关 举报
实验10SQL Server 数据完整性.docx_第1页
第1页 / 共15页
实验10SQL Server 数据完整性.docx_第2页
第2页 / 共15页
实验10SQL Server 数据完整性.docx_第3页
第3页 / 共15页
实验10SQL Server 数据完整性.docx_第4页
第4页 / 共15页
实验10SQL Server 数据完整性.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

实验10SQL Server 数据完整性.docx

《实验10SQL Server 数据完整性.docx》由会员分享,可在线阅读,更多相关《实验10SQL Server 数据完整性.docx(15页珍藏版)》请在冰豆网上搜索。

实验10SQL Server 数据完整性.docx

实验10SQLServer数据完整性

实验10SQLServer2000数据完整性

20102805013陈尧

一、实验目的

1.了解约束的应用对数据完整性控制的作用。

2.掌握应用企业管理器设置、修改和删除常见约束的方法。

3.掌握应用T-SQL设置、修改和删除常见约束的方法。

二、实验要求

1.在样例数据库中管理相关约束。

2.保存并上交实验结果。

三、实验步骤

1.使用不带约束(参考附录D)的脚本创建eshop数据库。

(T-SQL)

 

2.使用修改表命令将members表的m_address设置为非空,添加如下记录,体会NOTNULL约束的

使用。

‘wenh’,‘翁红’,‘男’,‘1970-04-20’,NULL,5500.0,‘888888’

首先,在查询分析器中输入更新数据表members的SQL代码:

再按F5或点击工具栏上的运行按钮“

”,运行更新数据表的SQL代码,然后输入插入记录到数据

表members的SQL代码:

USEeshop

INSERTINTOmembers

VALUES('wenh','翁红','男','1970-04-20',NULL,5500.0,'888888')

执行此段SQL插入记录代码后,将在结果框中显示以下消息,表示执行插入操作失败:

服务器:

消息515,级别16,状态2,行1

无法将NULL值插入列'm_address',表'eshop.dbo.members';该列不允许空值。

INSERT失败。

语句已终止。

3.在members表中,将m_account设置为主键,并查看对应的索引(?

),添加如下记录,体会PRIMARYKEY约束的作用。

‘liuzc518’,‘翁红’,‘男’,‘1970-04-20’,‘湖南株洲’,5500.0,‘123456’

首先,在查询分析器中输入更新数据表members的SQL代码:

USEeshop

ALTERTABLEmembers

ADDCONSTRAINTpk_membersPRIMARYKEY(m_account)

再按F5或点击工具栏上的运行按钮“

”,运行更新数据表的SQL代码,然后输入插入记录到数据

表members的SQL代码:

USEeshop

INSERTINTOmembers

VALUES('liuzc518','翁红','男','1970-04-20','湖南株洲',5500.0,'123456')

执行此段SQL插入记录代码后,将在结果框中显示以下消息,表示执行插入操作失败:

服务器:

消息2627,级别14,状态1,行1

违反了PRIMARYKEY约束'pk_members'。

不能在对象'members'中插入重复键。

语句已终止。

4.在members表中,为m_name增加UNIQUEL约束,添加如下记录再输入一条会员姓名为“津津

有味”的记录,体会UNIQUE约束的作用。

‘jjyw’,‘津津有味’,‘男’,‘1970-04-20’,‘湖南株洲’,5500.0,‘jjyw’

首先,在查询分析器中输入更新数据表members的SQL代码:

USEeshop

ALTERTABLEmembers

ADDCONSTRAINTun_nameUNIQUE(m_name)

再按F5或点击工具栏上的运行按钮“

”,运行更新数据表的SQL代码,然后输入插入记录到数据

表members的SQL代码:

USEeshop

INSERTINTOmembers

VALUES('jjyw','津津有味','男','1970-04-20','湖南株洲',5500.0,'jjyw')

执行此段SQL插入记录代码后,将在结果框中显示以下消息,表示执行插入操作失败:

服务器:

消息2627,级别14,状态2,行1

违反了UNIQUEKEY约束'un_name'。

不能在对象'members'中插入重复键。

语句已终止。

5.在members表中,为会员增加CHECK约束为:

(1)性别只能为男或女

(2)年龄在15到60岁之间。

再分别添加如下两条记录,体会CHECK的约束的作用。

(T-SQL)

‘liuzh’,‘刘忠怀’,‘工’,‘1960-04-20’,‘湖南株洲’,3000.0,‘liuzh’

‘liujj’,‘刘津津’,‘女’,‘1997-04-14’,‘湖南株洲’,4400.0,‘liujj’

首先,在查询分析器中依次输入两条更新数据表members的SQL代码:

USEeshop

ALTERTABLEmembers

ADDCONSTRAINTck_sexCHECK(m_sexIN('男','女'))

USEeshop

ALTERTABLEmembers

ADDCONSTRAINTck_ageCHECK((YEAR(GETDATE())-YEAR(m_birth))BETWEEN15AND60)

再按F5或点击工具栏上的运行按钮“

”,运行更新数据表的SQL代码,然后输入第一条插入记录

到数据表members的SQL代码:

USEeshop

INSERTINTOmembers

VALUES('liuzh','刘忠怀','男','1960-04-20','湖南株洲',3000.0,'liuzh')

执行此段SQL插入记录代码后,将在结果框中显示以下消息,表示执行插入操作失败:

服务器:

消息2627,级别14,状态1,行1

违反了PRIMARYKEY约束'pk_members'。

不能在对象'members'中插入重复键。

语句已终止。

再按F5或点击工具栏上的运行按钮“

”,运行更新数据表的SQL代码,然后输入第二条插入记录

到数据表members的SQL代码:

USEeshop

INSERTINTOmembers

VALUES('liujj','刘津津','女','1999-04-14','湖南株洲',4400.0,'liujj')

执行此段SQL插入记录代码后,将在结果框中显示以下消息,表示执行插入操作失败:

服务器:

消息547,级别16,状态1,行1

INSERT语句与COLUMNCHECK约束'ck_age'冲突。

该冲突发生于数据库'eshop',表'members',column'm_birth'。

语句已终止。

注:

由于今年为2012年,所以将记录改成1999-04-14可以出现以下效果。

6.在members表和orders表之间创建关系,并将orders表的m_accout设置为外键,体会FOREIGN

KEY约束的作用。

USEeshop

ALTERTABLEorders

ADDCONSTRAINTfk_accountFOREIGNKEY(m_account)

REFERENCESmembers(m_account)

7.为members表中的“性别”设置默认值为“女”,然后添加两条记录,体会DEFAULT约束的作用。

(T-SQL)

USEeshop

insertintomembers

values('mjj','模家具','','1991-11-15','广州番禺',9999.0,'121222')

8.依次删除以上约束。

(T-SQL)

ALTERTABLEmembers

DROPCONSTRAINTpk_members

ALTERTABLEmembers

DROPCONSTRAINTun_name

ALTERTABLEmembers

DROPCONSTRAINTck_sex

ALTERTABLEmembers

DROPCONSTRAINTck_age

ALTERTABLEorders

DROPCONSTRAINTfk_account

9.将步骤1-8命令脚本(CHECK01.SQL)保存上交以备教师检查。

 

四、注意事项

1.列约束与表约束的区别。

2.各类约束实现数据完整性的方法。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1