《数据库系统概论》实验大纲(共18页).doc
《《数据库系统概论》实验大纲(共18页).doc》由会员分享,可在线阅读,更多相关《《数据库系统概论》实验大纲(共18页).doc(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上数据库系统概论实验大纲一、学时数:27 学时二、授课对象:计算机科学与技术专业(本科)三、内容提要:1 本实验内容作为数据库系统概论的理论联系实际,培养增强学生动手能力,理解并掌握SQL语句的用法。2 实验内容SQL SERVER2000软件的熟悉,数据的定义、查询、修改及控制。3 实验要求以SQL SERVER2000作为基本的调试软件,并有前台的面向对象的开发工具。四、考试方式:实验报告及成绩五、教材及参考书:1数据库系统概论(第三版)萨师煊 王珊 高等教育出版社 2000.2出版2SQL语言应用 Michael Morrison 北京大学出版社 2002.063
2、.Microsoft SQL Server 2000数据库管理 微软公司 著 北京希望电子出版社 2001.5出版六、实验内容安排实验1 数据库及数据库表的建立实验1 实验目的本实验的目的是使学生熟悉SQL Server的企业管理器的用法,初步了解SQL Server查询分析器的使用方法,熟悉SQL SERVER的常用数据类型,加深对SQL和SQL语言的查询语句的理解。熟练掌握简单表的创建与修改。2 实验时数 3学时3 实验内容1 基本表的建立:a) 建立一个“学生”表Student,它由学号xh、姓名xm、性别xb、年龄nl、所在系xi五个属性组成,其中学号属性不能为空,并且其值是唯一的。
3、b) 建立一个“学生”表Student,它由学号xh、姓名xm、性别xb、年龄nl、所在系xi五个属性组成,其中学号属性不能为空,并创建检查约束(nl0)。 c) 建立一个“学生”表Student,它由学号xh、姓名xm、性别xb、年龄nl、所在系xi五个属性组成,要求学号为主键,xb有默认的值为 男d) 建立“课程kc”包括课程号kch,课程名称kcmc,先修课程xxkc,学分xf,要求建立主键e) 建立“成绩登记表cjdj”包括学号xh,程号kch,成绩,要求建立主键及与student及kc表联接的外键2 基本表的修改:a) 在cjdj表中增加一列“任课教师rkjs”b) 删除cj表中rk
4、js一列c) 将student表的xm一列允许空值的属性更改成不允许为空,将列xm的长度由char(8)改为char(10)d) 增加cjdj表的列cj增加一个约束要求cj0 and cj=100e) 建立一个临时表,再将其删除3 索引的建立与删除(理解以下语句的含义并上机实践):a) create unique index stu_xh on student(xh)b) create index xh_kch on cj(xh asc,kch desc) c) drop index student.xh_kch4 实验方法在“企业管理器”和“SQL查询分析器”均完成以上的任务。并检查所做的操
5、作表现。实验2 数据库的简单查询和连接查询实验1 实验目的本实验的目的是使学生掌握SQL Server查询分析器的使用方法,加深对SQL和SQL语言的查询语句的理解。熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。2 实验时数 3学时3 实验内容1 简单查询操作。该实验包括投影、选择条件表达,数据排序,使用临时表等。具体完成以下题目,将它们转换为SQL语句表示,在学生选课数据库中实现其数据查询操作。4 求数学系学生的学号和姓名5 求选修了课程的学生学号6 求选修课程号为C1的学生号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同按学号的升序排列。7 求选修课程号为C1且成绩在
6、8090之间的学生学号和成绩,并成绩乘以0.8输出。8 求数学系或计算机系姓张的学生的信息。9 求缺少了成绩的学生的学号和课程号2 连接查询操作。该实验包括等值连接、自然连接、求笛卡儿积、一般连接、外连接、内连接、左连接、右连接和自连接等。10 查询每个学生的情况以及他所选修的课程11 求学生的学号、姓名、选修的课程及成绩12 求选修课程号为C1且成绩在90以上的学生学号、姓名和成绩13 查询每一门课程的间接先行课(即先行课的先行课)4 实验方法将查询需求用SQL语言表示;在SQL Server查询分析器的输入区中输入SQL查询语句;设置查询分析器的结果区为Standard Execute(标
7、准执行)或Execute to Grid(网格执行)方式;发布执行命令,并在结果区中查看查询结果;如果结果不正确,要进行修改,直到正确为止。实验3 数据库的嵌套查询实验1 实验目的本实验的目的是使学生进一步掌握SQL Server查询分析器的使用方法,加深SQL语言的嵌套查询语句的理解2 实验时数 3学时3 实验内容本实验的主要内容是:在SQL Server查询分析器中使用IN、比较符、ANY或ALL和EXISTS操作符进行嵌套查询操作。具体完成以下例题。将它们用SQL语句表示,在学生选课中实现其数据嵌套查询操作。例1 求选修了高等数学的学号和姓名例2 求C1课程的成绩高于刘晨的学生学号和成绩
8、例3 求其他系中比计算机系某一学生年龄小的学生(即年龄小于计算机系年龄最大者的学生)例4 求其他系中比计算机系学生年龄都小的学生例5 求选修了C2课程的学生姓名例6 求没有选修C2课程的学生姓名例7 查询选修了全部课程的学生姓名例8 求至少选修了学号为“95002”的学生所选修全部课程的学生学号和姓名4 实验方法 将查询需求用SQL语言表示:在SQL Server查询分析器的输入区中输入SQL查询语句:设置查询分析器的结果区为Standard Execute(标准执行)或Execute to Grid(网格执行)方式;发布执行命令,并在结果区中查看查询结果;如果结果不正确,要进行修改,直到正确
9、为止。 实验4 数据库的集合查询和统计查询实验1 实验目的本实验的目的是使学生熟练掌握SQL Server查询分析器的使用方法,加深SQL语言查询语句的理解。熟练掌握数据查询中的分组、统计、计算和集合的操作方法。2 实验时数 3学时相关知识(1) 分组和SQL函数查询SQL函数是综合信息的统计函数,包括计数、求最大值、最小值、平均值、和值等,较详细的SQL函数及功能见第三章3.3节(SQL查询用的函数)。SQL函数可作为列标识符出现在SELECT子句的目标列或HAVING子句的条件中。在SQL查询语句中,如果有GROUP BY分组子句,则语句中的函数为分组统计函数;如果没有GROUP BY分组
10、子句,则语句中的函数为全部结果集的统计函数。表1 基本的SQL函数函数功能AVG()求与字段相关的数值表达式的平均值SUM()求与字段相关的数值表达式的和值MIN()求字段表达式的最小值MAX()求字段表达式的最大值COUNT(*|)求记录行数(*),或求不是NULL的字段的行数(2) 集合查询 每一个SELECT语句都能获得一个或一组元组。若要把多个SELECT语句的结果合并为一个结果,可用集合来完成。集合操作主要包括并操作UNION、交操作INTERSECT和差操作MINUS。 标准SQL语言中提供了并操作UNION,没有直接提供交操作INTERSECT和差操作MINUS,但可以用其他方法
11、来实现,具体实现方法依查询不同而不同。3 实验内容本实验的主要内容是:a) 分组查询实验。该实验包括分组条件表达、选择组条件表达的方法。b) 使用函数查询的实验。该实验包括统计函数和分组统计函数的使用方法。c) 集合查询实验。该实验并操作UNION、交操作INTERSECT和差操作MINUS的实现方法。具体完成以下例题,将它们用SQL语句表示,在学生选课中实现其数据查询操作。例1 求学生的总人数例2 求选修了课程的学生人数例3 求课程和选修了该课程的学生人数例4 求选修超过3门课的学生学号例5 查询计算机科学系的学生及年龄不大于19岁的学生例6 查询计算机科学系的学生与年龄不大于19岁的学生的
12、交集例7 查询计算机科学系的学生与年龄不大于19岁的学生的差集例8 查询选修课程C1的学生集合与选修课程C2的学生集合的交集例9 查询选修课程C1的学生集合与选修课程C2的学生集合的差集4 实验步骤 将查询需求用SQL语言表示:在SQL Server查询分析器的输入区中输入SQL查询语句:设置查询分析器的结果区为Standard Execute(标准执行)或Execute to Grid(网格执行)方式;发布执行命令,并在结果区中查看查询结果;如果结果不正确,要进行修改,直到正确为止。 实验5 数据库的更新实验1 实验目的本实验的目的是要求学生熟练掌握使用SQL 和通过SQL Server企业
13、管理器向数据库输入数据、修改数据和删除数据的操作。2 实验时数 3学时相关知识SQL Server提供了很多方法更新表中数据。以插入记录为例,可以使用INSERT语句、VALUES子句将特定值集合插入一行;可以使用数据库接口API(ADO、OLE DB、ODBC和DB-Library)中的函数进行数据插入等。本实验主要掌握INSERT、UPDATE和DELETE语句的基本用法。l 插入操作,其语句的一般格式为INSERTINTO table_or_view (colum_list)VALUES (date_values);此语句是使date_values作为一行数据记录插入已命名的表或视图ta
14、ble_or_view中。Column_list是由逗号分隔的table_or_view的列名列表,用来指定为其提供数据的列。如果没有指定column_list,表或视图中的所有列都将接收数据。如果column_list没有为表或视图中的所有列命名,将在列表中没有命名的任何列中插入一个NULL值(或者在默认情况下为这些列定义的默认值)。在列的列表中没有指定的所有列都必须允许NULL值或者指定的默认值。否则SQL Server将返回一个错误。l 修改操作语句的一般格式为UPDATE 表名SET =,=where ;其功能是修改指定表中满足WHERE子句条件的元组。其中SET子句用于指定修改方法,
15、即用的值取代相应的属性列值。如果省略WHERE子句,则表示要修改表中的所有元组。l 删除语句的一般格式为DELETE FROM WHERE ;其功能是从指定表中删除满足WHERE子句条件的所有元组。如果省略WHERE子句,则表示要删除表中的所有元组,但表的定义仍在字典中。3 实验内容通过企业管理器,在学生选课数据库的学生、课程和选课3个表中各输入10条记录。要求记录不仅满足数据约束要求,还要有表间关联的记录。具体完成以下例题。将它们转换为SQL语句表示,在学生选课库中实现其数据更新操作。例1 将一新学生记录(学号:95050;姓名:陈冬;性别:男;年龄:18;所在系:计算机科学系)插入学生表中
16、。例2 插入一条选课记录(95020,C1)。例3 对每一个系,求学生的平均年龄,并把结果存入数据库。对于这道题,首先要在数据库中建立一个有两个属性列的新表,其中一列存放系名,另一列存放相应系的学生平均年龄。 CREATE TABLE Deptage(所在系 CHAR(20),平均年龄SMALLINT); 然后对数据库的学生表按所在系分组求平均年龄,再把所在系和平均年龄存入新表中。例4 将学生95001的年龄改为22岁。例5 将所有学生的年龄增加一岁。 例6 将计算机科学系全体学生的成绩置零。例7 删除学号为95006的学生记录例8 删除所有的学生选课记录例9 删除计算机科学系所有学生的选课记
17、录4 实验步骤 将查询需求用SQL语言表示;在SQL Server查询分析器的输入区中输入SQL查询语句;设置查询分析器的结果区为Standard Execute(标准执行)或Execute to Grid(网格执行)方式;发布执行命令,并在结果区中查看查询结果;如果结果不正确,要进行修改,直到正确为止。 实验6 数据库的视图定义及维护实验1. 实验目的本实验的目的是使学生掌握视图的定义与维护操作,加深对视图在关系数据库中的作用的理解。 2. 实验时数 3学时相关知识视图是根据子模式建立的虚拟表。一个视图可以由一个表构造,也可以由多个表构造。利用企业管理器和视图创建向导进行创建,查看和修改视图
18、就如同对表的操作一样,非常容易。3. 实验内容本实验的主要内容是:1) 创建和删除视图2) 查询和更新视图具体完成以下例题。例1 建立信息系学生的视图例2 建立信息系学生的视图,并要求进行修改和插入操作时仍须保证该视图只有信息系的学生。例3 建立信息系选修了C1号课程的学生视图例4 建立信息系选修了C1号课程且成绩在90分以上的学生视图例5 定义一个反映学生出生年份的视图4. 实验步骤1 创建视图下面利用了SQL Server中提供的视图创建向导,来实现例3(建立信息系选修了1号课程的学生视图)。1) 打开企业管理器窗口,确认服务器,打开数据库文件夹,选中新视图所在的数据库(此例为学生选课数据
19、库)。2) 选择菜单:工具|向导3) 在如图1所示的向导选择对话框中,单击数据库左边的“+”号,使之展开。选择“创建数据库向导”项,单击“确定”按键。 图1 向导选择对话框4) 进入创建视图向导后,首先出现的是欢迎使用创建视图向导对话框,其中简单介绍了该向导的功能。单击“下一步”后,就会出现选择数据库对话框。5) 在选择数据库对话框中,选择视图所属的数据库。本例的数据库为“学生选课”。单击“下一步”按键,则进入选择表对话框。6) 在选择表对话框中,列出了指定数据库中所有用户定义的表。用户可以从中选择构造视图所需的一个表或者多个表,被选中的表成为构造视图的参考表。选择构造视图参考表的方法是:用鼠
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库系统概论 数据库 系统 概论 实验 大纲 18
限制150内