我的intro数据库类中有一个作业 - 我被一件事困扰了。我们已经为酒店创建了5张桌子 - 预订,客户,其他收费,付款和客房。在Clients表中,我们有以下属性 - ClientID(PK),FirstName(必需),LastName(必填),Birthdate,Street,City,Province,PostalCode,Phone(需要电话或电子邮件),电子邮件(电话)或电子邮件是必需的),CreditCard(必须不包含重复项)。我在Visio中构建了我的ERD(按照指示),并在我的SQL工作表中完成了所有的TABLE CREATE。我的问题是双重的: A)如何表示Visio中的电子邮件/电话要求?有一个必需属性的复选框,但我无法检查它们,因为它们不是必需的。是什么赋予了? B)我如何在SQL中处理它?它是CHECK约束吗?
任何帮助将不胜感激。感谢。
答案 0 :(得分:1)
如果您使用的是标准Visio“数据库模型图”,则无法直接表示多列检查构造。对于第二个问题,是的,这是一个CHECK约束。
答案 1 :(得分:0)
在数据库级别坚持使用varchar手机和电子邮件。如果要强制执行更复杂的验证,最好在应用程序级别实现它。