0

我在介绍数据库课程中有一个作业到期 - 我被一件事难住了。我们已经为酒店创建了 5 个表 - Bookings、Clients、OtherCharges、Pays 和 Rooms。在 Clients 表中,我们有以下属性 - ClientID(PK)、FirstName(必需)、LastName(必需)、Birthdate、Street、City、Province、PostalCode、Phone(需要电话或电子邮件)、Email(电话或电子邮件是必需的),信用卡(必须不包含重复)。我已经在 Visio 中构建了我的 ERD(按照说明),并在我的 SQL 工作表中完成了我的所有 TABLE CREATE。我的问题有两个:A) 如何在 Visio 中表示电子邮件/电话要求?必需属性有一个复选框,但我不能同时检查它们,因为它们不是都必需的。是什么赋予了?B)我如何在我的 SQL 中处理它?它是 CHECK 约束吗?

任何帮助,将不胜感激。谢谢。

4

2 回答 2

1

如果您使用的是标准 Visio“数据库模型图”,则不能直接表示多列检查约束。对于第二个问题,是的,它是一个 CHECK 约束。

于 2011-01-31T01:47:36.380 回答
0

只需在数据库级别坚持电话和电子邮件的 varchar 即可。如果您想强制执行更复杂的验证,最好在应用程序级别实现它。

于 2011-01-31T01:45:57.457 回答