Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.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
如何通过查询识别SQL Server中的1-1、1-M和M-N关系?_Sql_Sql Server_Tsql_Orm_Relationship - Fatal编程技术网

如何通过查询识别SQL Server中的1-1、1-M和M-N关系?

如何通过查询识别SQL Server中的1-1、1-M和M-N关系?,sql,sql-server,tsql,orm,relationship,Sql,Sql Server,Tsql,Orm,Relationship,我有一个这样的问题 SELECT RC.CONSTRAINT_NAME FKName, KF.TABLE_SCHEMA FKSchema, KF.TABLE_NAME FKTable, KF.COLUMN_NAME FKColumn, RC.UNIQUE_CONSTRAINT_NAME PKName, KP.TABLE_SCHEMA PKSchema, KP.TABLE_NAME PKTable, KP.COLUMN_NAM

我有一个这样的问题

SELECT 
    RC.CONSTRAINT_NAME FKName, 
    KF.TABLE_SCHEMA FKSchema,
    KF.TABLE_NAME FKTable, 
    KF.COLUMN_NAME FKColumn,
    RC.UNIQUE_CONSTRAINT_NAME PKName,
    KP.TABLE_SCHEMA PKSchema,
    KP.TABLE_NAME PKTable, 
    KP.COLUMN_NAME PKColumn, 
    RC.MATCH_OPTION MatchOption, 
    RC.UPDATE_RULE UpdateRule,
    RC.DELETE_RULE DeleteRule
FROM
    [INFORMATION_SCHEMA].[REFERENTIAL_CONSTRAINTS] RC
JOIN 
    [INFORMATION_SCHEMA].[KEY_COLUMN_USAGE] KF ON RC.CONSTRAINT_NAME = KF.CONSTRAINT_NAME
JOIN 
    [INFORMATION_SCHEMA].[KEY_COLUMN_USAGE] KP ON RC.UNIQUE_CONSTRAINT_NAME = KP.CONSTRAINT_NAME
其结果如下:

FK_Person_Address   dbo Person  Id  PK_Address  dbo Address Id  SIMPLE  NO ACTION   NO ACTION --[1-1] or [1-M] or [M-N] I need this!
我想将每行1-1或1-M中的关系类型识别为具有关系状态的列

[1-1]或[1-M]或[M-N]我需要这个

有人能指引我吗

编辑:


我为什么问这个问题?所以我看到一些visual studio扩展,比如,可以将表反转为C#POCO,这样它们就必须知道关系状态1-1或1-M或M-N,才能将导航属性生成为单个类或类列表,还可以创建EntityTypeConfiguration以进行映射,所以它们如何从SQL server表中获取这些信息?如果我们不知道表之间的关系,那么我们就不能将它们转换为C类

对于1-1关系:引用的表中有带外键约束的唯一关键字


对于M-1关系:引用表中没有带外键约束的唯一关键字。

您的答案不是SQL;它不必全戴帽子。请遵守英语拼写、语法、标点符号和大写字母的标准规则。您无法通过单个查询确定关系的基数-您需要查看表结构、表的链接方式以及所涉及的列的定义。是,这些工具通过查看表结构了解关系的基数!你有什么样品我认不出你的描述吗?如何查看表格结构?使用哪种技术或查询?有包含该信息的系统表。