如何记录有效的过时加入

时间:2012-05-10 03:09:18

标签: database database-design join oracle11g

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

联接的一个例子是:

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中的外键,不能为null。换句话说,Table_B中的每个记录都需要Table_A中的相应记录,但反之则不然。要确定Table_B中与Table_A中没有相应记录的记录相关的记录,您需要获取小于Table_A.Effective_DT的最高有效日期记录。

2 个答案:

答案 0 :(得分:0)

  • toad data modeler
  • 欧文
  • Embarcadero的

如果您在企业中工作,他们愿意为现实工具分配现金。否则,使用Visio作为ER图和MS Word作为数据字典的组合。并且在所有情况下都有健康的肘部油脂。

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

答案 1 :(得分:0)

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

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

相关问题