Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用TSQL获取SQL Server中两个表之间关系的基数?_Sql_Sql Server_Tsql - Fatal编程技术网

如何使用TSQL获取SQL Server中两个表之间关系的基数?

如何使用TSQL获取SQL Server中两个表之间关系的基数?,sql,sql-server,tsql,Sql,Sql Server,Tsql,我使用以下代码获取所有表,这些表在where子句中具有表的外键,在本例中,该子句是SolutionUser: select (select name from sys.tables where object_id = fk.parent_object_id) Name from sys.foreign_keys fk left outer join sys.tables st on fk.referenced_object_id = st.objec

我使用以下代码获取所有表,这些表在
where
子句中具有表的外键,在本例中,该子句是
SolutionUser

select 
    (select name from sys.tables 
     where object_id = fk.parent_object_id) Name 
from 
    sys.foreign_keys fk 
left outer join 
    sys.tables st on fk.referenced_object_id = st.object_id   
where 
    st.name='SolutionUser'
我无法实现的是获得这些关系的基数(一对一、一对多)


是否可以使用T-SQL获取这些基数?

这是一个概念性主题。您无法使用架构甚至数据来发现问题。

我想您可以检查引用端是否存在唯一约束。如果表a到表B之间有外键,则强制要求B中必须存在匹配的(主(“一”)记录,然后才有记录(事务-“多”)可以存在于A中。所以它表示从A到B的多对多。但它仍然可以是一对一。B端不能是零或一