没有关系的数据库表

时间:2018-06-08 14:59:02

标签: database database-design relational-database

在表之间创建没有关系的数据库是一件好事吗?

这样做有什么问题吗?我必须设计一个包含历史事件,体育赛事,环境数据等的数据库,但我可以将它们只放在一个数据库中吗?

2 个答案:

答案 0 :(得分:0)

创建一个表格没有关系的数据库是一件好事吗? 当然,如果你没有/需要建立关系(示例表用户和表StarsInTheSky)

我必须设计一个包含一些历史事件,体育赛事,环境数据和其他内容的数据库,但是我可以将它们只放在一个数据库中吗?

可能你在谈论只将数据放在一个表中;在我看来你应该考虑规范化: 开始在纸上写下你独特的桌子和第一排(用你的想象力)。 问自己:“我在写的行中重复了一些数据吗?”

EX:

姓名 - 姓氏 - 出生日期 - 地址

Paul - Allen - 01/11/1957 - 21 Baker Street NY

保罗 - 艾伦 - 01/11/1957 - 66 Mullholland Drive LosAngeles

正如您在此处所见,您可以在两个不同的表格中将地址与个人数据相关联。 问自己:“我是否使用不负责任的栏目(字段)?

EX:

姓名 - 姓氏 - 出生日期 - 电话1 - 电话2

保罗 - 艾伦 - 01/11/1957 - 25412255 - null

如果其他用户有3个或4个电话号码怎么办?

将用户数据与电话表相关联。

编辑:是否使用单个数据库? AFAIK程序需要及时发展和实施,也许有一天你需要建立一些关系,所以如果你使用每个程序的单个数据库,无论你有多少个表,如果它们是否相关,那么最好保持未来的工作你可以这么简单:)

答案 1 :(得分:0)

在你的情况下(正如你在评论中所说,它是历史表的),在父表和子表之间没有明确的关系不是一个问题,如:

  • 您不会需要独特的约束
  • 你不需要删除孤儿(如果它是历史表,你想保留所有数据,不是吗?)

如果对此历史记录表的请求是独立于父级的(例如,使用的任何ORM),请确保在父级id列中有一个索引,以便能够轻松检索链接到父级的所有数据。 / p>