说你有三种不同类型的数据库实体它是一个很好的做法,同一列的多个表
COUNTRY (TABLE)
id | name | system_field (boolean)
时system_field=true
系统将不允许任何人删除该行。对于例如开箱系统提供了一些国家(如美国,英国等〜没人被允许删除)
同样
ROLE (TABLE)
id | name | system_field (boolean)
1 | Admin| true
2 |Role2 | false
没有人被允许删除一个角色,其中system_field
标志为真。这种限制/验证在应用程序级别。
对于其他类型的数据库实体,需要拥有这样的“system_field”,并且感觉像在许多表中重复使用system_field
列。请注意,这些db实体彼此不相关。有没有更好的方法来模拟这样一个列(system_field
),以便它可以很容易地用于将来的表格,而不需要ALTER
ing现有的表格添加system_field
布尔列?
这没有什么错。然而,我希望有一个更具描述性的名字,例如'is_system_generated'或'is_deleteable'(如果这是列的唯一目的)。 'system_field'可能意味着_anything_ –
@a_horse_with_no_name我完全同意。 –
另外,'system_field'是自引用的。 'system_tuple'或'system_row'至少会说些什么,但我同意可能有更好的名字。 –