【问题标题】:How to document an effective dated join如何记录有效的日期加入
【发布时间】:2012-05-18 14:43:50
【问题描述】:

我在使用有效日期联接的企业系统上工作。我试图弄清楚如何记录表之间的连接以帮助我进行查询。据我所知,这些信息不存在于表的索引或约束信息中。哪种数据库文档或工具最适合记录这些信息?

连接的一个例子是:

Table_A
Key_ID - Primary Key
Employee_ID
Position_ID
Effective_DT
Unique Key -> Employee_ID, Position_ID, Effective_DT

Table_B
Employee_ID
Position_ID
Effective_DT
Table_A_Key_ID
Unique Key -> Employee_ID, Position_ID, Effective_DT

Table_A_Key_ID 是 Table_A 的外键,不能为空。换句话说,Table_B 中的每条记录都需要 Table_A 中的相应记录,但反之则不然。要确定 Table_B 中的记录与 Table_A 中没有相应记录的记录相关,您需要获取小于 Table_A.Effective_DT 的最高有效日期记录。

【问题讨论】:

  • 图表工具不记录连接,而是记录表(实体)以及它们之间的关系。对于您的示例,只需创建一个视图——这会将您的联接“封装”到数据库对象中。阿洛斯看看stackoverflow.com/questions/10521401/…
  • 感谢指正。澄清我使用文档的主要目的是加快我从系统的一部分到另一部分的转换。例如,我可能在员工表上工作了几个月,突然收到一个请求,请求数据库的资格部分设置完全不同。到目前为止,我至少花了半天左右的时间才根据规范的编写情况来换档。你如何记录你的加入?顺便说一句,您是如何在另一篇文章中为执行计划创建该图的?
  • 这些图是 ERD 的实体关系图,如下所述。它们是使用我在下面提到的工具制作的。这些工具还允许您记录表的连接方式(即表之间的关系)。它们显示了基数,哪些是父表,哪些具有外键等。他的其他图表看起来像某些数据库在显示“解释计划”时提供的图表。因此,如果您所说的文档连接是“了解表是如何相关的”ERD 图表工具,他用来制作图表的工具就是您要寻找的。​​span>
  • @BillR 感谢您的澄清。我有免费版的 Toad,所以我来看看。
  • @tp9; DB GUI 就是这样做的。谷歌oracle graphical explain plan.

标签: database database-design join oracle11g


【解决方案1】:

ER modelling tool 将记录参照完整性,但它本身并不能帮助您记录您在客户端代码中执行的所有 JOIN(可能并非全部“位于”FK 之上)。

要么总是通过视图进行 JOIN(哪个 ER 工具应该帮助您记录),或者您需要为 JOIN 提供单独的文档。这可以是单独的文档,也可以嵌入在源级文档中(靠近实际启动 JOIN 的代码)。更喜欢第二个选项,因为维护代码的人在更新代码和对 JOIN 进行更改时更有可能更新文档。

【讨论】:

    【解决方案2】:
    • 蟾蜍数据建模器
    • erWin
    • Embarcadero

    如果您在企业工作并且他们愿意为一些真正的工具支付现金。否则,将 Visio 用于 ER 图和 MS Word 用于数据字典。并且在所有情况下都需要适量的肘部油脂。

    图片胜过千言万语……但你需要学习如何画出正确的图片。

    【讨论】:

      猜你喜欢
      • 2019-06-04
      • 1970-01-01
      • 2021-05-08
      • 1970-01-01
      • 2011-06-18
      • 2019-08-20
      • 1970-01-01
      • 1970-01-01
      • 2012-05-16
      相关资源
      最近更新 更多