Oracle数据库(二)数据库对象和数据库设计

一、常用数据库对象

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)

2、记录类型

3、流程控制

4、游标

5、异常处理

6、存储过程和函数

7、触发器

 

猜你喜欢

转载自blog.csdn.net/stanwuc/article/details/82628108