Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database design 用相似的表格设计_Database Design - Fatal编程技术网

Database design 用相似的表格设计

Database design 用相似的表格设计,database-design,Database Design,我正在建立一个表示不同类型内容的数据库。我有一个链接(可以把它想象成一个URL),可以随着时间的推移指向不同类型的数据,比如电话号码、电子邮件地址或网页 我想我会制作如下表格: 内容电话 内容和电子邮件 内容url 我还有一个链接表,需要指向特定类型的内容 链接可以指向的内容随时间而变化(时间X它指向URL时间X+1它指向电话号码等) 内容类型没有共同的字段,我也不希望它们会有共同的字段(不确定这是否会有区别) 我一直在寻找一种将链接和内容类型连接在一起的好方法 编辑: 内容类型有大量不相关

我正在建立一个表示不同类型内容的数据库。我有一个链接(可以把它想象成一个URL),可以随着时间的推移指向不同类型的数据,比如电话号码、电子邮件地址或网页

我想我会制作如下表格:

  • 内容电话
  • 内容和电子邮件
  • 内容url
我还有一个链接表,需要指向特定类型的内容

链接可以指向的内容随时间而变化(时间X它指向URL时间X+1它指向电话号码等)

内容类型没有共同的字段,我也不希望它们会有共同的字段(不确定这是否会有区别)

我一直在寻找一种将链接和内容类型连接在一起的好方法

编辑:


内容类型有大量不相关的表。有些表可能有10个字段。

看起来您希望在其中有一个修订字段

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

创建一个父表(例如称为“内容”),该表具有来自其他内容表的键。这样,您就可以在其他地方引用该表,而不是引用多个不同的可能性。这避免了需要可为空的列。例如:


当实体之间存在一些公共字段时,通常建议使用超级类型/子类型,但在您的示例中,它可能还是有用的

以下是一些类似问题和答案的示例:


不过我并不真的想要所有的空值。。。此外,它也不是真正的联系信息,可能有一些东西,比如说,牌照或地理位置(对于讨论的目的来说,这并不重要)。