【发布时间】: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