Blo*_*mUp 0 database database-design data-modeling
好的,我可以在互联网上找到数百个自上而下的数据库设计与自下而上数据库设计方法之间差异的参考文献,但是,我无法找到任何真实世界的例子,或任何关于哪个设计更真实的信息适合什么情况.
谁能帮我吗?
我的答案基于这篇数据建模维基百科的文章.
在维基百科页面的大约一半处,有一个名为"建模方法论"的部分.
自上而下的方法用于创建新数据库.您在逻辑级别对对象建模,然后将对象应用于物理数据库设计.例如,关系数据库需要将对象映射到表.
要使用现实世界的例子,工资单系统必须有人物对象,以及其他持有工资规则的对象(每周加班超过40小时,加班一天超过10小时等).将有一个支付期对象,其中包含支付期和支付日的日期.该描述不是完整的设计.当您更多地考虑应用程序时,您会想出需要存在的其他对象,以及需要成为现有对象一部分的其他实体.
自底向上方法用于将数据库从一个物理数据库迁移到另一个物理数据库.从Oracle迁移到IBM的DB2通常需要进行一些更改,因为列数据类型不完全兼容.您将基于现有表创建表.有时,您尝试制作几乎完全相同的副本,以最大限度地减少应用程序编码更改.其他时候,您可以更改表结构,通常是进一步规范化或以更合理的方式将列组合在一起.是的,应用程序代码必须更改以适应新的数据库架构.但有时候,痛苦是值得的.
我见过很多数据库迁移.他们很难在帖子中描述.他们努力工作是痛苦的.