数据库原理实验指导书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据库原理》实验指导书
《数据库原理》上机实验
上机学时:8学时
一、上机性质、目的及任务:
通过上机实践,配合课堂教学内容加深对数据库的基本概念和基本技术的理解,掌握数据库系统设计的基本思想和基本步骤,熟悉关系数据库的标准语言SQL,并对典型的关系数据库管理系统有较深入的了解,使学生的动手能力有较大的提高。
二、面向专业:
计算机类各专业
三、实验指导书:
见下页
四、实验内容:
实验一数据库管理系统及SQL定义语言的使用
实验二SQL语言(二)SQL语言进行简单查询
实验三SQL语言(三)SQL进行复杂查询
实验四SQL语言(四)SQL的常用数据更新操作
实验一数据库管理系统及SQL定义语言的使用
一、实验目的
(1)认识几种常见的数据库管理系统,熟悉它们的使用界面;
(2)熟练掌握建立数据库和表,向数据库输入数据、修改数据和删除数据的操作。
(3)熟悉SQL数据定义语言(DDL)
二、实验内容
(1)分别在Access 和SQL SERVER2005 中建立数据库并设计各表,输入多条实际数据,并实现数据的增、删、改操作。
(2)用SQL语言进行基本表结构的定义、修改、删除,索引的建立和删除
三、实验步骤:
分别在ACCESS数据库管理系统和SQL SERVR 2005环境下利用图形操作界面(非SQL语句)实现以下操作:
1、创建用于学生管理的数据库,数据库名为XSGL,包含学生信息,课程信息和选课信息。数据库XSGL包含下列3 个表:
(l)student:学生基本信息。
(2)course:课程信息表。
(3)sc:学生选课表。
各表的结构分别如表1、表2和表3 所示。
提示:在不使用SQL语句创建表的情况下,可通过ACCESS中的关系(菜单—工具—关系)和SQL SERVER 2005中的数据库关系图(数据库节点展开—数据库关系图)实现外键的创
建。外键字段和参照字段之间的数据类型以及长度要保持一致。
2、输入表中的记录
楚先输入那些表中记录,为什么?
3、对表中的记录进行浏览、修改、删除操作。
4、利用“分离数据库”和“附加数据库”操作对SQL Server中创建的数据库做备份和还原操作。
5、在SQL SERVER 2005中新建查询,建立到服务器的连接
6、用SQL语言CREATE TABLE语句创建实验一中学生表student、课程表
course和选课表sc及其相应约束,
具体约束如下:
7、向创建的表中输入数据,测试所创建的完整性约束是否起作用
8、用SQL语言ALTER语句修改表结构;
1)STUDENT表中增加一个字段入学时间scome,
2)删除STUDENT表中sdept字段;
3)删除创建的SC表中CNO字段和COURSE表CNO字段之间的外键约束;
4)重建3)中删除的约束
9、重新定义一个简单表,然后用SQL语言DROP语句删除该表结构;
10、用SQL语言CREATE INDEX语句定义表STUDENT的SNAME字段的降序唯一索引;
11、用SQL语言DROP语句删除索引;
实验二SQL(二)SQL语言进行简单查询
目的:
掌握简单数据查询操作。
内容:
使用各种查询条件完成指定的查询操作
步骤:
1)创建学生表student、课程表course和选课表SC,并输入数据(注意数据的完整性。);(可以使用实验一中已经建立的表和数据)
2) 对各表中的数据进行不同条件的查询;
包括的运算:投影、选择、比较运算符、逻辑运算符、字符匹配运算符、匹配列表范围、算术运算符、内部函数、排序、分组、分组函数使用(1)查询全体学生的学号和姓名
(2)查询全体学生的详细记录
(3)查询软件学院的学生姓名、年龄、系别
(4)查询所有选修过课程的学生学号(不重复)
(5)查询考试不及格的学生学号(不重复)
(6)查询不是软件学院、计算机系的学生性别、年龄、系别
(7)查询年龄18-20岁的学生学号、姓名、系别、年龄;
(8)查询姓刘的学生情况
(9)查询姓刘或姓李的学生情况
(10)查询姓刘且名字为两个字的学生情况
(11)查询1983年以后出生的学生姓名。
(12)创建表 studentgrad(sno,mathgrade,englishigrade,chinesegrade)
计算学生各科总成绩并赋予别名
(13)利用内部函数year()查找软件学院学生的出生年份
(14)利用字符转换函数实现字符联接。
Select sname + ‘年龄为’+cast(sage as char(2))+’岁’
From student
(15)查询全体学生情况,查询结果按所在系升序排列,对同一系中的学生按年龄降序排列。
(16)查询学生总人数。
(17)查询选修了课程的学生人数。
(18)查询选修了7号课程的学生总人数和平均成绩
(19)查询选修6号课程学生的最好成绩
(20)查询每个系的系名及学生人数。
(21)查找每门课的选修人数及平均成绩
(22)查找没有先修课的课程情况
要求:
1、将上述任务中完整的SQL语句调试并使之运行正确;
2、写出实验报告;