数据库规范化预防措施

时间:2011-03-03 16:57:44

标签: sql normalization

好。所以在我的工作地点,我们的sql数据库中有一个产品表来保存我们产品的信息(如图)。然而,创建该表的公司(我们以前的网络供应商)显然不相信使用多个表来保存数据。所以这相当于一个201列表,其中包含几乎所有您能想到的相关和无关数据的列。显然,我不希望它再那样了。我创建了逻辑表来将数据划分为包含原始列的数据。如何使用原始数据填充新表?我知道这是一个普遍的问题,我正在寻找一个普遍的答案。我不需要具体细节我只需指向正确的方向。感谢

2 个答案:

答案 0 :(得分:1)

在网上查找数据库重构。

基本上,不要创建任何表或移动任何数据。相反,创建除了SQL视图之外还可以虚拟地重新创建原始表格布局的SQL脚本。还有一些验证该视图的代码,可能是通过逐行比较原始表。然后运行脚本,检查数据,当你完全正确时,删除怪物表并重命名视图取代它。

希望您了解SELECT INTO以将数据导入新表。你会做SELECT DISTINCT clothingtype FROM bigtable INTO clothingtypes;

之类的事情

答案 1 :(得分:0)

为原始表中的全部或部分行选择要插入的列,并将此集插入目标表。您熟悉SQL UPDATE和INSERT语句吗?编辑:您只想重新定位与每个行无关的列;如果列仅属于某些行,那么这些行/列是重定位的候选者,如果标准化是目标。