【发布时间】:2012-02-17 23:00:18
【问题描述】:
我正在处理一个包含汽车和所有者的表(表CO)。我正在创建另一个表来包含所有者的属性(表OwnerAttributes),用户可以通过 GUI 分配该属性。我的问题在于所有者不是唯一的,因为我使用的是 SQL Server,所以我无法在它们上创建外键。表中有一个id,但它标识了汽车和车主作为一个整体。
我必须解决这个问题的想法是创建一个包含不同所有者的新表(表Owners),然后向表CO 添加一个触发器,该触发器将更新Owners 的任何更改。然后我可以将表 Owners 用于我的 OwnerAttributes 表并解决我的问题。
我想回答的问题是是否有更好的方法来做到这一点?
我正在使用一个预先存在的数据库,该数据库被旧应用程序大量使用。该应用程序连接到使用表CO 供车主和汽车使用。还有其他几个使用CO 表的表。我希望我可以将表格拆分为Owners 和Cars,但公司不希望我把所有时间都花在这上面,因为我需要向应用程序添加更多功能。
【问题讨论】:
-
听起来您正在使用实体属性值模式设计 [OwnerAttribute] 表。也许在这里阅读有关这种方法的优缺点:stackoverflow.com/questions/870808/…
-
我也写了一篇关于它的博客文章。不确定它是否与操作相关,但对于任何搜索 EAV 的人来说可能值得一看(尤其是随后的讨论):sqlblog.com/blogs/aaron_bertrand/archive/2009/11/19/…
标签: sql sql-server-2008