通过 UML + OO 进行数据库设计

程序开发中使用OO的语言和方式,自然的养成了OO的思想,那么在设计数据库DataModel时,完成可以继续发扬光大。

用OO的方式发现对象,发现Class,找到Class之间的关系,完成UML的类图。
结合这个类图,根据一对一,一对多,和多对多的,对象关系。来设计数据的DataModel
这个过程很清楚也很自然。

举例说明:

1.Use Case的描述。
数据库相关的设计,无非是数据如何输入,和特定检索条件的数据标示。
所以根据用户的输入的方式,和检索输出条件可以确定基本的UseCase。
不同的用户,不同时间点的数据输入。不同的检索条件,都要作为UseCase的考虑重点,

注意)千万不要假定用户会一次性的完整的录入我们设定好的数据格式。
根据这个一点,一个简单的数据的录入Case,可能会分解成很多的输入Case。


2.Class的发现

基于Use Case 发现 用例中的Class和他的熟悉,建立 Class图。
用Class去验证UseCase,保证UseCase的完整覆盖。

注意采用OO的方式,注意要先把名词都处理成Class,而不要先把名词都处理成属性。

例如。书,有作者和分类。如果上来就先处理成属性,book 有author 和 category属性
那么当一本书有多个作者和属于 “科幻,战争,爱情”分类时就麻烦了 。

所以应该自然的优先考虑对象的方式,定义 book class, author class, catalog class

然后对他们之间的关联关系分析,(一对多,多对多,一对一)看那些class可以退化成属性。(一对一的情况,考虑用属性实现)


3.Class之间的关系

一对一,
一对多,
多对多


4.DataModel的完成。

Class设计成表,关系通过外键来描述。多对多的关系需要一个中间表。

最后再用设计好的DataModel来覆盖UseCase。检查设计有无问题。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值