假设你是GM dba,你必须围绕GM模型进行设计
这样做会更好吗?
table_model
类型{凯迪拉克,土星,雪佛兰}
或这个?
table_cadillac_model
table_saturn_model
table_chevrolet_model
假设业务线对于模型具有相同的列,并且每个子类型有超过一百万条记录.
编辑:
有很多CRUD
有很多处理器密集型报告
在任一模式中,都有一个model_detail表,每个模型包含3-5条记录,每个模型的详细信息不同(您无法将凯迪拉克细节添加到土星模型中)
开发团队对数据库复杂性没有任何问题
我不确定这是一个标准化问题.即使结构相同,它们也可能被认为是不同的实体.
编辑:
将结构划分为多个表的原因 - 业务线可能有不同的业务规则 - 每个业务线的addModelDetail()可能不同(即使数据格式相同) - 高添加/更新活动 - 更好的分区性能结构而不是单一结构(我猜这里不确定)?
我认为这是EAV问题的变种.当作为EAV设计时,单表结构通常被投票为坏主意.当以这种方式提出时,单表格结构通常被投票为一个好主意.有趣...
我认为最有趣的答案是有两种不同的结构 - 一种用于crud,另一种用于报告.我想我会尝试用于报告的连接/展平视图和用于crud的多个表,看看它是如何工作的.
绝对是前一个例子.在向产品系列添加新模型时,是否要将表添加到数据库中?