作者:手机用户2502936521 | 来源:互联网 | 2023-09-06 20:11
HowwouldyouDBAshandlethis?Ihavetakenownershipofanexistingapp(VB6)anddatabasethatw
How would you DBA's handle this? I have taken ownership of an existing app (VB6) and database that was written in 1999. The database design is fairly 'flat', meaning the main tables are fairly wide (100+ columns) and developers have continued to tack on additional columns to the end of the tables. This has resulted in columns that have a lot of Nulls since they don't directly relate to the primary key.
DBA如何处理这个问题?我已经获得了1999年编写的现有应用程序(VB6)和数据库的所有权。数据库设计相当“平坦”,这意味着主要表格相当宽(100多列),开发人员继续将其他列添加到表的结尾。这导致列具有大量Null,因为它们与主键没有直接关系。
I am considering splitting the main table out as a way to abstract myself from the years and years of 'column explosion'. I am certain that new fields will continue to be added as new requirements come up.
我正在考虑拆分主表,以便从多年来的“列爆炸”中抽象出自己。我确信随着新要求的出现,新领域将继续增加。
So the question is, as new fields are needed, do you continue to grow the width of the existing table? Or do you STOP extending an existing table and split it out into a separate supporting table that will house new fields, thereby creating a 1-to-1 relationship? If you were to split the main table, what would your naming scheme be?
所以问题是,由于需要新字段,您是否继续增加现有表的宽度?或者你停止扩展现有的表并将其拆分成一个单独的支持表,它将容纳新的字段,从而创建一对一的关系?如果您要拆分主表,您的命名方案是什么?
Let's assume for this example I have a table called 'Foreclosure' with 150 fields. What is a good name for the new 1-to-1 table? 'ForeclosureExtended'? ForeclosureOtherInfo'?
让我们假设这个例子我有一个名为'Foreclosure'的表,有150个字段。新的1对1桌子有什么好名字? 'ForeclosureExtended'? ForeclosureOtherInfo“?
By the way, there are Views and Stored Procs that will need to be modified to support any new tables, but that is inevitable anyway when columns are added.
顺便说一下,有些视图和存储过程需要修改以支持任何新表,但是当添加列时,这是不可避免的。
thanks in advance for any thoughts.
提前感谢任何想法。
3 个解决方案