Database design 对现有数据库表的关注

Database design 对现有数据库表的关注,database-design,Database Design,显然,3个或4个live web站点使用此表,并且所有者不想花费时间来修复它和访问它的代码。在这种情况下,你通常会怎么做?除了处理它,我似乎别无选择 如果客户坚持要你使用这种结构(而且似乎他有几个网站在使用它,客户可能会这样做),你需要适应它。这是一个可怕的烂摊子,但除非你得到报酬来修复它,否则你真的无法告诉老板该怎么做 有几个依赖的应用程序,除非您可以更改它们,否则您需要继续使用它 有一些方法可以缓解此问题—如果您有时间,可以创建一个更好的结构,迁移数据,并在新结构上创建一个与上面相同的视图,

显然,3个或4个live web站点使用此表,并且所有者不想花费时间来修复它和访问它的代码。在这种情况下,你通常会怎么做?除了处理它,我似乎别无选择


如果客户坚持要你使用这种结构(而且似乎他有几个网站在使用它,客户可能会这样做),你需要适应它。这是一个可怕的烂摊子,但除非你得到报酬来修复它,否则你真的无法告诉老板该怎么做

有几个依赖的应用程序,除非您可以更改它们,否则您需要继续使用它

有一些方法可以缓解此问题—如果您有时间,可以创建一个更好的结构,迁移数据,并在新结构上创建一个与上面相同的视图,并且可以由坚持使用旧/损坏结构的应用程序无缝使用


唯一的解决方案是增量清理,这假设您还可以清理使用此表的应用程序代码。

您想解决什么问题?@Oded,它非常庞大,包含与成员无关的内容,如CC、address。他们使用int数据类型而不是bit表示真/假。我知道这个表很乱(非规范化、坏数据类型等等),但实际上,你想在这里解决什么问题?@nick,你无法修复世界上所有的坏代码!店主不想把它修好,所以捂住你的鼻子,以免闻到桌子的气味而昏倒,然后扑通一声坐在桌子上继续往前走。即使桌子是垃圾,你的薪水还是会兑现的。这就是人们在为“遗留代码”(别人做的垃圾,而你却被困在维护中)而哭泣时的意思。欢迎来到软件开发@KM,想象一下还有100多个没有外键或数据库图的表(没有这个表那么大)。10分钟的任务需要相当长的时间才能找到正确的表格。谢谢你的建议,我会尽力而为。我忘了提到数据库包含100个表,没有一个表使用外键,也没有设置数据库图表。“不过,我会尽我最大的努力来处理它。”尼克——我所概述的方法(增量迁移),实际上是清理这种混乱局面的唯一方法。再说一次,如果这不是你的工作,你所能做的就是提出你的担忧并继续工作(或者说,如果你不想处理它,就说再见)。第3段特别重要。这是在现有客户端无法更改时重构数据库的方法。所有者可能没有意识到有一种方法可以在保留现有客户机功能的同时解决新客户机的问题!我称之为鸭嘴兽数据库,因为它的设计方式与鸭嘴兽相同!把其他“动物”的碎片放在一起做成一个奇怪的!