《数据库系统原理实验》报告
文章目录
一、实验课程性质和教学目标
数据库系统原理实验是软件工程专业和计算机专业的一门专业基础课,其目的是通过实验巩固学生所学理论知识,提高学生分析问题和解决实际问题的能力,培养学生对问题建模和对模型中的数据,能够采用SQL 语句进行基本的数据库操作,实现数据的安全性和完整性等处理的能力,为后继课程的学习和数据库管理软件的开发奠定基础。
二、实验课程教学基本要求
通过实验,使学生深入理解数据库系统原理的基本概念,掌握概念模型、关系模型,熟悉各种SQL 命令,能够定义数据库,查询检索、管理控制数据库。采用某种数据库开发软件,如SQL Server 2008,通过构建或者模拟简单的数据库管理系统,进一步理解和应用数据库原理课程中的理论知识,熟悉开发实践中需要注意的问题,进一步理解理论和实践之间的区别与联系。
三、实验教学内容
实验一 认识DBMS系统
(一)实验目的:
- 1.通过对某个商用数据库管理系统(OpenGauss等))的使用,了解DBMS的工作原理和系统构架。
- 2.熟悉对DBMS的操作。
- 3.搭建今后实验的平台。
(二)实验内容:
- 1.安装和启动
了解openGauss的三种安装模式:华为弹性云上安装、虚拟机一键安装和虚拟机安装openEuler后再安装openGauss。了解了这三种安装模式之后,选择一个适合自己的安装方式,安装openGauss,为下一步实验做准备。 - 2.数据库系统的构架
了解openGauss数据库系统的启动和连接数据库,postgres为openGauss安装完成后默认生成的数据库。初始可以连接到此数据库进行新数据库的创建。使用数据库前,需先使用客户端程序,gsql是openGauss数据库提供的命令行方式的数据库连接工具。 - 3.创建数据库用户和数据库
默认只有openGauss安装时创建的管理员用户可以访问初始数据库,还可以创建其他数据库用户帐号。使用新用户连接到此数据库执行接下来的创建表等操作,也可以选择继续在默认的postgres数据库下做后续的体验。
(三)实验报告
实验二 创建数据库、表和索引
(一)实验目的:
- 掌握如何在OpenGauss中创建用户、数据库、模式、表和索引等。
- 灵活运用SQL语句建立上述概念。
- 理解数据库用户、数据库、schema、表、索引之间的关系。
(二)实验内容:
1.创建数数据库、模式、表和索引。
2.修改基本表的结构。
在OpenGauss数据库系统中使用SQL语句(按教材上所示的属性)建立基本表,如STUDENT表、COURSE表、SC表等,并向表中填充数据。熟悉使用虚拟机进行OpenGauss中SQL语句的代码输入方式。
3.创建和删除索引
使用SQL语句在上述表中创建索引,熟悉相应的SQL语句,请参考教材P73-79页的SQL语句,请注意标准SQL和openGauss中相应SQL语句相同与不同之处。
(三)实验报告
【数据库原理实验(openGauss)】创建数据库、表和索引
实验三 交互式SQL语句
(一)实验目的:
1.熟悉数据库的交互式SQL工具。
2.熟悉通过SQL语句操作数据库。
3.完成作业的上机练习。
(二)实验内容:
1.查询操作
根据教材P79-94页所有查询实例,完成各类查询操作。
2.更新操作
根据教材P94-96上所有更新实例,完成各类更新操作(插入、修改和删除数据等),请注意标准SQL和openGauss中相应SQL语句相同与不同之处。
(三)实验报告
实验四 创建视图
(一)实验目的:
1.熟悉通过SQL对视图进行操作。
2.体会视图的作用。
(二)实验内容:
1.使用SQL语句创建视图。
2.对视图执行创建、查找、更新等操作,对比和基本表进行查找、更新操作有无不同之处。
(三)实验报告
实验五 完整性控制
(一)实验目的:
1.了解OpenGauss提供的完整性机制,熟悉通过SQL对数据进行完整性控制。
2.完成教材第五章中的例子。
(二)实验内容:
1.练习创建下面约束:
- 主键(PRIMARY KEY)约束;
- 唯一性(UNIQUE)约束;
- 将STUDENTS表中的SNAME列设为唯一键约束、COURSES表中的CNAME列设为唯一键约束;
- 检查(CHECK)约束等;
- 外键(FOREIGN KEY)约束:外键约束是为了强制实现表之间的参照完整性。级联参照完整性约束就是为了保证外键数据的关联性。
2.创建触发器
触发器是一种特殊类型的存储过程,通常用于实现强制业务规则和数据完整性。创建UPDATE触发器检查修改操作的业务规则,如:在STUDENTS表上建立触发器,当用户修改学生的学号时给出提示信息。
(三)实验报告
实验六 安全性控制
(一)实验目的:
1.了解OpenGauss提供的安全性手段。
2.熟悉通过SQL对数据进行安全性控制。
3.领会书上讲解的各种安全性方法。
4.重点掌握授权和回收授权方法。
(二)实验内容:
1.创建一些数据库用户,并理解数据库用户和角色之间的关系。
2.利用查询分析器熟悉通过SQL对数据进行安全性控制(grant和revoke语句)。
(三)实验报告
实验七 事务与并发控制
(一)实验目的:
理解事务的定义及其四个特点,掌握封锁机制的原理和方法,进一步理解并发、并发控制、封锁等相关概念。
(二)实验内容:
1.编写事务实例,分别使其成功提交和回滚,观察该事务对数据库的影响。
2.利用数据库管理系统提供的封锁机制解决并发操作带来的数据不一致情况。
(三)实验报告
实验八 数据库的备份与恢复
(一)实验目的:
理解各种数据库故障以及它们的恢复方法,掌握数据库备份原理和方法,以及如何使用备份数据进行数据库故障的恢复。
(二)实验内容:
1.针对具体故障制定备份方案,并利用这些备份方案恢复数据库。
2.使用openGauss提供的各种备份方法进行数据库备份。
3.使用具体的数据库管理系统提供的恢复机制,利用副本进行数据库的恢复。
(三)实验报告
实验九 使用JDBC连接数据库
(一)实验目的:
了解如何使用JDBC连接数据库。JDBC(Java Database Connectivity,Java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问接口,应用程序可基于它操作数据。openGauss库提供了对JDBC 4.0特性的支持,需要使用JDK1.8版本编译程序代码。
(二)实验内容:
1.在openGauss中创建数据库、表;
2.使用jdbc连接到新创建的数据库;
3.在java程序中改变数据库中的值或者输出数据库中的值;
4.请参考华为提供的实验手册:openGauss场景化综合应用实验。