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