最佳数据库结构

时间:2016-07-20 18:26:58

标签: mysql sql database database-design relational-database

我正在为当地酿酒厂开发一个生产控制应用程序,我遇到了构建数据库的问题。

核心功能是用户创建精神类型的能力,这些类型都具有相关的生产过程。每个过程可以有多个步骤。有7种不同类型的步骤。

当用户创建某种精神的“批处理”时,将选择精神类型,并且在定义的生产过程之后将向用户呈现“向导”。在每个步骤中,用户将输入与该步骤相关的信息。

我想出的是这种多对多的关系:

spirits (spirit types)
- id
- name

steps (steps in the production process)
- spirit_id
- state_id

states (names of all possible steps)
- id
- name

虽然这有助于创建精神类型,但在填写数据方面却缺乏。由于生产过程步骤中的每个步骤都采用不同的数据:

distillation
- abv
- mass

dilution
- abv
- water

filtration
- density
- volume

这种应用的最佳结构是什么?

1 个答案:

答案 0 :(得分:1)

对我来说,你应该使用一些表来管理进程和stess之间的主/细节关系..这与类似的步骤类别相关

activity (class of steps in the production process)
 - activity_id 
 - name

process_phase  (master table for process steps)
 - process_phase_id
 - description 
 - activity_id
 - spirit_id

process_phase_detail  (detail table for process step )
 - process_phase_id
 - detail_id
 - state_id

PS - 数据建模(没有严格的规范)是一个基于意见的领域..