Oracle9i数据库设计指引全集
2008-09-08 12:53:41 来源:WEB开发网核心提示: 触发器的before或after事务属性的选择时候,对表操作的事务属性必须与应用程序事务属性保持一致,Oracle9i数据库设计指引全集(10),以避免死锁发生,在大型导入表中,当和数据库频繁交换数据是通过存储过程可以提高运行速度,由于只有被授权的用户才能执行存储过程,尽量避免使用触发器,
触发器的before或after事务属性的选择时候,对表操作的事务属性必须与应用程序事务属性保持一致,以避免死锁发生。在大型导入表中,尽量避免使用触发器。
2.4.2.4 注释
表、字段等应该有中文名称注释,以及需要说明的内容。
2.4.3 索引设计
对于查询中需要作为查询条件的字段,可以考虑建立索引。最终根据性能的需要决定是否建立索引。对于复合索引,索引字段顺序比较关键,把查询频率比较高的字段排在索引组合的最前面。在分区表中,尽量采用local分区索引以方便分区维护。
除非时分区local索引,否则在创建索引段时候必须指定指定索引段的tablespace、storage属性,具体参考4.4.2.1内容。
2.4.4 视图设计
视图是虚拟的数据库表,在使用时要遵循以下原则:
◆ 从一个或多个库表中查询部分数据项;
◆ 为简化查询,将复杂的检索或字查询通过视图实现;
◆ 提高数据的安全性,只将需要查看的数据信息显示给权限有限的人员;
◆ 视图中如果嵌套使用视图,级数不得超过3级;
◆ 由于视图中只能固定条件或没有条件,所以对于数据量较大或随时 间的推移逐渐增多的库表,不宜使用视图;可以采用实体化视图代替。
◆ 除特殊需要,避免类似Select * from [TableName] 而没有检索条件的视图;
◆ 视图中尽量避免出现数据排序的SQL语句。
2.4.5 包设计
存储过程、函数、外部游标必须在指定的数据包对象PACKAGE中实现。存储过程、函数的建立如同其它语言形式的编程过程,适合采用模块化设计方法;当具体算法改变时,只需要修改需要存储过程即可,不需要修改其它语言的源程序。当和数据库频繁交换数据是通过存储过程可以提高运行速度,由于只有被授权的用户才能执行存储过程,所以存储过程有利于提高系统的安全性。
更多精彩
赞助商链接