很多人在进行数据库设计的时候,还是喜欢使用word文档的格式设计好数据库结构以后,再进行物理数据库的创建;而真正使用数据库建模工具进行数据库设计的就很少了;如果你讯问那些不愿意使用数据库建模工具的人为什么的话,我想他们一般会给你下面几个答案:
1.数据库结构不复杂,没必要使用建模工具。
2.建模工具使用起来比较麻烦,不现实。
3.我们公司有专门的数据库文档格式,恐怕建模工具没法生成合适的文档。
对于以上答案,我认为都不成立,是因为对建模工具的误解造成的。
以powerdesign为例,对于上述答案可以一一回应。
一些人想当然的认为,使用建模工具必需进行复杂的数据分析等工作,其实这是个误解;数据库建模工具当然有一部分这个能力,但不是重要的,甚至不是必需的。你完全可以把目光集中在数据库的设计上,只需建立起各个实体及他们的关系,这个工作就算完成了,建立实体时,实体的属性就是表的各个字段,实体之间的关系就是表与表之间的关系,这个过程的字符输入量决不大于你使用word的输入量;而且,当你对建模工具象对word一样熟练以后,这个过程所花费的时间还要小于你用word设计数据库的时间。更重要的是,只要这一步完成,你就可以直接生成创建数据库的sql代码,或者让建模工具和数据库建立连接,这样就可以随时通过更改实体及他们之间的关系来直接更改数据库结构了。而传统的使用word的方式,你必需在建立数据库时,把字段名称和类型重新再敲上一遍,而且为了保证这个过程建立的数据库和原来你用word设计的数据库结构的一致性,你必需付出额外的劳动。更糟的是,如果你改变了数据库,比如从sqlserver换成了oracle,恐怕花费的精力就更多了。而数据库建模工具就没有这个缺点,应为它是和数据库平台无关的,所以可以简单的移植到不同的数据库平台。
而且,数据库建模工具大部分都是图形界面的,这更有利与实体关系的建立,至少比文字方式要直观、简练,现在你建立一个主外键之间的关系只需托放一个控件,再做几下选择就可以了。
数据库建模工具还支持强大的数据导出功能,能够生成完全自定义格式的超文本或word文档,可以满足你想要的输出格式,而且这个操作也不复杂,可以这么说吧,至少俺见过的数据文档格式,使用powerdesigner都可以导出。
还有更让你想不到的好处,现在很多数据库建模工具都支持代码生成功能,可以生成一些基本的数据操作代码,而且支持多种语言,比如powerdesigner就支持.net、java、pb、delphi等各种语言。
想象一下,你只需付出比用word设计数据库结构更少的精力和时间,就可以得到跨平台、一致性好、图形界面、格式自由还外带代码生成功能的超级便利,为什么还不用它呢?
1.数据库结构不复杂,没必要使用建模工具。
2.建模工具使用起来比较麻烦,不现实。
3.我们公司有专门的数据库文档格式,恐怕建模工具没法生成合适的文档。
对于以上答案,我认为都不成立,是因为对建模工具的误解造成的。
以powerdesign为例,对于上述答案可以一一回应。
一些人想当然的认为,使用建模工具必需进行复杂的数据分析等工作,其实这是个误解;数据库建模工具当然有一部分这个能力,但不是重要的,甚至不是必需的。你完全可以把目光集中在数据库的设计上,只需建立起各个实体及他们的关系,这个工作就算完成了,建立实体时,实体的属性就是表的各个字段,实体之间的关系就是表与表之间的关系,这个过程的字符输入量决不大于你使用word的输入量;而且,当你对建模工具象对word一样熟练以后,这个过程所花费的时间还要小于你用word设计数据库的时间。更重要的是,只要这一步完成,你就可以直接生成创建数据库的sql代码,或者让建模工具和数据库建立连接,这样就可以随时通过更改实体及他们之间的关系来直接更改数据库结构了。而传统的使用word的方式,你必需在建立数据库时,把字段名称和类型重新再敲上一遍,而且为了保证这个过程建立的数据库和原来你用word设计的数据库结构的一致性,你必需付出额外的劳动。更糟的是,如果你改变了数据库,比如从sqlserver换成了oracle,恐怕花费的精力就更多了。而数据库建模工具就没有这个缺点,应为它是和数据库平台无关的,所以可以简单的移植到不同的数据库平台。
而且,数据库建模工具大部分都是图形界面的,这更有利与实体关系的建立,至少比文字方式要直观、简练,现在你建立一个主外键之间的关系只需托放一个控件,再做几下选择就可以了。
数据库建模工具还支持强大的数据导出功能,能够生成完全自定义格式的超文本或word文档,可以满足你想要的输出格式,而且这个操作也不复杂,可以这么说吧,至少俺见过的数据文档格式,使用powerdesigner都可以导出。
还有更让你想不到的好处,现在很多数据库建模工具都支持代码生成功能,可以生成一些基本的数据操作代码,而且支持多种语言,比如powerdesigner就支持.net、java、pb、delphi等各种语言。
想象一下,你只需付出比用word设计数据库结构更少的精力和时间,就可以得到跨平台、一致性好、图形界面、格式自由还外带代码生成功能的超级便利,为什么还不用它呢?