分类 - 数据库实验

2022-10-13 22:47:22    198    0    0
实验1、数据定义 1.1 实验目的 熟悉SQL的数据定义语言,能够理解并熟练地使用SQL语句来创建、修改和删除数据库、模式和基本表,创建和取消索引,特别是各种参数的具体含义和使用方法。掌握SQL 语句常见语法错误的调试方法。 1.2 实验内容 在DataStudio的SQL终端中使用CREATE语句创建数据库Db_Uni,该数据库为nbuuser所属。 在DataStudio的SQL终端中使用SQL语句创建SCHEMA并授权给用户nbuuser。 在DataStudio的SQL终端中使用CREATE语句创建基本表。 更改基本表的定义: 增加列,删除列,修改列的
2022-10-13 22:47:22    141    0    0
实验2、SQL的数据查询 2.1 实验目的 熟悉SQL语句的数据查询语言,能够SQL语句对数据库进行单表查询、连接查询、嵌套查询、集合查询和分组统计查询。 2.2 实验内容 实验内容主要是对数据库的数据进行查询操作,包括如下四类查询方式: 1. 单表查询 * 查询的目标表达式为所有列、指定的列或指定的列的运算三种不同。 * 使用DISTINCT保留字消除重复行。 * 对查询结果排序和分组。 * 集合分组使用集函数进行各项统计。 2. 连接查询 * 笛卡儿连接和等值连接。 * 自连接。 * 外连接 * 复合条件连接。 * 多表连接。 3.
2022-10-13 23:41:42    90    0    0
实验3、数据更新 3.1 实验目的 熟悉数据库的数据更新操作,能够使用SQL语句对数据库进行数据的插入、修改与删除操作。 3.2 实验内容 在本实验中,主要内容是如何用SQL语句对数据进行更新。 使用INSERT INTO语句插入数据,包括插入一个元组或将子查询的结果插入到数据库中两种方式。 使用SELECT INTO语句,产生一个新表并插入数据。 使用UPDATE语句可以修改指定表中满足WHERE子句条件的元组,有三种修改的方式:修改某一个元组的值;修改多个元组的值;带子查询地修改语句。 使用DELETE语句删除数据:删除某一个元组的值;删除多个元组的值;带子
2022-10-13 23:42:08    105    0    0
实验4、SQL的视图 4.1 实验目的 熟悉SQL支持的有关视图的操作,能够熟练使用SQL语句来创建需要的视图,对视图进行查询和删除视图。定义数据库外模式,并能使用所创建的视图实现数据管理。理解和掌握视图消解执行原理,掌握可更新视图和不可更新视图的区别。理解物化视图。 4.2 实验内容 定义常见的视图形式,包括: 行列子集视图 WITH CHECK OPTION的视图 基于多个基表的视图 基于视图的视图 带表达式的视图 分组视图 全量物化视图 通过实验考察WITH CHECK OPTION这一语句在视图定义后产生的影响,包括对修改操作、删除操作、插入操作的影响
2022-10-13 23:42:35    132    0    0
实验5、用户权限控制 5.1 实验目的 熟悉SQL的用户权限控制功能,能够使用SQL语句实现用户、角色和Schema的创建、修改与删除,用户权限的授予和回收,安全策略设置等。 5.2 实验内容 为方便管理,采用系统管理员用户nbuuser登录数据库,完成初始的权限分配工作,然后用相应用户名登录数据库以验证权限分配正确性。 使用GRANT语句来对用户授权,对单个用户或多个用户授权,或使用保留字ALL、PUBLIC对所有用户授权。对不同的操作对象包括数据库、视图、基本表等进行不同权限的授权。 使用WITH GRANT OPTION和WITH ADMIN OPTION子句
2022-10-13 23:43:10    92    0    0
实验6、SQL的空值和空集处理 6.1 实验目的 认识NULL值在数据库中的特殊含义,了解空值和空集对于数据库的数据查询操作,特别是空值在条件表达式中与其他的算术运算符或者逻辑运算符的运算中,空集作为嵌套查询的子查询的返回结果时候的特殊性,能够熟练使用SQL语句来进行与空值,空集相关的操作。 6.2 实验内容 通过实验验证在数据库原理解析中分析过的DBMS对NULL的处理,包括: * 在查询的目标表达式中包含空值的运算。 * 在查询条件中空值与比较运算符的运算结果。 * 使用IS NULL或IS NOT NULL 来判断元组该列是否为空值。 * 对存在取空值的
2022-10-13 23:43:42    38    0    0
实验7、实体完整性 7.1 试验目的 学习实体完整性的建立,以及实践违反实体完整性的出现结果。 7.2 试验内容 通过在数据库db_uni中建立表,进行各类实体完整性约束,在没有违反实体完整性的前提下插入并更新一条记录。 演示违反实体完整性的插入操作。 演示违反实体完整性的更新操作。 演示事务的处理,包括事务的建立、处理以及出错时的事务回滚。 通过建立表,插入数据,演示当与现有的数据环境不等时,无法建立实体完整性以及参照完整性。 7.3 实验步骤 输入如下命令,运行并观察和记录结果。 1. 实体完整性约束定义及在符合约束条件下的插入与更新操作。 *
2022-10-13 23:44:07    41    0    0
实验8、参照完整性 8.1 实验目的 学习建立外键,以及利用FOREIGN KEY…REFERENCES子句以及各种约束保证参照完整性。 8.2 实验内容 为演示参照完整性,建立表Course,令Cno为其主键,参考实验7建立表Stu_Union并在Stu_Union中插入数据。为下面的实验步骤做预先准备。 建立表SC,令Sno和Cno分别为参照Stu_Union表以及Course表的外键,设定为级联删除,并令(Sno,Cno)为其主键。在不违反参照完整性的前提下,插入数据。 演示违反参照完整性的插入数据。 在Stu_Union中删除数据,演示级联删除。 在Co
2022-10-13 23:44:38    60    0    0
2022-10-13 23:45:04    76    0    0
实验10、触发器 10.1 实验目的 通过实验使学生加深对数据完整性的理解,学会理解、创建和使用触发器。 10.2 实验内容 (在OpenGauss的控制台环境中,用实验9的Teacher表完成) 为Teacher表建立触发器tri 1,当插入或使更新表中的数据时,保证所操作的纪录的Tage值大于0。 为Teacher表建立触发器tri2,禁止删除编号为00001的CEO。 Teacher表中的人员的编号是唯一且不可更变的,创建触发器tri3实现更新中编号的不可改变性。 演示违反tri1触发器的约束的插入操作。 演示违反tri1触发器的约束的更新操作。 演示违反t