一、常用数据库对象
1、序列(sequence)
(1)定义
(2)说明
(3)使用
- myseq.nextval
- myseq.currval
2、同义词(oracle独有 了解)
- create public synonym myemp for scott.emp;
3、视图(复杂查询存储)
(1)定义
(2)scott用户创建视图授权
conn sys/change_on_install as sysdba;
grant create view to scott;
(3)视图的更新
- 一般来讲涉及多表的视图无法更新数据,单表的视图可以,且更新视图会更新数据来源表的数据
- 检查视图的创建的条件(无法修改和创建条件相关的数据)
- 建议创建只读视图
4、索引(数据量大的情况使用)
(1)定义
create index sal_index on scott.emp(sal);
(2)说明
- 数据量大且数据的更新不频繁的情况下使用索引很好;
- 数据量大更新也比较频繁,要求能够更快的检索和统计,只能牺牲实时性,用两张表,一张建立索引,一张记录更新的信息,最后在夜间进行表的更新操作;
- 索引是通过建立二叉树的原理来实现的;
5、用户管理
(1)用户创建
(2)授予权限:授予角色后需要重启生效
(3)用户删除
drop User cat cascade;
(4)总结:系统权限、对象权限、grant和revoke
6、数据库备份
(1)数据的导入和导出(基本不用)
(2)数据库的冷备份(关闭服务器,进行备份)
二、数据库设计
(基本原则,满足业务需求的同时减少多表查询和复杂查询)
1、第一设计范式
- 数据表中的每个字段都不可再分,数据使用标准类型(number、varchar2,date),使用单表
2、第二设计范式
- 简单理解为多对多的关系
3、第三设计范式
- 优先使用
- 一对多关系
4、powerdesigner使用
- 主外键约束子表拉到父表
三、补充:PLSQL
1、基本语法
(1)作用:sql语言的过程化;
(2)PLSQL块
declare
/*申明部分*/
begin
/*程序正文*/
exception
/*异常的处理部分*/
end;
(3)