数据库实验习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据库概论》实验指导书
(2003级)
一、实验目的:
数据库系统是一门应用性很强的课程,上机实验是数据库课程的重要环节。本实验是结合《数据库概论》课程的学习而开设的实验。本实验目的如下:
1. 通过上机实验,加深对数据库系统理论知识的理解,增强对网络环境下大型数据库的感性认识和实际操作能力;
2. 通过使用具体的DBMS,了解一种实际的数据库管理系统,并掌握其操作技术。熟悉ORACLE数据库的Net8工具,掌握ORACLE数据库的网络连接配置;
3. 学习使用SQL语言,加深对SQL语言的认识和理解,提高SQL语言的实际应用能力;
4. 加强对事务处理、权限管理等概念的认识和理解。
二、适应专业:信息管理与信息系统,信息与计算机科学
三、实验学时数:12学时
四、实验内容及学时安排:
实验准备:
各班选出10个同学,协助老师搭建试验环境。包括:
1)安装ORACLE客户端,配置与主机的数据库连接。
2)安装软件工具 PLSQL/DEVELOPER
3)负责本班用户的建立。
分为两批上午下午各两个班。
实验一:数据定义/数据操纵语言
实验目的:熟悉Oracle上机环境以及Oracle客户端的配置;熟练掌握和使用DDL语言,建立、修改和删除数据库表、主键、外键约束关系和索引;熟练掌握和使用DML语言,对数据进行增加、修改和删除操作。
学时数:4学时
实验内容:SQL数据定义语句, SQL数据操纵语句。
实验要求:1. 熟悉Oracle上机环境;
2. 建立数据库表,修改数据库表结构,建立、删除索引;
3. 对数据库表进行插入、修改和删除数据的操作。
实验二:数据查询语言,视图定义
实验目的:体会SQL语言数据查询功能的丰富和复杂,视图使用。
学时数:4学时
实验内容:SQL数据查询语句,视图的定义与操纵;
实验要求:对数据库表进行各种查询操作,建立视图,视图查询,视图更新;
实验三:授权控制与事务处理
实验目的:通过实验进一步理解视图的建立和更新、数据库的权限管理和事务处理功能。
学时数:2学时
实验内容: 1. SQL数据控制语句;
2. SQL事务处理。
实验要求:
1. 给某一或全部用户授权和收回授权;
2. 事务回退,事务提交。
五、教材及参考文献
1.《数据库系统概论》(第三版)萨师煊等编著高等教育出版社 2000.2
2.《ORACLE 8.x For Windows NT实用教程》翁正科等编著清华大学出版社 1998.10
六、实验环境
实验要求如下环境
服务器端:Windows 2000NT Server;
ORACLE 8.x Database Server For Windows Windows2000 Server 客户端: Windows9x;Oracle 8.x Client
网络协议:TCP/IP
七、成绩考核
上机实验考核采取实验报告和上机抽查检验相结合的方式。每次实验结束后都必须写出实验报告。
八. 实验报告
实验一:数据定义/数据操纵语言
[ 实验日期 ] 年月日
[ 实验目的 ]
熟悉Oracle上机环境以及Oracle客户端的配置;熟练掌握和使用DDL语言,建立、修改和删除数据库表、主键、外键约束关系和索引;熟练掌握和使用DML语言,对数据进行增加、修改和删除操作。
[ 实验内容 ]
Oracle上机环境以及Oracle客户端的配置参见附录。
1. SQL数据定义语句:
例1-1: (建立数据库表) 建立教学数据库的四个数据库表,其中Student表中不包含SSEX(C,2)字段,Sname 字段为Sname(C,8)且可为空。
例1-2: (修改数据库表) 在Student表中增加SSEX(C,2)字段。
例1-3: (修改数据库表) 将Student表中把Sname字段修改为Sname(C,10)且为非空。
例1-4: (建立索引) 为Score表按学号升序和课程号降序分别建立索引,索引名分别为SC_NDXSNO 和SC_NDXCNO。为Score表按分数降序建立索引,索引名为GRADE_NDX。
例1-5: (删除索引) 删除索引SC_NDX_SNO。
例1-6: (建立数据库表) 建立数据库表S1(SNO,SNAME,SD,SA),其字段类型定义与Student 表中的相应字段(SNO,SNAME,SDEPT,SAGE)的数据类型定义相同。
例1-7: (修改数据库表) 删除成绩表Score的参照完整性约束关系。
例1-8: (修改数据库表) 添加成绩表Score的参照完整性约束关系。
2. SQL数据操纵语句:
例2-1: (插入数据) 按前面各表中的数据分别插入到教学数据库的四个数据库表中。
例2-2:(多行插入) 将表Student中在计算机系(‘CS’)的学生数据插入到表S1中。
例2-3:(利用查询来实现表的定义与数据插入) 求每一个学生的平均成绩,把结果存入数据库表Student_Gr中。
例2-4: (修改数据) 将S1表中所有学生的年龄加2。
例2-5: (修改数据) 将Course表中‘程序设计’课时数修改成与‘数据结构’的课时数相同。
例2-6: (插入数据) 向Score表中插入数据(‘98001’, ‘001’, 95),根据返回信息解释其原因。
例2-7: (插入数据) 向Score表中插入数据(‘97001’, ‘010’, 80),根据返回信息解释其原因。
例2-8: (删除数据) 删除Score表中学号为‘96001’的成绩信息,根据返回信息解释其原因。