数据库系统原理 实验4:数据完整性

数据库系统原理 实验4:数据完整性

ID:34417981

大小:250.02 KB

页数:8页

时间:2019-03-05

数据库系统原理 实验4:数据完整性_第1页
数据库系统原理 实验4:数据完整性_第2页
数据库系统原理 实验4:数据完整性_第3页
数据库系统原理 实验4:数据完整性_第4页
数据库系统原理 实验4:数据完整性_第5页
资源描述:

《数据库系统原理 实验4:数据完整性》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验四:数据完整性1、实验目的(1)了解SQLSerer数据库系统中数据完整性控制的基本方法(2)熟练掌握常用CREATE或ALTER在创建或修改表时设置约束(3)了解触发器的机制和使用(4)验证数据库系统数据完整性控制2、实验平台使用SQLServer数据库管理系统提供的SSMS和查询编辑器。3实验内容及要求结合ST数据库中的各个表,设置相关的约束,要求包括主键约束、外键约束、唯一约束、检查约束、非空约束等,掌握各约束的定义方法。设置一个触发器,实现学生选课总学分的完整性控制,了解触发器的工作机制。设计一些示例数据,验证完整性检查机制。要求包括如下方面的内容:

2、3.1使用SQL语句设置约束使用CREATE或ALTER语句完成如下的操作,包括:1.设置各表的主键约束2.设置相关表的外键3.设置相关属性的非空约束、默认值约束、唯一约束4.设置相关属性的CHECK约束3.2使用触发器创建一个触发器,实现如下的完整性约束:学号姓名…总学分010001王林…7Student010002程明3..010003王玉民…4…………学号课程号成绩学分010001106803SC010001206904010002106703…………当向SC表中插入一行数据时,自动将学分累加到总学分中。记录修改学分的操作。3.4检查约束和触发器分别向

3、相关表插入若干条记录,检查你设置的完整性约束是否有效:1.插入若干条包含正确数据的记录,检查插入情况2.分别针对设置的各个约束,插入违反约束的数据,检查操作能否进行3.向SC表插入若干行数据,检查触发器能否实现其数据一致性功能。4实验报告要求写出实验的基本过程。解释操作过程中出现的现象。参考示例:建立一个学生选课数据库,熟悉约束及触发器的使用方法。一、声明完整性约束创建学生选课数据库TEST,包括三个基本表,其中Student表保存学生基本信息,Course表保存课程信息,SC表保存学生选课信息,其结构如下表:表1.Student表结构列名称用途类型长度约束备注

4、Sno学号字符8主键Sname姓名字符8非空Ssex性别字符2{男,女}Sage年龄整型Sdept所在系字符20Sclass班级字符4非空Stotal总学分整型默认值0表2.Course表结构列名称用途类型长度约束备注Cno课程号字符4主键Cname课程名字符40非空,唯一Cpno先修课程号字符4外键引用本表的CnoCcredit学分整型表3.SC表结构列名称用途类型长度约束备注Sno学号字符8主码属性,外键引用Student的SnoCno课程号字符4主码属性,外键引用Course的CnoGrade成绩整型0<=成绩<=1001.创建基本表及约束(1)创建Stu

5、dent表CREATETABLEStudent(SnoCHAR(8)PRIMARYKEY,SnameCHAR(8)NOTNULL,SsexCHAR(2)CHECK(Ssexin('男','女')),SageSMALLINT,SdeptCHAR(20),SclassCHAR(4)NOTNULL,StotalsmallintDEFAULT0);掌握主键约束、非空约束、CHECK约束、默认值的定义格式。(2)创建Course表CREATETABLECourse(CnoCHAR(4)CONSTRAINTFK_CoursePRIMARYKEY,CnameCHAR(40)

6、,CpnoCHAR(4),CcreditSMALLINT);(3)创建SC表CREATETABLESC(SnoCHAR(8)FOREIGNKEY(Sno)REFERENCESStudent(Sno),CnoCHAR(4),GradeSMALLINTCONSTRAINTSC_CHECKCHECK(Grade>0ANDGrade<100),PRIMARYKEY(Sno,Cno),CONSTRAINTFK_SCFOREIGNKEY(Cno)REFERENCESCourse(Cno));掌握多个属性的主键约束、外键约束、CHECK约束的定义格式。掌握约束的命名方式。

7、(4)检查表是否创建成功。2.插入数据将如下表格中的数据分别插入到数据库相应的表中:表4.学生基本信息表学号姓名性别年龄所在系班级总学分20100001李勇男20CS1001020100002刘晨女19CS1001020100021王敏女18MA1002020100031张立男19IS1003020100003刘洋女1001020100010赵斌男19IS1005020100022张明明男19CS10020表5.课程信息表课程号课程名先修课程号学分1数据库系统原理5642高等数学23管理信息系统144操作系统原理635数据结构746数据处理27C语言4表6.学生

8、选课信息表学号课程号成绩

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

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

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