资源描述:
《sql数据库实例.(数据库学习入门~)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、-_数据库设计及应用实验一、实验内容创建数据库:包括Student,Course,Enroll,Statistics表,表的结构如下:Student(sno,sname,age,sex)Course(cno,cname,credit)Enroll(sno,cno,grade)Statistics(sno,cNumber,creditSum)说明:cNumber是sno学生选修课程的数目;creditSum是sno学生选修课程的总学分。1、设计并在MSSQLServer2000中创建以上表结构,并设置完整性约束。2、查询所有选修课程的学生的基本信息、课程信息及相应的考试成绩。3、查询所有学生的信
2、息,若已选课就还要给出选修课程的信息及考试成绩。4、查询所有课程的信息,若课程有学生选修就还要给出选修课程的学生的信息及考试成绩。5、查询选修名为“数据库”的课程的考试成绩最高的学生的信息。6、对Student的age创建规则,满足18≤age≤25,并给出验证实例及验证结果。7、创建触发器:当学生选修一门新的课程后,Statistics表的cNumber自动加1,且creditNumber自动增加新选课程的学分。-_1、创建视图:找出所有已修学分超过6、所修课程平均分不低于60的学生的基本信息、以及所修课程的平均分。按照平均分排序,若平均分相同按照学号排序。2、对于如下一组数据操作:(1)s
3、elect*fromcourse;(2)select*fromcoursewherecname=’数据库’(3)select*fromcoursewherecredit=3(4)select*fromcoursewherecredit>2andcredit<5(5)updatecoursesetcredit=3wherecredit=2对Course表的credit属性创建索引,并给出上述查询在创建了该索引后的执行计划;去掉Course表的credit属性上创建的索引,并给出上述查询的执行计划。对上述有无索引个查询执行的情况进行对比分析,总结出什么时候索引有效?3、将表Student、Cour
4、se、Enroll作内连接的结果发布为HTML网页格式。-_一、实验步骤及分析过程1、设计并在MSSQLServer2000中创建以上表结构,并设置完整性约束。(1)创建数据库SC。SQL语句为:createdatabaseSC创建后的数据库如图1。图1创建数据库的结果(2)创建表创建学生表:createtableStudent(snovarchar(10)notnullprimarykey,snamevarchar(50)notnull,ageint,sexvarchar(2)notnull)创建课程表:createtableCourse(cnovarchar(10)notnullprima
5、rykey,cnamevarchar(50)notnull,creditintnotnull)创建注册表:createtableEnroll(snovarchar(10)notnullreferencesStudent(sno),cnovarchar(10)notnullreferencesCourse(cno),gradeint,primarykey(sno,cno))创建选课情况表:-_createtableStatisticss(snovarchar(10)notnullprimarykeyreferencesStudent(sno),cNumberintnotnull,creditSu
6、mintnotnull,)创建后的表如图2。图2创建表的结果(3)插入数据Student表:insertintoStudentvalues('2008001','李贵斌',22,'男')insertintoStudentvalues('2008002','冉从宝',21,'男')insertintoStudentvalues('2008003','杨文学',20,'男')insertintoStudentvalues('2008004','杨璐',22,'女')insertintoStudentvalues('2008005','李小萌',20,'女')Course表:insertintoCo
7、ursevalues('001','数据库',4)insertintoCoursevalues('002','java',3)insertintoCoursevalues('003','操作系统',5)insertintoCoursevalues('004','软件工程',4)insertintoCoursevalues('005','计算机英语',2)Enroll表:insertintoEnro