sql - 数据库架构中的枚举类型

标签 sql database database-design database-schema

这可能是一个基本的数据库问题,但我更习惯于使用对象而不是表格。假设我有一个属性为“流派”的对象“电影”。应使用枚举类型来限制类型(例如,唯一有效的类型是恐怖、 Action 、喜剧、戏剧)。这应该如何转换为数据库模式?

  • 我可以在 Movies 表中放置一个“流派”列并依靠检查输入来确保“流派”分配有效吗?
  • 或者,我可以包含一个带有预填充行的流派表,然后在电影表中包含一个带有流派表外键的列?

我倾向于第一个选项,但是否存在陷阱/等等。我没有考虑?

最佳答案

我倾向于使用查找表,这是您的第二个选择。我喜欢这个的原因是我可以通过向 Genres 表中添加一行来添加新的流派。无需修改代码或修改架构中的枚举定义。

另请参阅我对 How to handle enumerations without enum fields in a database? 的回答

关于sql - 数据库架构中的枚举类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21102383/

相关文章:

sql - 根据条件将数据从一个表传输到另一个表

c# - 为什么我计算行数的原始查询总是返回 -1?

php - 字符串中具有特殊字符的 Laravel 种子数据库

database - 将用户配置文件表与登录详细信息表分开是否有意义

sql - 如何使用 GO-MSSQLDB 驱动程序获取最后插入的 ID?

php - Mysql根据单个列的唯一值限制返回结果的数量

php - 平表到 TreeView

database - Django 保持统计数据是最新的

sql-server - 需要学校数据库设计

mysql - 无法找出正确的数据库设计