虽然 Oracle 和 sql sever 是不同的数据库,但其一些基础语法还是比较一致的,但细微也有点区别,这里就简单介绍下 Oracle 数据库中 SQL 语言的使用。
目录
用户模式
在 SQL *Plus 环境中编写较长的 SQL 语句时,按回车键即可实现换行。需要注意的是,在按回车键之前不要输入分号,分号表示 SQL 语句的结束。
在 Oracle 数据库中,为了方便管理用户所创建的数据库对象(如数据表、索引、视图等),引入了模式的概念,这样某个用户所创建的数据库对象就都属于该用户模式。模式是一个数据库对象的集合,为一个数据库用户所有,并且具有与该用户相同的名称,如 system 模式、scott 模式等。在一个模式内部不可以直接访问其他模式的数据库对象,即使在具有访问权限的情况下,也需要指定模式名称才可以访问其他模式的数据库对象。
模式对象是由用户创建的逻辑结构,用以存储或引用数据。简单地说,模式与模式对象之间的关系就是拥有和被拥有的关系,即模式拥有模式对象,而模式对象被模式拥有。一个不属于某个用户所拥有的数据库对象就不能称之为模式对象,如角色、表空间及目录等数据库对象。
这里我们再介绍一个典型的示例模式——scott 模式,该模式及其所拥有的模式对象在后面经常使用到,Oracle 数据库提供的 scott 模式的目的就是为了给用户提供一些示例表和数据来展示 Oracle 数据库的一些特性。scott 模式拥有的模式对象(都是数据表)如下:
emp (员工信息表) | dept (部门表) | ||
empno | number (4) |
deptno | number (2) |
ename | varchar (10) | dname | varchar (14) |
job (职位) | varchar (9) | loc (所在位置) | varchar (13) |
mgr (经理) | number (4) | ||
hiredate (入职日期) | date | ||
sal (基本工资) | number (7,2) | ||
comm (奖金) | number (7,2) | ||
deptno (部门编号) | number (2) |
salgr(工资等级表) | bonus (工资表) | ||
grade (工资等级) | number | ename | varchar (10) |
losal (该等级下的最低工资) | number | job | varchar (9) |
hisal (该等级下的最高工资) | number | sal | number |
comm | number |
该模式演示了一个很简单的公司人力资源管理的数据结构</