清水寒烟 发表于 2023-9-14 12:04:16

SQL Server数据库中的枚举

除了简单地为每个枚举创建搜索表(Id,除了列出代码和名称之外,是否有更好或更简单的方法来列举(在C#存储在编程语言中的枚举等SQL
Server在数据库中,而不是为每个枚举创建一个搜索表(特别是当有枚举时)?我发现有一篇文章建议只为所有枚举创建一个搜索表,有些人批评这种方法违反了引用数据的完整性,所以有些人批评这种方法。如果枚举仅用于一个表,使用一些预定义的代码并添加约束(是否使用扩展属性)是一个好习惯吗?
                                                               
    解决方案:                                                               
                                                                就个人而言,我喜欢为每个枚举定义一个搜索表,因为它也是一个文档。如果有人想知道id他会很容易地在表中找到它代表什么。在列约束中找到这些信息并不明显。
在表中添加新值比在约束中添加新值容易得多。
如果创建数据库图,单个搜索表看起来更合乎逻辑。
如有必要,你可以ID在每个搜索表中添加文本以外的其他信息(如注释、排序列、某些标记等)。
正如你所说,参考完整性更好
但是; 如果您优先使用代码o / r-mapper,使用编程语言提供的枚举会很自然。这是因为你不是在设计数据库,而是在设计对象模型。o /
r-mapper自动为您创建数据库。
页: [1]
查看完整版本: SQL Server数据库中的枚举