数据库设计建议

时间:2015-10-02 05:15:55

标签: database-design yii

在线研究后,我提出了以下数据库表。以下是一些有助于我的方法的信息。我将使用Yii Framework进行开发。

  1. 每辆车都有多种服务类型。

  2. 每辆车都有自己的一系列检查清单问题,每次服务后都要回答。

  3. 有一个主要的检查表,包含所有可能的问题。

  4. 我想知道在开始开发之前是否有更好的解决方案或其他修改。此外,如果你做了类似的事情,我真的很感激你的意见。

    TABLE vehicle
      id
      make_id
    
    TABLE service
      id
      vehicle_id
      schedule_date
    
    TABLE checklist
      id
      question (text)
      type_id  (some are check-boxes, some are drop-downs)
    
    TABLE checklist_set (user who requests the service, must also select related checks from check-list)
      id
      vehicle_id
      checklist_question_id
    
    TABLE checklist_response (table to hold all answers)
      id
      service_id
      checklist_question_id
      answer (selected value from checklist/type_id)
      notes (additional findings)
    

    通过这种方法,可以在检查清单中添加一个新问题,如果他们预订车辆进行维修,用户可以选择它。

    谢谢。

1 个答案:

答案 0 :(得分:1)

最好更换

<a href= "docs/?<%#Eval("DocumentName")%>"><%#Eval("DocumentName")%></a>

checklist_set
    id
    vehicle_id
    checklist_question_id

因为服务还包含1x1关系的车辆,并且更好地封装了业务逻辑。

此外,您可以更改:

checklist_set
    id
    service_id
    checklist_question_id

checklist_response
    id
    service_id
    checklist_question_id
    answer
    notes

因为现在使用checklist_set_id,您可以拥有相关服务。

通过一些额外的改进,我认为您可以尝试以下架构:

checklist_response
    id
    checklist_set_id
    answer
    notes