一步一步设计你的数据库(六)

发表于:2011-6-10 09:48

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:DBFocus    来源:51Testing软件测试网采编

  引言:一步一步设计你的数据库(五)》中我们通过多种方法来理解客户的需求并撰写了需求文档。本文我们将回答三个问题。1. 为什么业务规则非常重要。2. 怎样识别业务规则。3. 如何修改关系模型并隔离出业务规则。

  什么是业务规则

  业务规则描述了业务过程中重要的且值得记录的对象、关系和活动。其中包括业务操作中的流程、规范与策略。业务规则保证了业务能满足其目标和义务。

  生活中的一些业务规则可能是:

  1、当顾客进入店内,最近的员工须向顾客打招呼说:“欢迎来到×××”。

  2、当客户兑换超过200元的奖券时,柜员须要求查看客户的身份证并复印。当兑换的奖券金额小于25元时,无需客户签字。

  3、早上第一个进办公室的人需要把饮水机加热按钮打开。

  本系列我们关注数据库相关的业务规则,一些例子如下:

  1、只有当客户产生第一个订单时才创建该客户的记录。

  2、若一名学生没有选任何一门课程,把他的状态字段设为Inactive。

  3、若销售员在一个月中卖出10套沙发,奖励500元。

  4、一个联系人必须至少有1个电话号码和1个email邮箱。

  5、若一个订单的除税总额超过1000元则能有5%的折扣。

  6、若一个订单的除税总额超过500元则免运费。

  7、员工购买本公司商品能有5%的折扣。

  8、若仓库中某货品的存量低于上月卖出的总量时,则需要进货。

  从数据库的视角来看,业务规则是一种约束。简单的约束如:

  所有订单必须有一个联系电话。

  上述这类简单的规则可以很容易的映射到关系数据库定义中,为字段确定数据类型或设定某字段为必填(不能为NULL)。某些业务规则表达的约束会复杂些,如:

  学生每天的上课时间加上项目时间必须在1至14小时之间。

  我们可以通过check约束或外键约束来实现这类业务规则。对于一些非常复杂的业务规则,如:

  一名教员每周不能少于30小时工作量,其中分为办公时间、实验时间和上课时间。每1小时的课需要0.5小时办公时间进行备课。每1小时实验需1小时办公准备。每周指导学生论文时间不少于2小时。

  类似上述的业务规则需要从多个表中收集数据,故在程序代码中实现最为合适。

31/3123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号