数据库实验一查询与视图创建
【数据库查询和视图创建与查询】在数据库管理中,查询和视图是两个非常重要的概念。查询允许用户从数据库中检索所需的信息,而视图则是一种虚拟表,由一个或多个表的列的组合构成,可以简化复杂的查询并提供数据的安全性。
-
查询操作:
-
SQL(结构化查询语言)是用于执行查询的标准语言。在这个实验中,涉及到的查询包括按特定条件筛选数据,例如查询雇员的工资在2000到3000之间的员工信息,查询工资最高的员工,以及根据部门、职位等字段进行的查询。
-
索引的创建是提高查询效率的关键。在实验任务中,要求以
SAGE的降序为STUDENT表建立索引,名为TEST,这样可以加速对SAGE字段的降序查询。 -
视图创建与使用:
-
视图是数据库中的一个重要概念,它提供了一种抽象,允许用户查看数据库的不同视图,而无需关心底层数据的实际存储方式。在实验中,虽然没有明确提到创建视图的任务,但理解如何创建和使用视图对于处理复杂查询至关重要。例如,可以通过视图来聚合数据,展示各部门的雇员人数,或者显示每个员工的间接上司信息。
-
数据库表结构:
-
EMP表存储雇员的基本信息,包括雇员编号(EMPNO)、姓名(ENAME)、职位(JOB)、上级领导编号(MGR)、雇佣日期(HIREDATE)、月薪(SAL)、奖金(COMM)和部门编号(DEPTNO)。 -
DEPT表记录部门信息,包含部门编号(DEPTNO)、部门名称(DNAME)和部门位置(LOC)。 -
BONUS表显示雇员的额外奖金,包含雇员姓名(ENAME)、职位(JOB)、工资(SAL)和奖金(COMM)。 -
SALGRADE表定义了工资等级,包括等级名称(GRADE)、最低工资(LOSAL)和最高工资(HISAL)。 -
函数的使用:
-
NVL函数在Oracle SQL中用于处理空值。在查询年薪时,可能遇到某些员工的奖金(COMM)为空,NVL函数可以确保即使奖金为空,也能正确计算年薪。 -
其他实验任务:
-
创建用户并创建表
STUDENT,定义主键和非空约束,这涉及到数据库对象的创建和权限管理。 -
查询特定员工(如
JAMES)所属的部门信息,需要使用连接查询来关联EMP和DEPT表。 -
按照特定列(如月工资或年薪)对结果进行排序,这是SQL中的
ORDER BY子句的应用。