0
我正在使用可以基于数据库创建数据仓库的脚本。为了确定所有的集线器,我需要一个查询给我链接表的名字(多对多)。信息架构,如何检索链接表
什么是做到这一点的最好办法:
找到代理键还是我来分析,他们来自哪里,他们去了关系?
感谢您在afvanced
我正在使用可以基于数据库创建数据仓库的脚本。为了确定所有的集线器,我需要一个查询给我链接表的名字(多对多)。信息架构,如何检索链接表
什么是做到这一点的最好办法:
找到代理键还是我来分析,他们来自哪里,他们去了关系?
感谢您在afvanced
在一个多到很多,你可以外键的存在数。你不能指望代理键的存在。
最起码,我想你会需要确定有
有至少两个一起对其他表具有外键引用的列。
如果您的平台支持information_schema视图,则可能需要查看其中的一个或多个视图。
我想这会给你在PostgreSQL的复合主键的表。可能会帮助你开始。
select t.constraint_name, t.table_name, count(*) num_key_columns
from information_schema.table_constraints t
inner join information_schema.key_column_usage k
on (t.constraint_name = k.constraint_name)
where t.constraint_type = 'PRIMARY KEY' or t.constraint_type = 'UNIQUE'
group by t.constraint_name, t.table_name
having count(*) >= 2;
(如果我这样做,我会创建一个从该查询视图。另为外键引用。加入他们应该是死的简单。)