三元关系的一个更好的例子
这样的表来描述二元关系
在 SQL 中,您可以使用像Husband | 。妻子
我们知道一个丈夫只能有一个妻子,反之亦然,所以这是一种 1:1 的关系,并且您可以指定约束条件,这样如果您添加一个已经在表中的丈夫,您会得到一个错误,对吧?
的第三列
如果您添加像这样 妻子|国家
我们知道,在某些国家,一个丈夫可以拥有多个妻子;在某些国家,一个丈夫可以拥有多个妻子;在某些国家,一个丈夫可以拥有多个妻子。现在你不能放置简单的约束,你必须处理第三列。
因此,从二元关系中,我们得到了具有不同行为的三元关系,该三元关系取决于第三列。
这个例子既愚蠢又无用,你还知道其他例子吗? (三元关系的另一个例子,其中一列改变了元组的行为?)
谢谢。
编辑: 从另一个角度来看我的问题:
在一个域内,您有任何二元关系:您是否知道随着域的变化而改变约束(或行为)的任何二元关系?
In SQL you can describe a binary relation with a table like
Husband | Wife
We know that an husband can have only one wife, and viceversa, so that's a 1:1 relationship, and you can specify costraints such that if you add an husband that is already in the table you get an error, right?
If you add a third column like this
Husband | Wife | Country
We know that in some country one husband can have many wives; now you cannot put easy costraints, you have to deal with the third column.
So from a binary relation we get a ternary relation with different behavior that depends on the third column.
This example is stupid and useless, do you know any other example?
(other example of ternary relationship such that one of the column changes the tuple behavior?)
Thank you.
EDIT:
Another point of view to see my problem:
You have any binary relationship, within a domain: do you know any binary relation that changes costraints (or behavior) as domain changes?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
另一个示例可能是您可以对订单应用优惠券,但对于某些优惠券类型,每个订单只能应用一张优惠券,而其他优惠券类型可以组合使用。
Another example might be that you can apply coupons towards an order, but for certain coupon types you can only apply one per order whereas other coupon types may be combined.