我们正在设计一个新的数据库,我想在哪里输入像默认值这样的东西.有3种情况:
1:新值,created_date字段.进行插入时,列是否应该具有默认值?
2:更新值,updated_date fiels.我一直在考虑实现一个触发器,将其设置为getdate(),其他选项在代码中.
3:country_name与country_name,我们应该直接在表上强制执行唯一约束还是确保代码执行此操作?
并且最后一点主题,但我们在每个表中都有一个updated_by和created_by(int)引用user表中的user_id.是否值得努力实现这个fk.对所有表格的约束?
我的最佳做法:
对于创建/上次更新的日期,它取决于您是否要将它们用作业务逻辑的一部分 - 如果它们仅用于审计,则在数据库上使用时间戳.如果您有可能希望将它们公开为业务属性,则应在代码中分配它们.
唯一约束 - 我在数据库和代码中实现它们.这是备份验证规则的数据库的示例,在两个地方都定义它们并没有什么坏处.代码定义应该捕获并处理它们,但是在代码无法捕获某些东西的情况下,您希望具有约束的安全网保持数据不被破坏.