Oracle程序的开发技巧有哪些
创始人
2024-06-28 04:50:57
0次

Oracle优点很多,但是假如你对它使用不当的话,Oracle在实际的运行是不能发挥出它优势所在,下面的文章就是我个人在Oracle开发的过程中积累的一些相关经验,今天拿出来与大家做一个分享。

Oracle数据库设计中字段的使用

在一些表的设计中,有一些常用的这段,已经基本成为一个规范,在大型系统中,多可以看到这些字段的踪影,当然字段的名字可能有所不同。常用的字段分为以下几类:

1.WHO字段

这类字段多用于记录每行记录的操作变更信息,比如是谁添加的这行记录,谁做过修改等,详细说明如下:

字段名称

类型

说明

LAST_UPDATE_DATE  DATE  ***修改日期  LAST_UPDATED_BY  NUMBER(15)  ***修改人  CREATION_DATE  DATE  创建日期  CREATED_BY  NUMBER(15)  创建人  

I.创建人

在任何一个系统中,一般都会有一个权限验证和登录的过程,在登录后,会在系统的内存中记录登录人的信息,当此人在对数据库的某个表进行添加操作的时候,会同时把这个操作人员的ID值写入表中,供后期统计及审计

II.创建时间

与创建人的含义类似,在创建的同时,写入系统的当前时间,这个字段的值一般取自于服务器而不是客户端,比如在oracle中,可以直接使用SYSDATE作为这个字段的值

III.***修改人

一条记录被创建后,同样会有被修改的可能性,这里需要对修改的人进行一个记录,以便于后期审计。

但是这里要注意的是,这里只记录***的修改信息,如果一条记录经过多次的修改,中间的修改将无迹可寻,如果需要记录详细修改信息,需要使用日志功能,已经超出此字段的功效。

IV.***修改日期

与***修改人同时写入记录中,同理,也是记录***一次修改的时间,中间的修改均被***一次覆盖。

2. 状态及有效期字段

在一些新闻类的内容中,经常会涉及到一个时效性,即一条新闻可能只在某一个时间段内是对外可见的,超过这个时间段则将不允许发布,还有就是有些时候如果发现某些内容有问题,需要暂时对外屏蔽的时候,就可以用到状态字段,详细说明如下:

字段名称,类型,说明

STATUS  NUMBER  状态  START_DATE  DATE  有效开始日期  END_DATE  DATE  有效结束日期  

I.状态

这个字段一般用数值型表达,0表示失效,1表示有效,当然在使用的时候,可以把这两个值进行转义,用“有效”和“失效”来显示,不影响存储方式。

失效不等于删除,经过失效的内容,经过管理Oracle程序的调整,把状态变成有效后,还可以恢复正常使用。

II.有效开始日期

这个字段如果填有具体的值,只有当时间超过这个时间后,信息才是有效的,在这个日期之前,信息将自动按无效处理,特别需要注意的是,如果这个字段置空,应该按跳过这个条件检查来处理,这样可以实现Oracle程序的灵活性。

III.有效结束日期

具体含义同上,只是超过此期,内容将按失效处理。

3.逻辑删除

在数据库系统中处理的删除的做法一般有两种:物理删除和逻辑删除,所谓物理删除,就是在数据库中直接使用delete等命令,从数据库里把数据真正的删除,这种删除从正常途径将无法恢复数据,虽然可以部分程度减小整体的数据量,但不利于审计跟踪;逻辑删除指的是对数据不做任何删除处理,而是对记录打个标记,也就是在某个字段上赋值,表示此记录已经删除。

逻辑删除的处理逻辑只由应用Oracle程序自己使用,因为数据在数据库中实际还是存在的。

所涉及字段如下:

字段名称  

类型  

说明  

DELETED  

NUMBER  

是否删除  

DELETE_DATE  

DATE  

删除时间  

DELETED_BY  

NUMBER  

删除人  

 

I. 删除标志

此字段有两个取值,0表示正常,1表示已经删除。

打上删除标志后,所以的查询语句必须同时在判断条件的地方加上deleted=0的条件,否则会造成重大的失误。

II. 删除时间

与删除标志一起使用,表示删除的时间,可以使用当前服务器的时间,用sysdate来填充即可。

III. 删除人

与***修改人类似,需要记录删除的具体操作人员

删除与标志位不同,采用标志位的方式,虽然前端无法展示数据,但是后台管理人员人一样可以通过管理Oracle程序来调整该状态,但是删除标志则不同,确认删除后,对整个应该来讲,这条记录都应该理解为不存在了。

【编辑推荐】

  1. 如何用Oracle 9i全索引扫描完成任务
  2. Oracle 9i全索引扫描和函数索引一起工作的原理
  3. Oracle安装路径的实际操作
  4. 手动设置Oracle管理控制和日志文件
  5. Oracle数据安全性的介绍

 

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...