这可能是一个基本的数据库问题,但我更习惯于使用对象而不是表格。假设我有一个属性为“流派”的对象“电影”。应使用枚举类型来限制类型(例如,唯一有效的类型是恐怖、 Action 、喜剧、戏剧)。这应该如何转换为数据库模式?
- 我可以在 Movies 表中放置一个“流派”列并依靠检查输入来确保“流派”分配有效吗?
- 或者,我可以包含一个带有预填充行的流派表,然后在电影表中包含一个带有流派表外键的列?
我倾向于第一个选项,但是否存在陷阱/等等。我没有考虑?
最佳答案
我倾向于使用查找表,这是您的第二个选择。我喜欢这个的原因是我可以通过向 Genres 表中添加一行来添加新的流派。无需修改代码或修改架构中的枚举定义。
另请参阅我对 How to handle enumerations without enum fields in a database? 的回答
关于sql - 数据库架构中的枚举类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21102383/