在SQL中,我们需要编写很多,多级连接。但问题是,我们现在不知道如何连接这些表?
例如,使用外键Table_A
引用Table_B
,Table_B
引用Table_C
。如何获得所有这些关系路线图?我们是否有免费的开源工具来获取任何两个表格之间的关系(如果适用)?
我更喜欢Java代码。
答案 0 :(得分:1)
您可以使用SQL Power Architect通过逆向工程数据库来获取数据模型。 Community Edition能够做到这一点。
答案 1 :(得分:1)
我或许你的意思是如何从元数据中获取外键。基本上,外键定义了重新绑定。
以下是如何从jdbc元数据获取外键的示例: http://www.java2s.com/Code/Java/Database-SQL-JDBC/GetForeignKeys.htm
此外,您可以使用hibernate工具将数据库反向工程到域实体。在哪里可以清楚地看到关系。
答案 2 :(得分:0)
java.sql.DatabaseMetaData接口公开有关数据库的元信息。具体来说,此方法公开了外键关系:
public ResultSet getCrossReference(String primaryCatalog,
String primarySchema,
String primaryTable,
String foreignCatalog,
String foreignSchema,
String foreignTable)
throws SQLException
Java doc:
检索给定外键表中引用给定主键表的主键列的外键列的描述(描述一个表如何导入另一个键的键)。这应该通常返回一个外键/主键对,因为大多数表只从表中导入一次外键。