例如,订单表有一个名为details的列,其中包含以下信息:
2x #ABC-12345 Widget,Black: $24.99 /4x #ABC-12344 Widget,Blue: $23.50
/分隔行项目;有一个VBScript代码从记录集读取值并在For循环中解析它以显示使用类似的东西(这几乎就是代码读取的方式,变量名称和所有)arydtls = split(rstmp(“details”) ),“/”).在整个代码中针对各种表重复该方法.
在我看来,它只是100倍更好(更不用说更容易使用)只是将细节放在一个单独的表中并链接回它(有趣的是,对于Orders它确实这样做,但数据不是始终匹配详细信息文本字段,因为OrderDetail表在代码中更新;详细信息字段在应用程序中被视为只读.
我的前任是否知道我没有做过的事情,或者说“WTF?!!”我是对的.当我看这个架构?它看起来像是非常低效且难以像这样维护,并且它使得运行报告更加困难,因为我需要的数据可以包含在文本字段中,或者它可能在十几个表中具有相似信息并且用于不同的表中部分应用程序.
解决方法
Did my predecessor know something I didn’t,or am I right to be saying “WTF?!!” when I look at this schema?
不,你的前任没有.是的,你是对的.但是,请参见最后的注释.
It seems like it’s insanely inefficient and difficult to maintain like this,and it makes running reports extra difficult because the data I need could be contained in text fields OR it might be in one of a dozen tables that have similar information and are used in different parts of the application.
这是非常低效的.但是,请参见最后的注释.
列应始终是行的不可分割的属性.我在本专栏中看到了两个三个(可能是四个)属性的副本:
2x #ABC-12345 Widget,Blue: $23.50
>量(2x / 4x).
>代码(#ABC-12345 /#ABC-12344).
> description(Widget,Black:/ Widget,Blue