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

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

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

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

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

(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’

ALTERTABLEmembers

ADDCONSTRAINTpk_membersPRIMARYKEY(m_account)

liuzc518'

'

湖南株洲'

5500.0,'

123456'

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

违反了PRIMARYKEY约束'

pk_members'

不能在对象'

members'

中插入重复键。

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

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

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

ADDCONSTRAINTun_nameUNIQUE(m_name)

jjyw'

津津有味'

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

违反了UNIQUEKEY约束'

un_name'

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

(1)性别只能为男或女

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

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

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

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

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

ADDCONSTRAINTck_sexCHECK(m_sexIN('

女'

))

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

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

到数据表members的SQL代码:

liuzh'

刘忠怀'

1960-04-20'

3000.0,'

liuzh'

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

liujj'

刘津津'

1999-04-14'

4400.0,'

liujj'

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

INSERT语句与COLUMNCHECK约束'

ck_age'

冲突。

该冲突发生于数据库'

eshop'

column'

m_birth'

注:

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

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

KEY约束的作用。

ALTERTABLEorders

ADDCONSTRAINTfk_accountFOREIGNKEY(m_account)

REFERENCESmembers(m_account)

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

insertintomembers

values('

mjj'

模家具'

'

1991-11-15'

广州番禺'

9999.0,'

121222'

8.依次删除以上约束。

DROPCONSTRAINTpk_members

DROPCONSTRAINTun_name

DROPCONSTRAINTck_sex

DROPCONSTRAINTck_age

DROPCONSTRAINTfk_account

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

四、注意事项

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

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

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

当前位置:首页 > 成人教育 > 远程网络教育

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

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