还剩13页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
一、利用管理工具创建数据库、表和表间关系实验目的和注意事项实验目的熟悉SQL ServerManagement Studio的基本操作,进一步理解数据库、表、表间关系的概念注意事项创建数据库和数据表时应认真,如果出现错误,应相应地修改结构或删除实验内容1利用SQL ServerManagement Studio创建数据库,名称为【学生选课6查询已被选修的课程的情况和所有课程的名字7列出学生所有可能的选修情况8查找计算机系的学生选修课程数大于2的学生的姓名、平均成绩和选课门数,并按平均成绩降序排列数据库原理与技术实验指导8实验3交互式SQL2数据库嵌套查询和组合查询实验目的和注意事项实验目的掌握查询中嵌套查询和组合查询的操作方法,进一步加深对SELECT语句的理解注意事项子句的使用;注意语句的层次嵌套关系和括号的配对使用问题;注意输入SQL语句时均应使用西文操作符号实验内容1创建查询窗口,设置查询环境2分组查询3统计查询4嵌套查询实验步骤新建查询窗口,选择StudentCourseYYXXXX为当前数据库,输入如下SELECT查询语句并执行,对数据库进行嵌套查询和组合查询操作1统计选修了【数据库原理】课程的学生人数2查询没有选修【数据库原理】课程的学生信息3查询其他系中比计算机系学生年龄都小的学生4查询被0602001学生或0602002学生所选修的课程的课程号用UNION组合查询与IN条件查询两种方法实现5查询0602001学生和0602002学生同时选修的课程的课程号用INTERSECT组合查询与EXISTS嵌套子查询两种方法实现6查询被0602001学生选修,但没有被0602002学生所选修的课程的课程号用EXCEPT组合查询与NOT EXISTS嵌套子查询两种方法实现数据库原理与技术实验指导9实验4交互式SQL3数据的更新实验目的和注意事项实验目的熟悉插入、修改和删除SQL语句的用法注意事项对于INSERT语句,要求理解默认值约束、空值约束在插入时所起的作用实验内容1使用INSERT语句在数据库的表中插入几行记录2使用UPDATA语句修改某个数据3使用DELETE语句删除某行记录实验步骤1新建查询窗口,选择StudentCourseYYXXXX为当前数据库2在已建立StudentCourseYYXXXX数据库和StudentsYYXXXX、CoursesYYXXXX、SCYYXXXX3个表的基础上,向StudentCourseYYXXXX数据库中的表更新数据向表StudentsYYXXXX中插入0601001,赵林,男,1985-09-08,计算1机的记录向SCYYXXXX表中添加一个学生的选课记录,学号为0601001,所选2的课程号为C2SC表中有Sno、Cno、Grade这3个列这里只知道学号和课程号,不知道成绩值向表StudentsYYXXXX中插入0601002,张修雨,default记录,该记3录的数据中default表示默认值男,其他数据表示空值用CREATE语句建立表StudentBAKlYYXXXX,包含(与Students的4SnoSname、Sdept相同)3个字段,然后用INSERT SELECT语句实现向StudentBAKlYYXXXX添加StudentsYYXXXX表中的计算机系学生的学号、姓名、所在系的信息
⑤用SELECT...INTO语句实现把StudentsYYXXXX表中1986年后(包含1986年)出生的学生的学号、姓名存储到一个新表StudentBAK2YYXXXXo@将姓名为【赵林】的同学的所在系改为【机电系】,爱好改为【足球】
⑦将选修了课程名为【数据库原理】的学生成绩加5分
⑧将StudentCourseYYXXXX数据库的StudentBAKlYYXXXX表中所有姓赵的同学删除
⑨删除计算机系选修成绩不及格的学生选修记录数据库原理与技术实验指导10⑩将StudentCourseYYXXXX数据库的StudentBAK2YYXXXX表中的所有行删除数据库原理与技术实验指导附录实验报告模板南华大学计算机科学与技术学院实验报告(2010-2011学年度第二学期)课程名称数据库原理与技术实验名称姓名学号专业班级地点教师数据库原理与技术实验指导一.实验题目二.实验要求三.实验代码四.实验总结YYXXXX]o其中YY为专业代号,计算机为JS,软件工程为RJ;XXXX为各位同学的学号中的最后四位2在【学生选课YYXXXX]中建立数据表,表的定义如下所示学生YYXXXX学号,姓名,性别,出生日期,院系名称,备注;课程YYXXXX课程号,课程名,先行课,学分;选修YYXXXX学号,课程号,分数要求定义每张表的主码,为属性选择合适的数据类型,决定是否允许为空,为【性别】和【学分】属性定义默认值3定义表之间的关系4分别为表录入几行数据记录,同时练习数据的修改和删除操作实验步骤1启动SQL ServerManagement Studio,连接数据库服务器,进入SQLServerManagement Studio主界面2右击【对象资源管理器】|【数据库】,选择快捷菜单中的【新建数据库】命令,弹出【新建数据库】窗口,在各属性页中设置新建数据库的属性,包括设置数据库逻辑名、所有者、文件的逻辑名、文件的物理名、文件类型、文件增长方式、文件的路径、文件组等属性,如图
1.1所示数据库原理与技术实验指导2图
1.1新建数据库3保存新建的数据库,该数据库的逻辑名为【学生选课YYXXXX】4在【对象资源管理器】中,右击【学生选课YYXXXX】|【表】,选择快捷菜单中的【新建表】命令,弹出表设计器对话框,新建“学生YYXXXX、课程YYXXXX、选修YYXXXX”3个表,如图
1.2所示图
1.2新建表5通过设计关系图,设置数据库的数据完整性在【对象资源管理器】中,右击【学生选课YYXXXX】|【数据库关系图】,选择快捷菜单中的【新建数据库关系图】命令,弹出【添加表】对话框将这3个表添加到关系图设计器中,设置数据完整性,如图
1.3所示图
1.3新建关系图6右击要操作的表,选择快捷菜单中的【打开表】命令,弹出表数据窗口直接在表数据窗口中对表数据进行操作,包括插入、删除、修改记录,如图
1.4所zj\O数据库原理与技术实验指导3图
1.4表数据操作7如果数据库和表需要修改、删除,还可以在SQL ServerManagementStudio中进行修改、删除操作数据库原理与技术实验指导4
二、利用SQL语句创建数据库、表和表间关系实验目的和注意事项实验目的熟悉创建数据库和数据表的SQL语句注意事项输入SQL语句时应注意,语句中均使用西文操作符号实验内容在SQL ServerManagement Studio中新建查询,实现以下操作1用SQL语句创建数据库,名称为“StudentCourseYYXXXX其中YYXXXX为各位同学的学号中的最后四位2用SQL语句创建StudentCourseYYXXXX中的3张表,同时指定主码、外码、默认值等3比较“学生选课YYXXXX”和StudentCourseYYXXXX两个数据库是否一致实验步骤1选择数据库master,右击【新建查询】,或者选择系统菜单中的【文件】I【新建】I【使用当前连接查询】命令,或者单击标准工具栏中的【新建查询】按钮,即可新建一个查询窗口如果查询数据库不是master,则可在可用数据库下拉列表中进行选择,或用USE语句调用在查询窗口中输入对应的创建数据库和表的语句2创建数据库StudentCourseYYXXXX3创建3个表StudentsYYXXXX、CoursesYYXXXX>SCYYXXXX4直接在表数据窗口中录入表数据记录表2T学生表StudentsYYXXXX数据学号Sno>姓名Sname、性别Ssex>出生日期Sbirthday、所在系Sdept、备注MemooSno SnameSsex SbirthdaySdept Memo0602001钟文辉男1987-05-01计算机优秀毕业生0602002吴细文女1987-03-24计算机爱好:音乐0602003吴朝西男1988-07-01计算机0701001王冲瑞男1988-05-04机电爱好:音乐0701002林滔滔女1987-04-03机电爱好:体育0701003李修雨女1986-03-03机电0703001李奇男1988-09-17商贸管理数据库原理与技术实验指导5表2-2课程表CoursesYYXXXX数据课程号Cno>课程名Cname>先行课PreCno>学分CreditCno CnamePreCno CreditCl程序设计基础C4C2数据库原理Cl4C3SQL程序设计C24C4音乐欣赏1表2-32选课程表SCYYXXXX数据学号Sno、课程号Cno、成绩GradeSno CnoGrade0602001Cl610602001C2720602001C3880602002Cl NULL0701001Cl500701001C2NULL0701002C3780701003Cl520701003C387数据库原理与技术实验指导6实验2交互式SQL1
一、数据库单表查询实验目的和注意事项实验目的掌握单表查询SELECT、FROM、WHERE的用法,特别要掌握比较运算符、逻辑运算符的使用注意事项子句WHERE〈条件〉表示元组筛选条件;子句HAVING〈条件》表示元组选择条件;子句HAVING〈条件〉必须和GROUP BY子句配合使用;注意输入SQL语句时均应使用西文操作符号实验内容1创建查询窗口,设置查询环境2单表查询实验步骤1选择要查询的数据库,右击【新建查询】,或者选择系统菜单中的【文件】I【新建】I【使用当前连接查询】命令,或者单击标准工具栏中的【新建查询】按钮,即可新建一个查询窗口如果查询数据库不是StudentCourseYYXXXX,则可在可用数据库下拉列表中进行选择,或用USE语句调用2在查询窗口中输入SELECT查询语句,对StudentCourseYYXXXX数据库进行查询操作
①查询计算机系全体学生的信息
②查询姓“李”的学生的学号和姓名
③查询课程表中先行课为空的课程名
④查询考试成绩有不及格的学生的学号求选修了C1课程或C2课程的学生的学号及成绩5
⑥查询全体计算机系学生的姓名及其年龄查询计算机系在1986—1987年之间出生的学生的姓名7查询姓“李”的前两个学生的学号和姓名8
⑨查询选修了两门以上课程的学生学号与课程数⑩查询选修课程数大于等于2的学生的学号、平均成绩和选课门数,并按平均成绩降序排列数据库原理与技术实验指导7
二、数据库多表连接查询实验目的和注意事项实验目的理解多表查询的概念;掌握多表查询的SELECT、FROM、WHERE、JOIN子句的用法,特别要求比较内连接、外连接的结果注意事项内连接、左外连接和右外连接的含义及表达方法;注意输入SQL语句时均应使用西文操作符号实验内容1创建查询窗口,设置查询环境2多表复杂查询实验步骤新建查询窗口,选择StudentCourseYYXXXX为当前数据库,输入如下SELECT查询语句并执行,对数据库进行多表连接查询操作1查询选修了【数据库原理】的计算机系的学生学号和姓名2查询每一门课的间接先行课即先行课的先行课3查询学生的学号、姓名、选修课程的名称和成绩4查询选修了课程的学生姓名5查询所有学生的信息和所选修的课程。