我正在建立一个代表不同类型内容的数据库。我有一个链接(可以把它想象成一个URL),它可以指出不同类型的数据,比如电话号码,电子邮件地址或网页。
我想我会制作像:
这样的表格然后我还有一个需要指向特定类型内容的链接表。
链接指向的内容随时间变化(时间X指向URL时间X + 1指向电话号码等等)
内容类型没有共同的字段,我不希望它们会出现(不确定这是否会有所不同)。
我被困在了将链接和内容类型挂钩在一起的好方法。
编辑:
内容类型有大量不相关的表。有些表可能有10个字段。
答案 0 :(得分:1)
创建一个父表(例如,称为“内容”),该表具有来自其他内容表的密钥。这样你就可以在其他地方引用一个表而不是几个不同的可能性。这避免了需要可空列。例如:
答案 1 :(得分:1)
当实体之间存在一些共同字段时,通常建议使用超类型/子类型,但在您的示例中,无论如何它都可能有用。
以下是类似问题答案的几个例子:
答案 2 :(得分:0)
看起来你想在那里有一个修订字段
create table contact
person_id
phone ..
email ..
url ..
updated_at
)
然后你可以从表中拉出
SELECT * FROM person JOIN contact ON ( person.id = contact.person_id ) ORDER BY contact.updated_at DESC LIMIT 1
-daniel