首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >更改数据的数据库设计

更改数据的数据库设计
EN

Database Administration用户
提问于 2016-06-15 08:44:37
回答 1查看 79关注 0票数 0

我试图设计一个数据库来存储有关实体的信息。这个实体将经历5-6个阶段.在每一个阶段,都可能发生一些财产修改。必须在每一阶段都能接触到实体的状态。此外,每个阶段都将有一些额外的属性,对于当前阶段是唯一的。

我想知道怎样才是设计桌子的最佳方法。我想在每个阶段都有一个单独的表(但是这些表的结构和结构在所有阶段都是一样的)。另外,对于每个阶段表,我将能够创建关系表。

唯一困扰我的是这个设计,我将有5-6个表,具有相同的结构。另一方面,如果我将所有的阶段放在一个表中,并有一个列来决定这个阶段,那么我就找不到在每个阶段创建关系表的方法。

有什么想法吗?

EN

回答 1

Database Administration用户

发布于 2016-06-15 08:51:36

一般有两种办法:

  • 将所有内容存储在一个表中,并带有时间戳/版本号。
  • 将当前版本存储在一个表中,并为旧版本提供存档表。

第一种方法在数据仓库中很有意义,而第二种方法允许应用程序变得更容易(只要它们不关心历史数据)。存档表可以通过触发器实现自动化。

每个状态只有一个表是最糟糕的,这使得应用程序的开发非常糟糕,特别是当您添加临时状态时,必须重新处理所有的应用程序。这也会使指称完整性变得痛苦。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/141269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档