WEB开发网
开发学院数据库Oracle Oracle数据库设计要做到五戒 阅读

Oracle数据库设计要做到五戒

 2008-12-12 13:01:52 来源:WEB开发网   
核心提示: 所以,笔者的第三个戒条就是,Oracle数据库设计要做到五戒(3),不要利用商务规则在前台实现数据的完整性,只要有可能,前台应用程序在没有必要的情况下,可以不直接访问数据表,就要尽量在数据库系统层面实现数据的完整性,在数据库层面实现数据完整性的同时

所以,笔者的第三个戒条就是,不要利用商务规则在前台实现数据的完整性。只要有可能,就要尽量在数据库系统层面实现数据的完整性。在数据库层面实现数据完整性的同时,需要注意用户的友好性。

一是要把违反约束信息尽可能详细的回馈给用户。如销售订单号,在数据库系统中设置了唯一性约束。则当用户在建立销售订单的时候,销售订单号重复时,就需要把这个约束的详细信息反馈给前台用户。若只显示不能够保存这个错误信息往往是不够的。这会让用户摸不着头脑。

二是在必要的时候,可以利用触发器来实现数据的完整性。虽然在功能设计上,我们不建议在Oracle数据库中采用触发器来实现。如要把某个小写金额转换为大小金额。我们是建议通过前台应用程序实现。因为应用程序的执行效率要比数据库的触发器高。但是,在数据库数据完整性上,在必要的时候,若靠数据库约束无法实现完整性,我们仍然建议采用触发器,而不是前台应用程序来实现。在任何情况下,不要依赖于应用程序来实现数据完整性。否则的话,很难保证数据库约束与商务层约束的一致性。

四戒:在可能的情况下,不要让前台应用程序直接访问数据表。

其实,在数据库基础表与前台应用程序之间,还有一个很好的“中间人”,那就是视图。试图是数据库基础表的一个抽象。他除了可以保障数据的质量外,还可以有效的访问前台应用程序对于数据的非法访问。所以,一些安全性级别比较高的数据库系统,在数据库设计的时候,往往会在数据库和前台应用程序代码之间提供“视图”这个中间人,让其作为基础表的“新闻发言人”。如此,前台应用程序在没有必要的情况下,可以不直接访问数据表,而是通过视图来对表实现间接的访问。

上一页  1 2 3 4  下一页

Tags:Oracle 数据库 设计

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接