我在这里可能是完全标准的,但我有一个表,其中包含重复值的记录,即People
和HairColour
. 我需要做的是创建另一个表,其中包含记录中的所有不同HairColour
值。Group
Person
IE
Name HairColour
--------------------
Sam Ginger
Julie Brown
Peter Brown
Caroline Blond
Andrew Blond
我的Person feature
观点需要列出不同的HairColours
:
HairColour Ginger
HairColour Brown
HairColour Blond
针对这些Person feature
行中的每一行,我记录了Recommended Products
.
从关系的角度来看,这有点奇怪,但有原因。Person Feature"
我可以在添加Person
记录时使用INSTEAD OF INSERT
视图上的触发器来构建视图。但它会变得混乱。另一种方法是Person Feature
基于表的 a 作为视图,然后链接到SELECT DISTINCT
该表。但是我在视图上没有主键,因为它是一个视图。我不会更新此视图。还需要考虑当记录消失时如何处理记录,因为它不是基于物理表的。Person
Recommended Products
Person Feature
SELECT DISTINCT
Person Recommendation
Person Feature
请问对此有什么想法吗?
编辑
我有一张 People 表,其中包含多个记录中 HairColour 的重复值,例如,不止一个人有金发。我需要创建一个表或视图来表示上述“HairColour”记录的不同列表。针对这些“HairColour”记录中的每一个,我需要链接另一个名为Product Recommendation
. 开始的主要问题是创建这个不同的记录列表。它应该是表还是基于SELECT DISTINCT
查询的视图?
所以Person
>- HairColour
(不同的表或不同的视图) -< Product Recommendation
。
如果HairColour
需要成为一个表,那么我需要确保每次Person
添加记录时它都有正确的记录。显然使用视图会自动执行此操作,但我不确定您是否可以将另一个表挂在视图上。