课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
约束是程序员在开发数据库的时候需要经常用到的一个功能,下面我们就通过案例分析来了解一下,数据库架构约束都有哪些常见类型。
非空约束
如果业务规则要求该属性应该始终存在,那么要毫不犹豫地将其设置为NotNull。适合设置为NotNull的字段有Id、Name、AddedDate、IsActive、State、CategoryId(如果所有项都应该有一个类别)、ItemCount、Price以及许多其他字段。通常,这些属性在业务逻辑中扮演重要角色。其他可选的信息字段可能还是可以设置为Null。
但是要注意,不要对可以为空的属性使用NotNull约束。例如,一个长时间运行的任务总有一个StartTimestamp(NotNull),但是只有在任务完成时才更新EndTimestamp(Null)。
Check约束
Check约束允许我们定义数据的有效值/范围。适合Check约束的属性有百分比(0到100之间)、状态(0、1、2)、价格、金额、总数(大于或等于0)、PinNumber(固定长度)等。
默认约束
默认约束也很重要。它们允许我们向现有表中添加新的NotNull列,并使“旧”API与新结构兼容,直到所有各方都完成升级(尽管在完全升级后,默认约束应该删除)。
这里要记住一点。不要在默认约束中编写业务逻辑。例如,函数“now()”可能很适合(尽管不总是)作为日志表中的时间戳字段的默认值,但不适合Orders表的OrderDate字段。你可能会倾向于在插入语句中省略OrderDate,而依赖于默认约束,但这意味着将业务逻辑扩展到数据库层。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。