哪种方法更好地设计方法1或方法2,我必须维护所有语言的标题字段。
方法1:
heads (table)
- id
- status
- created_at
- updated_at
heads_metadatas (table)
- id
- head_id
- language_id
- title
方法2:
heads (table)
- id
- language_id
- title
- status
- created_at
- updated_at
答案 0 :(得分:1)
根据您在评论中所说的,方法1是唯一的选择:
实际上,如果您尝试方法2,则您的主键是id + language_id的组合,并且冒着某天某人将在两个记录中指向同一头的每条记录中创建不同状态的风险
我个人认为创建日期,状态等是元数据,所以我认为您实体的命名不是很好-我可能会有heads
和head_translations
。
注意:我还要在两个表上设置一个创建/更新(如果您是软删除,则将其删除)日期。