我有一个客户表,通过中间CustomerAddress表链接到地址表。这意味着客户可以拥有许多地址,并且地址可以拥有许多客户。 (这是必要的,因为我们将配偶和子女作为单独的顾客处理,并且每个人都可以有送货,工作,账单和其他地址)。复杂检查约束?
我希望客户能够指定首选地址。
我的想法是在客户表中创建一个链接到CustomerAddress记录的新列。
我的问题是 - 如何确保选定的首选地址是客户地址之一?
我的想法是在customers.preferredAddress字段上设置Check约束,该字段检查给定的CustomerAddress以查看记录的客户ID是否与正在更新的客户匹配。
这可能吗?我只用过CHECK约束检查一样简单的东西(值> 0)等
感谢您的帮助
为什么在顾客桌上?客户地址记录上的新列是“首选地址”,并且是一个简单的y/n(或位)来定义yes或no(或null为否)?如果它位于customeraddress表上,则强制执行它是客户地址之一的关系。 – Twelfth
但是,我怎么能阻止一个客户有多个首选地址? –