Sql server SQL Server中的可选关系--如何在SSMS架构设计器中实现

Sql server SQL Server中的可选关系--如何在SSMS架构设计器中实现,sql-server,ssms,database-schema,relationships,table-relationships,Sql Server,Ssms,Database Schema,Relationships,Table Relationships,我有两种情况需要在一个表内或两个表之间设置“可选”关系 第一: 我想将这个关系设置为可选的,换句话说:在一个表中有类别和子类别,所以子类别列只是可选的 第二: 在这里,我想确保房子不能没有成员(强制关系),但成员可以没有任何房子(可选关系) 我没有任何使用Microsoft SQL Server的经验,也不知道如何修改这些关系 以下是Oracle图表中的最终结果: 如果您想知道如何在SQL Management Studio中的模式设计器(DB图)中实现这一点,很简单:- 右键单击digra

我有两种情况需要在一个表内或两个表之间设置“可选”关系

第一:

我想将这个关系设置为可选的,换句话说:在一个表中有类别和子类别,所以子类别列只是可选的

第二:

在这里,我想确保房子不能没有成员(强制关系),但成员可以没有任何房子(可选关系)

我没有任何使用Microsoft SQL Server的经验,也不知道如何修改这些关系

以下是Oracle图表中的最终结果:


如果您想知道如何在SQL Management Studio中的模式设计器(DB图)中实现这一点,很简单:-

  • 右键单击digram中的表格,选择“表格视图”->“标准”
  • 在“允许空值”列中,将可选外键设置为“允许空值”
  • 按Ctl+S将更新保存到架构
  • 有关设计器中选定对象(列、表、FK等)的其他详细信息可通过查看“属性”窗口(通常位于屏幕右侧)获得。例如,以下是示例中
    subcat
    列的属性:


    只需将可选的FK列设置为NULL,将强制的FK列设置为NULL即可。@TabAlleman我想他已经知道了——从那些Oracle图表中,我认为红星表示字段不为NULL,因此缺少星号将是NULL。我不知道Oracle,但如果他已经知道了,那么还缺少什么?@Gregy-我猜您已经使用SQL Server designer创建了此架构,您正在询问如何使用它在设计器中将可选外键关系设置为非空?要创建图表,我使用了Microsoft SQL Server Management Studio。最后一个来自Oracle环境中的我的数据库。我认为您将FK设置为非空是正确的,我只是因为视觉关系线表示而感到困惑。您是100%正确的,我以完全相同的方式进行了设置,但我认为我错过了一些东西,因为关系可视化。在创建DB图时,只有列名出现在默认视图中,这有点奇怪(至少这是我的经验)。如果显示标准视图会更容易。非常感谢您的支持:)