我必须维护一个设计非常糟糕的可怕遗留数据库。所有的表都有超过 100 列 - 一个有 650 列。数据库非常非规范化,我发现通常相同的数据在同一行的几列中表示。
例如,以下是其中一个表的列示例:
[MEMBERADDRESS] [varchar](331) NULL,
[DISPLAYADDRESS] [varchar](max) NULL,
[MEMBERINLINEADDRESS] [varchar](max) NULL,
[DISPLAYINLINEADDRESS] [varchar](250) NULL,
[__HISTISDN] [varchar](25) NULL,
[HISTISDN] [varchar](25) NULL,
[MYDIRECTISDN] [varchar](25) NULL,
[MYISDN] [varchar](25) NULL,
[__HISTALT_PHONE] [varchar](25) NULL,
[HISTALT_PHONE] [varchar](25) NULL,
事实证明,MEMBERADDRESS
表DISPLAYADDRESS
中所有行的值都相同。我在这里展示的其他领域集群也是如此。
手动识别所有此类情况将非常困难且耗时。是否可以创建一个查询来确定两个字段在表的每一行中是否具有相同的值?
如果没有,是否有任何现有工具可以帮助我识别这些问题?