实验八:数据库的完整性约束

实验八:数据库的完整性约束

ID:5811753

大小:31.05 KB

页数:4页

时间:2017-12-25

实验八:数据库的完整性约束_第1页
实验八:数据库的完整性约束_第2页
实验八:数据库的完整性约束_第3页
实验八:数据库的完整性约束_第4页
资源描述:

《实验八:数据库的完整性约束》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、实验八:数据库的完整性约束一、实验目的1.掌握主键约束、外键约束及及check约束的用法;2.掌握默认值约束的应用;3.了解规则、触发器的使用。二、实验环境已安装SQLServer企业版的计算机;具有局域网环境,有固定IP;三、实验学时2学时四、实验要求1.熟悉数据库完整性相关概念及约束;2.了解约束、默认值及规则;3.完成实验报告;五、实验内容及步骤以系统管理员身份登录到SQLServer服务器,并使用T-SQL语句实现以下操作;1.请用至少2种方法定义stu数据库中student表的主键sno;------列级定义------createdatabasestu;createt

2、ablestudent(snochar(12)primarykey)------表级定义------createdatabasestu;createtablestudent(snochar(12)primarykey(sno))2.将数据库stu的表course的cno字段定义为主键,约束名称为cno_pk;altertablecourseaddconstraintcno_pkprimarykey(cno)1.为表course中的字段cname添加唯一值约束;altertablecourseaddconstraintcname_pkunique(cname)2.将数据库stu的表

3、sc的sno及cno字段组合定义为主键,约束名称为sc_pk;altertablescaddconstraintsc_pkprimarykey(sno,cno)3.对于数据表sc的sno、cno字段定义为外码,使之与表student的主码sno及表course的主码cno对应,实现如下参照完整性:1)删除student表中记录的同时删除sc表中与该记录sno字段值相同的记录;2)修改student表某记录的sno时,若sc表中与该字段值对应的有若干条记录,则拒绝修改;3)修改course表cno字段值时,该字段在sc表中的对应值也应修改;4)删除course表一条记录时,若该字段

4、在在sc表中存在,则删除该字段对应的记录;5)向sc表添加记录时,如果该记录的sno字段的值在student中不存在,则拒绝插入;altertablescaddconstraintsc_fkforeignkey(sno)referencesstudent(sno)ondeletecascadeonupdatenoaction,foreignkey(cno)referencescourse(cno)ondeletecascadeonupdatecascadego4.定义check约束,要求学生学号sno必须为9位数字字符,且不能以0开头,第二三位皆为0;altertablestud

5、entaddconstraintsno_ckcheck(snolike'[1-9]00[0-9][0-9][0-9][0-9][0-9][0-9]')1.定义stu数据库中student表中学生年龄值在16-25范围内;altertablestudentaddconstraintsage_ckcheck(sagebetween16and25)2.定义stu数据库中student表中学生姓名长度在2-8之间;altertablestudentaddconstraintsname_ckcheck(len(sname)between2and8)3.定义stu数据库中student表中学

6、生性别列中只能输入“男”或“女”;altertablestudentaddconstraintssex_ckcheck(ssexin('男','女'))4.定义stu数据库student表中学生年龄值默认值为20;altertablestudentaddconstraints_agedefault20forsage5.修改student表学生的年龄值约束可以为15-30范围内;altertablestudentdropconstraintsage_ckgoaltertablestudentaddconstraintsage_ckcheck(sage>=15andsage<=30)

7、6.删除上述唯一值约束、外键约束及check约束;altertablecoursedropconstraintcname_pkgoaltertablescdropconstraintsc_fkgoaltertablestudentdropconstraintsno_ck,sage_ck,sname_ck,ssex_ck1.思考题:定义规则对象,用于保证course表中cno字段值为5个数字字符;(可选做)createrulec_cnoas@alike'[0-9][0-9][0-9

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。