我在 SQL Server 2008 上有一个带有数据库的 Web 应用程序。我正在分析给定应用程序的 ER 模型。
有一个表“Table1”,其中包含“ContactType”和“ContactID”列。基于 ContactType 值“ContactID”指向不同的表(Table_ContactType1 或 Table_ContactType2)。
所以,在这种情况下,我们不能定义外键。我想知道这是不是一个好习惯?如果没有,我应该以某种方式改变模型吗?如果没有定义外键,以后会不会出现一些问题?
编辑: 现在很难将 ContactType1 和 ContactType2 表合并到一个表中。因为 CotnactType1 是一个之前使用过的表,它包含有权访问系统的用户(登录名和密码、电子邮件和其他信息)。IT 是一个包含许多字段的表。不幸的是,新的需求来了,并且创建了新的表 ContactType2。该表只有三列,它们是组织名称,对系统没有任何访问权限。将它们组合起来非常困难,因为它会影响很多功能。最简单的事情 - 当添加到 contacttype1 表的联系人时,电子邮件、用户名、密码不能为空等。但还有很多其他的。