【发布时间】:2010-11-07 03:19:22
【问题描述】:
是否可以从用户表到系统 表 视图建立关系?为了给出上下文,我希望我的一个表中的列的 values 被限制为我的另一个表的 column names,这似乎最容易做到通过浏览包含第二个表的列名的系统视图。
因此,使用经典示例,如果我有一个客户表 (FirstName LastName),我想创建另一个表,其中包含一个列“customerAttribute”,该列只能是“FirstName”或“LastName”。为了保持这种动态,如果“customerAttribute”列实际上是系统视图中的一个外键,它存储了 Customer 表中列的名称,那就太好了;这样,在实际的客户表中添加、删除和重命名列时,我不必担心数据完整性问题。
我没有看到在 SQL Server 中创建这种关系的简单方法,所以我想知道弄乱/创建与系统表和/或视图的关系是否是一个主要的禁忌。
谢谢!
附:我问这个问题是为了帮助我解决 another problem 我在 SO 上发布的问题。
编辑:即使您不能直接与系统视图建立关系,也许您可以创建一个视图,将查询返回到系统视图(以获取列名),然后与该视图建立关系......我现在就试试。
【问题讨论】:
-
我希望我永远不必在这样设计的系统上工作。
-
你可以,但我不知道它是否合法;)抱歉无法抗拒
标签: database-design sql-server-2008 system-views