数据库对象

数据库对象

Oracle 数据库对象又称模式对象

数据库对象是逻辑结构的集合,最基本的数据库对象是表

其他数据库对象包括:同义词,序列,视图,索引

 

同义词:

同义词是现有对象的一个别名。

简化SQL语句隐藏对象的名称和所有者提供对对象的公共访问

同义词共有两种类型:

私有同义词: 只能在其模式内访问,且不能与当前模式的对象同名。

公有同义词: 可被所有的数据库用户访问。

 

私有同义词:

本用户创建后只能本用户使用

创建用户并赋予权限(system身份登录创建test用户)

CREATE  USER  创建的用户名  IDENTIFIED  BY  密码;

GRANT  CONNECT , CREATE  SYNONYM TO 用户名;

GRANT  SELECT   ON   SCOTT.EMP  TO 用户名;

GRANT  DELETE  ON   SCOTT.EMP TO 用户名;

GRANT  UPDATE  ON  SCOTT.EMP TO 用户名;

用户登录数据库,执行sql

CREATE  SYNONYM   表别名   FOR  SCOTT.表名;  --给表起别名

 

公有同义词

由管理员创建,所有用户都可以使用

system管理员身份登录,创建公有同义词:

CREATE   PUBLIC   SYNONYM  表别名 FOR  SCOTT.表名;

 

 

序列:

序列是用于生成唯一、连续序号的对象

序列可以是升序的,也可以是降序的

使用CREATE SEQUENCE语句创建序列

START WITH 1   --指定第一个序列从1开始

INCREMENT BY 1  --序列直接的间隔为1

MAXVALUE 2000   --序列的最大数(默认最大为int范围)

MINVALUE 1   --序列的最新值(默认最新为1

NOCYCLE   --在达到最大值后停止

CYCLE   --在达到最大值后再从头开始

创建序列:

Create sequence seq_表名 START WITH 1 INCREMENT BY 1 MAXVALUE 2000;

利用序列实现自增:

Insert into 表名 values(seq_表名.nextval,......)

 

 

视图:

视图以经过定制的方式显示来自一个或多个表的数据

视图可以视为虚拟表存储的查询

创建视图所依据的表称为基表

视图的优点有:

提供了另外一种级别的表安全性

隐藏的数据的复杂性

简化的用户的SQL命令

隔离基表结构的改变

通过重命名列,从另一个角度提供数据

 

创建视图:

CREATE VIEW 视图名 AS  查询结果集;  --创建视图时查询结果不能有重复字段,创建视图需给用户授予创建视图的权限:grant create view to 用户名;

 

在视图上也可以使用修改数据的DML语句,如

INSERTUPDATEDELETE

视图上的DML语句有如下限制:

只能修改一个底层的基表

如果修改违反了基表的约束条件,则无法更新视图

如果视图包含连接操作符、DISTINCT 关键字、集合操作符、聚合函数或 GROUP BY 子句,则将无法更新视图

如果视图包含伪列或表达式,则将无法更新视图

 

 

 

索引:

索引是与表相关的一个可选结构

用以提高 SQL 语句执行的性能减少磁盘I/O

在逻辑上和物理上都独立于表的数据

创建索引:

Create  index  新表名  on 表名(id)

 

posted @ 2019-05-14 14:16  fdbnf  阅读(659)  评论(0编辑  收藏  举报