【发布时间】:2011-09-04 08:58:51
【问题描述】:
我正在为一家在现场记录数据的公司制作 Web 应用程序。
他们需要能够创建自己的表格,然后技术人员将在工作地点的现场填写这些表格。每个工作地点都不同于下一个,因此公司需要能够随意创建新表格。
数据可以是文本或数字,并且是网格状的——比较不同的设备,例如:
作业现场 1 的报告 #234
设备A 设备B 设备C
条件一般 良好 优秀
AZ425 级别 100 (ml) 84 (ml) 75 (ml)
运行时间 134(小时) 400(小时) 50(小时)
评论 供应 XX 即将耗尽。
==============================
作业现场 2 的报告 #3
坦克A 坦克B
G00 等级 40% 10%
重量 500(公斤) 1000(公斤)
酸碱度 8.12 1.35
Visual Ins Tank A 底部附近有裂缝
我打算使用 CakePHP/MySQL
对于这种情况最好的 MySQL 模式是什么(或者 XML 更有意义)?
这是我目前正在使用的:
表格'表格' 列:id、ref_number、job_site (fk)、description、creation_date 表'Form_Controls' Cols:id、form_id (fk)、类型(文本、数字、选择)、选项(如果类型为“选择”,则下拉列表的序列化数据)、公制(小时、毫升、公斤等) 表'Form_Instance' 列:id、form_id (fk)、technical (fk)、creation_date 表'Form_Data' cols:id、control_id(fk)、instance_id(fk)、value、比较器(EquipmentA / EquipmentB等)
对于这种情况,这是最有效的模式吗?
【问题讨论】:
-
Entity-Attribute-Value (EAV) 是最灵活的,但除非绝对必要,否则最不愿意使用它。我也会反击,要求真正的要求......
标签: php mysql cakephp database-schema