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