资源描述:
《数据库原理实验答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验报告课程名称:数据库原理系部名称:计算机专业班级:网络工程学生姓名:学号:指导教师:实验(一)实验名称:数据库表的建立实验时间:2013-3-4一、实验目的:本实验的目的是使熟悉SQLSERVER的常用数据类型,加深对SQL和SQL语言的查询语句的理解。1、熟练掌握简单表的创建。2、掌握主键约束、外键约束及及check约束的用法;3、掌握默认值约束的应用;4、了解规则、触发器的使用。二、实验内容:1、使用查询分析器,用ddl建立studentinfo数据库2、在studentinfo数据库中定义3个表,students,co
2、urses,和sc,表的具体要求如下:用ddl建立上述3个表并增加如下约束:students,表列名说明数据类型约束说明Sno学号字符串,长度为10主键Sname姓名字符串,长度为8非空值Ssex性别字符串,长度为2非空值Sage年龄整数允许空值Sdept所在系字符串,长度为15非空值Courses表列名说明数据类型约束说明Cno课程号字符串,长度为6主键Cname课程名字符串,长度为20非空值PreCno先修课程号字符串,长度为6允许为空值Credits学分整数允许为空值SC表列名说明数据类型约束说明Sno学号字符串,长度为1
3、0主键Cno课程号字符串,长度为6主键Grade成绩整数允许为空值具体约束为:1、请用至少2种方法定义stu数据库中student表的主键sno;1、为表course中的字段cname添加唯一值约束;2、对于数据表sc的sno、cno字段定义为外码,使之与表student的主码sno及表course的主码cno对应,实现如下参照完整性:1)删除student表中记录的同时删除sc表中与该记录sno字段值相同的记录;2)修改student表某记录的sno时,若sc表中与该字段值对应的有若干条记录,则拒绝修改;3)修改course表
4、cno字段值时,该字段在sc表中的对应值也应修改;4)删除course表一条记录时,若该字段在在sc表中存在,则删除该字段对应的记录;5)向sc表添加记录时,如果该记录的sno字段的值在student中不存在,则拒绝插入;4、定义check约束,要求学生学号sno必须为10位字符,且不能以0开头,第二三位皆为0;check(snolike‘[^0]00__________’)5、定义stu数据库中student表中学生年龄值在16-25范围内;6、定义stu数据库中student表中学生姓名长度在2-8之间;check(len(
5、sname)<8)7、定义stu数据库中student表中学生性别列中只能输入“男”或“女”;8、定义stu数据库student表中学生年龄值默认值为20;2.studentinfo数据库的3个表students,courses,sc表中输入若干纪录,内容为:studentssnosnamessexsagesdept20010101HoneM19Computer20010102SueF20Computer20010103SmithM19Math20030101AllenM18Automation20030102DeepaF21A
6、rtcoursescnocnameProCnoCreditsC1English4C2MathC12C3DatabaseC22ScSnoCnoGrade20010101C19020010102C18820010102C29420010102C2624、在上面的基础上分别向studentinfo数据库中的students,courses,sc表中添加少5条数据。须满足三大约束条件三、源程序:createdatabasestudentscreatetableStudents(Snochar(10)primarykey,Snamecha
7、r(8)check(len(Sname)>=2andlen(Sname)<=8),Ssexchar(2)check(Ssexin('男','女')),Sageintcheck(Sage>=16andSage<=25)default20,Sdeptchar(15)notnull)createtableCourses(Cnochar(6)primarykey,Cnamechar(20)unique,PreCnochar(6)null,Creditsintnull)createtableSC(Snochar(10),Cnochar(6
8、),Gradeintnull,primarykey(Sno,Cno),foreignkey(Sno)referencesStudents(Sno)ondeletecascade,foreignkey(Cno)referencesCourses(Cno)ondel