【发布时间】:2009-05-24 16:32:53
【问题描述】:
假设我有一个元组(id、姓氏、名字、职业)的 SQL 表,其中所有值都是字符串(好吧,显然 id 是一个键)。
我想将它转换为带有元组(id、lastid、firstid、occupid)的表,我只保留指向包含实际值的其他表的指针。如果示例域名和职业不适合此操作,我深表歉意。
显然,要创建将保存数据的其他表,我需要获取所有唯一的姓氏,然后使用自动生成的键将它们插入到新表中。名字和职业也是如此。
完成后,是否有一个单一的转换可以生成包含指针(呃,外键)的新表?
如果重要,实现使用 SQLite。
【问题讨论】:
-
你想用这个来完成什么?数据中有很多重复吗?整个方法对我来说似乎有点奇怪......
-
同意,这听起来确实像是基础数据中非常糟糕的标准化......
-
是的,原始数据中有很多重复。想想数百万行,只有数千(甚至数万)不同的值。我将首先指出,上面选择的示例域不是立即适用的......