建模的一些体会和总结

在建模过程中,经常需要对概念模型、物理模型、数据库结构进行微调。
这时应该注意到调整过程中的信息损失问题,从数据量最多的概念模型改起是我认为最好的方法。
在模型中,我们可能将表按照功能划分为不同的模块。如果通过数据库反向生成模型的话,就不能将表划分为模块了。
因为数据库中不存在这些信息。
从概念模型可以生成物理模型。
生成后,概念模型再修改,就无法再更新物理模型,而只能另外生成一个新的物理模型,和原物理模型进行比较。
在比较后,可以根据两个物理模型的不同对其进行更新。
还需要注意,只有同一个逻辑模型生成的物理模型才能进行比较。
从数据库更新物理模型时,如果数据库或物理模型中的表名修改过,可能无法直接对应到。
在power designer中进行此操作时,可以通过merge models窗口中的菜单项“Manually Synchronize two objects”来实现手工对应。
总的来说,能够在模型上修改,就不要直接动数据库。

模型的建立,应该具有预见性和回溯性。比如很多设计中,实体、属性的名称(name)是中文,而代码(code)是字母和符号组成的,
逐个去调试获取比较麻烦,如果能够事先将名称和代码进行汇总整理,然后建模前设置名称和代码的对应关系(在菜单“Tools”->“Model options”中),就显得非常方便了。
类似地,在建模前首先想好外键、主键的命名规则(比如,外键名称为FK__,索引名称为IDX__),
这样比建立好联系以后再去逐一修改要方便得多。
所谓回溯性,其实也是一个道理。如果不能预先确定好以上提到的基本规则,可以逐步细化。先建立简单模型,再以此为基础,定义规范。
使用建模工具的过程中,体会到其便捷性和功能强大,证明自己方法正确;如果总觉得模型是累赘、麻烦,可能就是自己方法不对。
使用工具比人工操作灵活,但也总是需要我们明确的指令。比如建立索引和外键关系时,如果设置不合理,可能产生的语句会在同一列上创建两次索引,因而报错;将同类表划分为模块,调用其他模块中的表时使用shortcut,如果两个shortcut分别在两个模块中出现一次,可能创建外键的动作就重复了。这些操作都可以通过简单的勾选、去除勾选,或生成时指定删除,都需要我们注意。

建模时应该综合考虑实体中属性间的逻辑关系,完整性,性能问题和存储问题。
一般按照主键、唯一键、外键、不为空列、可为空列、大字段列的顺序存储字段。
常用列放前面,可为空的放后面,最后存储大字段列。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26451536/viewspace-767733/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26451536/viewspace-767733/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值