0

我的问题不是从数据库的角度提出的,而是从业务逻辑的角度提出的。

使用作为示例表 CreditCard 和列 CreditCardNumber。我可以为 CreditCardNumber 分配一个唯一索引,因为不可能有两个相同的 CreditCardNumber。但是,这不是商业规则吗?那么我是否应该在数据库中允许类似的 CreditCardNumber,并检查自己在业务逻辑层中的唯一性?

我对么?或者在这种情况下使用唯一索引有哪些优势?或者两种情况都是正确的,我可以选择任何人?

谢谢。

4

1 回答 1

0

应用程序层和数据库层都应该执行唯一的信用卡号(或任何其他类似规则)。

您在应用程序层测试唯一性,以便向用户提供反馈。例如,职员正在输入一个新的信用卡号码。您希望您的应用程序检查该号码是否已在数据库中,如果是,则提醒用户以便他们更正错误。

您希望在数据库级别强制使用唯一编号,以绝对确保不会为必须唯一的列创建重复条目。

于 2014-02-21T16:43:34.183 回答