我们如何确定两个SQL Server表之间的关系,无论是一对一还是其他关系...?

3

我们如何确定两个SQL Server表之间的关系,无论是一对一还是其他关系.....?


2
查看外键? - domdomcodecode
3个回答

1

您可以使用 Microsoft 系统视图来实现此目的:

SELECT  
    obj.name AS fk
    ,sch.name AS [schema_name]
    ,tabParent.name AS [table]
    ,colParent.name AS [column]
    ,tabRef.name AS [referenced_table]
    ,colRef.name AS [referenced_column]
FROM sys.foreign_key_columns fkc
JOIN sys.objects obj ON obj.object_id = fkc.constraint_object_id
JOIN sys.tables tabParent ON tabParent.object_id = fkc.parent_object_id
JOIN sys.schemas sch ON tabParent.schema_id = sch.schema_id
JOIN sys.columns colParent ON colParent.column_id = parent_column_id AND colParent.object_id = tabParent.object_id
JOIN sys.tables tabRef ON tabRef.object_id = fkc.referenced_object_id
JOIN sys.columns colRef ON colRef.column_id = referenced_column_id AND colRef.object_id = tabRef.object_id
JOIN sys.schemas schRef ON tabRef.schema_id = schRef.schema_id
WHERE schRef.name = N'dbo'
AND tabRef.name = N'Projects'

可以通过引用的表或列来过滤此查询,或者只是查找引用特定列的所有内容。

1
在SQL Server中,在您的数据库中创建一个新视图,添加您想要查看关系的两个表。

enter image description here


设计师很邪恶。 - Alec.

1
如果你想检查与该表连接的所有表,只需右键单击该表并转到“查看依赖项”。 View dependencies of a table 然后找出来。您可以通过检查该表的创建查询来检查所有约束条件。

check all table label constraints in its query

我认为它会帮助你。谢谢。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接