资源描述:
《实验四 数据完整性控制》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、本科实验报告课程名称:数据库系统原理实验项目:数据完整性控制实验地点:4606专业班级:学号:学生姓名:指导教师:2012年10月30日一目的与要求 (1)了解SQLSerer数据库系统中数据完整性控制的基本方法(2)熟练掌握常用CREATE或ALTER在创建或修改表时设置约束(3)了解触发器的机制和使用(4)验证数据库系统数据完整性控制二实验设备与环境使用SQLServer数据库管理系统提供的SSMS和查询编辑器。三实验内容、实验记录及实验结果与分析结合ST数据库中的各个表,设置相关的约束,要求包括主键约束、外键约束、唯
2、一约束、检查约束、非空约束、CONSTRAINT子句等,掌握各约束的定义方法。设置一个触发器,实现学生选课总学分的完整性控制,了解触发器的工作机制。设计一些示例数据,验证完整性检查机制。实验步骤:1使用SQL语句设置约束使用CREATE或ALTER语句完成如下的操作,包括:设置各表的主键约束设置相关表的外键设置相关属性的非空约束、默认值约束、唯一约束设置相关属性的CHECK约束完整性约束命名子句2使用触发器创建一个触发器,实现如下的完整性约束:当向SC表中插入一行数据时,自动将学分累加到总学分中。记录修改学分
3、的操作。3检查约束和触发器分别向相关表插入若干条记录,检查你设置的完整性约束是否有效:1)插入若干条包含正确数据的记录,检查插入情况2)分别针对设置的各个约束,插入违反约束的数据,检查操作能否进行3)向SC表插入若干行数据,检查触发器能否实现其数据一致性功能。建立一个学生选课数据库,熟悉约束及触发器的使用方法。1声明完整性约束创建学生选课数据库TEST,包括三个基本表,其中Student表保存学生基本信息,Course表保存课程信息,SC表保存学生选课信息,其结构如下表:表3-1Student表结构列名称用途类型长度约束备注S
4、no学号字符8主键Sname姓名字符8非空Ssex性别字符2(男,女)Sage年龄整型Sdept所在系字符20Sclass班级字符4非空Stotal总学分整型1)创建基本表及约束(1)创建Student表CREATETABLEStudent(SnoCHAR(8)PRIMARYKEY,SnameCHAR(8)NOTNULL,SsexCHAR(2)CHECK(Ssexin('男','女')),SageSMALLINT,SdeptCHAR(20),SclassCHAR(4)NOTNULL,StotalsmallintDEFAULT0
5、);(2)创建Course表CREATETABLECourse(CnoCHAR(4)CONSTRAINTPK_CoursePRIMARYKEY,CnameCHAR(40),CpnoCHAR(4),CcreditSMALLINT);(3)创建SC表CREATETABLESC(SnoCHAR(8)FOREIGNKEY(Sno)REFERENCESStudent(Sno),CnoCHAR(4),GradeSMALLINTCONSTRAINTSC_CHECKCHECK(Grade>0ANDGrade<100),PRIMARYKEY(S
6、no,Cno),CONSTRAINTFK_SCFOREIGNKEY(Cno)REFERENCESCourse(Cno));(4)检查表是否创建成功。2)插入数据将如下表格中的数据分别插入到数据库相应的表中:(1)插入学生信息到Student表:INSERTINTOStudentVALUES('20100001','李勇','男',20,'CS','1001',0)INSERTINTOStudentVALUES('20100002','刘晨','女',19,'CS','1001',0)▼INSERTINTOStudentVALU
7、ES('20100021','王敏','女',18,'MA','1002',0)▼INSERTINTOStudentVALUES('20100031','张立','男',19,'IS','1003',0)▼INSERTINTOStudent(Sno,Sname,Ssex,Sclass,Stotal)VALUES('20100003','刘洋','女','1001',0)▼INSERTINTOStudentVALUES('20100010','赵斌','男',19,'IS','1005',0)▼INSERTINTOStudent
8、VALUES('20100022','张明明','男',19,'CS','1002',0)(2)插入到课程信息到Course表:INSERTINTOCourse(Cno,Cname,Cpno,Ccredit)VALUES('1','数据库系统原理','5',4)INSERTI