
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的人都在学习数据库架构技术,而今天我们就通过案例分析来了解一下,数据库架构约束类型都有哪些。
非空约束
如果业务规则要求该属性应该始终存在,那么要毫不犹豫地将其设置为NotNull。适合设置为NotNull的字段有Id、Name、AddedDate、IsActive、State、CategoryId(如果所有项都应该有一个类别)、ItemCount、Price以及许多其他字段。通常,这些属性在业务逻辑中扮演重要角色。其他可选的信息字段可能还是可以设置为Null。
但是要注意,不要对可以为空的属性使用NotNull约束。例如,一个长时间运行的任务总有一个StartTimestamp(NotNull),但是只有在任务完成时才更新EndTimestamp(Null)。
默认约束
默认约束也很重要。它们允许我们向现有表中添加新的NotNull列,并使“旧”API与新结构兼容,直到所有各方都完成升级(尽管在完全升级后,默认约束应该删除)。
这里要记住一点。不要在默认约束中编写业务逻辑。例如,函数“now()”可能很适合(尽管不总是)作为日志表中的时间戳字段的默认值,但不适合Orders表的OrderDate字段。你可能会倾向于在插入语句中省略OrderDate,而依赖于默认约束,但这意味着将业务逻辑扩展到数据库层。
此外,在某些情况下,业务可能只在订单批准后才给OrderDate赋值,因为默认约束深埋在数据库中,所以,当我们对应用层的代码进行更改时,它不会那么明显。
外键约束
外键约束是关系数据库设计之王。外键与主键一起确保表之间的数据一致性。规范化规则告诉我们何时将数据提取到表中并使用外键引用它。这里我们将关注细节差别,比如OnDelete和OnUpdate规则。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。