我应该使用关联表建模以确保未来的灵活性吗?

Sha*_*ane 2 oracle database-design

这是一个数据库建模问题.

我通常使用标准的父子表设置来建模一对多,并且我通常使用两个表之间的关联表来建模多对多.在这种情况下,当前要求需要一对多的关系.但客户正在讨论一些可能需要多对多关系的潜在未来需求.

所以这里有两个实现选项:

  1. 将数据库建模为一对多以满足当前要求.如果未来的需求需要多对多,那么我需要更改数据库结构和应用程序代码.
  2. 将数据库建模为多对多,并使应用程序代码将数据限制为一对多.如果未来的需求需要多对多,那么我只需要更改应用程序代码.

事后改变数据库结构可能会对我们的应用程序造成一些痛苦,但我可能会以灵活性的名义引入不必要的复杂性.

你会选择哪个选项?为什么?

Set*_*eth 5

根据潜在需求设计软件非常困难.我坚持实际要求.这样你就可以按时完成.

而且,如果您以后有多对多的实际要求,请稍后再实施.

只是我的意见..另一方面,我按小时收到报酬.