《实验五实验五数据完整性的实现(2-4学时)》由会员分享,可在线阅读,更多相关《实验五实验五数据完整性的实现(2-4学时)(5页珍藏版)》请在金锄头文库上搜索。
1、专业销售爱问共享资料积分帐号爱问共享资料积分帐号 价格公道合理 联系 QQ#1747-88632 另外销售百度文库财富值帐号百度文库财富值帐号 实力见证一切 联系旺旺 whx0910 成都电话 159-02844380 旺旺 whx0910 QQ 174788632 淘宝店铺 面向西南批发荧光棒荧光棒 发光玩具 手拍 充气棒 助威道具 婚庆用品 口哨 晚会道具 演唱会道具 KTV 酒吧用品 荷花池批发最低价 电话 15902844380 联系旺旺 whx0910 QQ 174788632 荷花池批发荧光棒 淘宝店铺 荧光棒批发价 全省最低 实验五实验五 数据完整性的实现(数据完整性的实现(2
2、-42-4学时)学时) 实验目的和要求:实验目的和要求:1)了解和领会数据完整性的意义2)学会 CHECK、DEFAULT、RULE 等约束的使用3)掌握 PRIMARY KEY、FOREIGN KEY 主外键的设置4)了解惟一键 UNIQUE5)掌握标识列 IDENTITY 的使用实验内容和步骤:实验内容和步骤:分别在企业管理器和查询分析器中使用各种约束和主外键,实现 STUDENT 数据库中三张数据表的数据的实体完整性、域完整性及参照完整性。1) 创建各数据表的主外键,使学生选课和成绩情况登记符合学校教学管理规定。主键设置方法一:在 SQL 语句创建数据表定义列时添加,参见实验三,S_Nu
3、mber Varchar(10) not null primary keyC_Number Varchar(10) not null primary keyprimary key(S_Number,C_Number)主键设置方法二:打开企业管理器选中相应的数据表,单击鼠标右键选择“设计表”,进入表设计窗口单击所需设置的列(如果是多列,按住CTRL同时,单击所需设置的列),然后单击鼠标右键选择“设置主键”。分别在三张数据表中设置,并删除。主键设置方法三:在查询分析管理器中使用 SQL 语句实现USE STUDENTGOALTER TABLE T_studentADD PRIMARY KEY CL
4、USTERED(S_Number)goALTER TABLE T_courseADD PRIMARY KEY(C_Number)goALTER TABLE T_scoreADD PRIMARY KEY(S_Number,C_Number)注意:注意:1 1、主键设置后,数据表中的主键列就不能出现重复行,试操作验证、主键设置后,数据表中的主键列就不能出现重复行,试操作验证2 2、每张数据表中的主键只能拥有一个,但主键可有几列共同组成,例如数据表、每张数据表中的主键只能拥有一个,但主键可有几列共同组成,例如数据表T_scoreT_score。执行以下语句:INSERT INTO T_SCORE V
5、ALUES(04120220,10202,79)出现什么情况?执行以下SQL语句二次:INSERT INTO T_SCORE VALUES(04120220,10202,79) 出现什么情况,为什么?外键的设置方法一:打开企业管理器选中相应的数据表,单击鼠标右键选择“设计表”,进入表设计窗口在表设计窗口中单击鼠标右键,选择“关系”在弹出的属性窗口中,分别选择主表、主键、从表、外键选择“关闭”即可实现。注意:级联更新相关的字段和级联删除相关的字段二个复选项的含义注意:级联更新相关的字段和级联删除相关的字段二个复选项的含义外键的设置方法二:在查询分析器中使用 SQL 语句实现USE STUDENT
6、GOALTER TABLE T_scoreADD CONSTRAINT FK_T_score_T_studentFOREIGN KEY(S_number)REFERENCES T_student(S_number)goALTER TABLE T_scoreADD CONSTRAINT FK_T_score_T_course FOREIGN KEY(C_number)REFERENCES T_course(C_number)注意:注意:1 1、外键约束一旦设置,主、从表之间数据的参照性就实现了、外键约束一旦设置,主、从表之间数据的参照性就实现了2 2、在设置外键前,主表的主键必须先设置。、在设置
7、外键前,主表的主键必须先设置。完成主外键设置后执行:INSERT INTO T_SCORE VALUES(001,10206,79)出现了什么提示?执行:INSERT INTO T_SCORE VALUES(04120223,1020AA,79)又出现了什么结果?2)默认约束的实现标识列IDENTITY的应用1、 在SQL语句创建数据表定义列时添加,例如:S_Number Varchar(10) not null identity2、打开企业管理器选中相应的数据表,单击鼠标右键选择“设计表”,进入表设计窗口单击相应的列在表设计窗口的下方属性中,点击“标识”,选择“是”输入相应的“标识种子”和“
8、标识递增量”。注意:标识列其实是记录的序号,可惟一标识表中的记录,所以可设为主键。注意:标识列其实是记录的序号,可惟一标识表中的记录,所以可设为主键。标识列的数据类型只能是标识列的数据类型只能是 decimaldecimal、intint、numericnumeric、smallintsmallint 、bigintbigint 、tinyinttinyint。“标识种子标识种子”和和“标识递增量标识递增量”默认值均为默认值均为 1 1。标识列的数据是自动产生的,不能输入。标识列的数据是自动产生的,不能输入。3、示例:把 T_SCORE 表中的主键删除,添加“ID”列。执行:ALTER TAB
9、LE T_SCORE ADD ID int not null identity查看数据表 T_SCORE的变化。删除 ID列,重新设置S_Number,C_Number为主键。默认值的设置及应用1、打开企业管理器选中相应的数据表,单击鼠标右键选择“设计表”,进入表设计窗口单击相应的列在表设计窗口的下方属性中,点击“默认”,在默认值栏中输入默认值即可实现2、在SQL语句创建数据表定义列时添加,参见实验三Sex bit not null Default 13、使用默认对象,在多个列中多次应用,创建默认值绑定默认值(*(*以下选做以下选做) )。示例:创建默认对象Pl_Default的值为“群众”
10、,与“POLITY”字段绑定Use Studentgo Create Default Pl_Default as 群众GoExec sp_bindefault Pl_Default,T_Student.Polity解除绑定方法:Exec sp_unbindefault T_Student.Polity删除默认对象方法:Drop Default Pl_Default3) CHECK约束和RULE规则的应用在SQL语句创建或修改数据表时添加CHECK约束Alter table t_courseAdd CONSTRAINT CHK_TERM CHECK(TERM BETWEEN 1 AND 8)执行
11、以上命令后,TERM的值只能为1-8。在企业管理器中设置:打开企业管理器选中相应的数据表,单击鼠标右键选择“设计表”,进入表设计窗口在表设计窗口中单击鼠标右键,选择“CHECK约束”在弹出的属性窗口中,输入“约束名”和“约束表达式”。思考:试在企业管理器中为思考:试在企业管理器中为 T_Score 表创建表创建 check 约束,使约束,使“Score”字段的值为字段的值为 0100。使用 SQL 语句创建和应用规则创建并应用“C_Number”列取值规则:前二个字符只能是“10” ,第三个字符是数字 1-5,第四、五个字符是数字 0-9。Create rule Cn_rule as range like101-50-90-9goExec sp_bindrule Cn_rule,T_Course.C_number解除绑定方法:Exec sp_unbindrule T_Course.C_number删除规则方法:Drop rule Cn_rule在企业管理器中设置规则:1、 打开企业管理器,展开数据库单击“规则”,在右边窗口中单击鼠标右键“新建规则”在“规则属性”窗口的“名称”中输入规则名称,在“文本”中输入对规则的定义。2、 打开新建的规则属性窗口,选择“绑定列”选择“表”,添加应绑定的列。