好的,我可以在互联网上找到数百个自上而下的数据库设计与自下而上的数据库设计方法之间差异的参考资料,但是,我无法找到任何真实世界的例子,或任何有关的信息。哪种设计更适合什么情况。
任何人都可以帮助我吗?
答案 0 :(得分:7)
我的回答是基于这篇Data Modeling维基百科的文章。
在维基百科页面的大约一半处,有一个名为“建模方法论”的部分。
自上而下的方法用于创建新数据库。您在逻辑级别对对象建模,然后将对象应用于物理数据库设计。例如,关系数据库需要将对象映射到表。
要使用现实世界的示例,工资单系统必须包含人物对象,以及其他符合付费规则的对象(每周加班超过40小时,加班一天超过10小时等)。将有一个支付期对象,其中包含支付期和支付日的日期。该描述不是完整的设计。当您更多地考虑应用程序时,您会想出需要存在的其他对象,以及需要成为现有对象一部分的其他实体。
自下而上方法用于将数据库从一个物理数据库迁移到另一个物理数据库。从Oracle迁移到IBM的DB2通常需要进行一些更改,因为列数据类型不完全兼容。您将基于现有表创建表。有时,您尝试制作几乎完全相同的副本,以最大限度地减少应用程序编码更改。其他时候,您可以更改表结构,通常是进一步规范化或以更合理的方式将列组合在一起。是的,应用程序代码必须更改以适应新的数据库架构。但有时,痛苦是值得的。
我见过很多数据库迁移。他们很难在帖子中描述。他们很难完成工作。
答案 1 :(得分:0)
要理解这些方法之间的差异,让我们考虑一些自下而上的自下而上的工作。在统计分析中,分析师被教导从一小群人中抽取样本,然后将结果推断到总体人口。医生也接受自下而上的培训。医生检查特定症状,然后推断导致症状的一般疾病。
需要自上而下方法的作业示例包括项目管理和工程任务,其中必须在了解详细信息之前指定总体要求。例如,汽车制造商必须遵循自上而下的方法来满足汽车的整体规格。如果汽车要求其成本低于15,000美元,则每加仑行驶25英里,并且可容纳5人。为了满足这些要求,设计人员必须首先创建一个规范文档,然后向下钻取以满足这些要求。