oracle数据库基础(二)

(1)序列可以作为主键,还有什么可以作为主键,它们的区别是什么?
还可以使用SYS_GUID函数生成32位的唯一编码作用主键。
区别:
序列生成器sequence所生成的数字只能保证在单个实例里是唯一的,这就不适合将它用作并行或者远程环境里的主关键字,
因为各自环境里的序列可能会生成相同的数字,从而导致冲突的发生。
SYS_GUID会保证它创建的标识符在每个数据库里都是唯一的
(2)比较范围分区、间隔分区,说出它们的区别
范围分区:应用范围比较广的表区分方式,他以列的值的范围作 为分区的划分条件。
间隔分区:是Oracle 11g版本新的区分方法。不需要创建表时就将所有分区划分清楚。 间隔分区随着数据的增加会划分更多的分区,并自动创建新的分区。
(3)比较私有同义词、公有同义词,说出二者的特点和区别
特点:当前模式下创建私有同义词,用户必须拥有CREATE SYNONYM系统权限;其他用户模式下创建用户要拥有CREATE ANY SYNONYM系统权限。公有同义词可以隐藏数据库对象的所有者和名称,降低SQL语句复杂性;创建公有同义词,用户必须拥有CREATE PUBLIC SYNONYM系统权限。
区别:私有同义词只能在当前模式下访问,且不能与当前模式的对象同名。公有同义词可被所有的数据库用户访问。

表空间分类

注意:一般不需要建临时和撤销表空间,除非把它们转移其他磁盘中以提高性能
在这里插入图片描述
创建表空间
通过CREATE TABLESPACE命令创建表空间

--建一个自增表空间
create tablespace tp_y230
datafile 'D:\oracle TableSpace\tp_y230.dbf'
size 10M 
autoextend on;  --自增

修改表空间

--方法一:更改数据文件的大小
ALTER DATABASE DATAFILE
   'D:\DATA\tp_hr01.dbf'
   RESIZE 80M;
--方法二:向表空间内添加数据文件
ALTER TABLESPACE tp_hr
   ADD DATAFILE 
   'E:\DATA\tp_hr02.DBF' SIZE 20M
   AUTOEXTEND ON;

更改表空间状态只读

ALTER TABLESPACE tp_hr READONLY;

删除表空间

DROP TABLESPACE tp_hr INCLUDING CONTENTS; 

登录管理后台

SYS和SYSTEM用户都是Oracle 的系统用户,它们都使用SYSTEM表空间,SYS拥有更大的权限
在这里插入图片描述
创建用户

create user s230   --用户名
identified by admin  --密码
default tablespace tp_y230  --指定表空间

给用户赋予权限
常用系统预定义角色:
CONNECT:临时用户
RESOURCE:更为可靠和正式的用户
DBA:数据库管理员角色,拥有管理数据库的最高权限

grant connect, resource to s230;

序列

序列是用于生成唯一、连续序号的对象
序列可以是升序的,也可以是降序的
使用CREATE SEQUENCE语句创建序列

CREATE SEQUENCE toys_seq
	START WITH 10       --指定第一个序号从 10 开始
	INCREMENT BY 10     --指定序号之间的间隔为 10
	MAXVALUE 2000       --表示序列的最大值为 2000
	MINVALUE 10         --表示序列的最小值为 10
	NOCYCLE             --在达到最大值后停止生成下一个值
	CACHE 10;           --指定内存中预先分配的序号数

修改序列
使用ALTER SEQUENCE语句

ALTER SEQUENCE toys_seq MAXVALUE 5000 CYCLE;

删除序列
使用DROP SEQUENCE语句

DROP SEQUENCE toys_seq;

SYS_GUID函数
生成32位的唯一编码作为主键

同义词

##同义词是现有对象的一个别名
简化SQL语句
隐藏对象的名称和所有者
提供对对象的公共访问
##同义词共有两种类型:
私有同义词

CREATE OR REPLACE SYNONYM emp FOR SCOTT.emp;

公有同义词

CREATE PUBLIC SYNONYM public_sy_dept FOR SCOTT.dept;

删除同义词

DROP SYNONYM emp
DROP PUBLIC SYNONYM emp_syn; 

索引

索引使用原则
表中导入数据后再创建索引,否则每次表中插入数据时都必须更新索引
在适当的表和字段上创建索引
如果经常检索的数据少于表中的15%,需要创建索引
限制表中索引的数目
索引越多,在修改表时对索引做出修改的工作量越大
索引分类
在这里插入图片描述
反向键索引

CREATE INDEX index_reverse_empno ON emp(empno) REVERSE;

位图索引

CREATE BITMAP  INDEX index_bit_job ON emp(job);

表分区

允许用户将一个表分成多个分区
用户可以执行查询,只访问表中的特定分区
将不同的分区存储在不同的磁盘,提高访问性能和安全性
可以独立地备份和恢复每个分区

范围分区
以表中的一个列或一组列的值的范围分区

PARTITION BY RANGE (column_name)
(
  PARTITION part1 VALUE LESS THAN (range1),
  PARTITION part2 VALUE LESS THAN (range2),
  ...
  [PARTITION partN VALUE LESS THAN (MAXVALUE)]
);

实现范围分区的自动化

PARTITION BY RANGE(column_name)
		INTERVAL(NUMTOYMINTERVAL(n, 'interval_unit'))
		(PARTITION P1 VALUES LESS THAN (range1));

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值