[英]Best MySQL schema for an app that requires dynamically-built forms?
我正在為一家在現場記錄數據的公司制作 web 應用程序。
他們需要能夠創建自己的 forms,然后技術人員將在工作現場現場填寫。 每個工作地點都與下一個不同,因此公司需要能夠隨意創建新的 forms。
數據可以是文本的或數字的,並且是網格狀的——比較不同的設備,例如:
Report #234 for Job Site 1 EquipmentA EquipmentB EquipmentC Condition Fair Good Excellent AZ425 Level 100 (ml) 84 (ml) 75 (ml) Runtime 134 (hr) 400 (hr) 50 (hr) Comment Supply XX is running low. ============================ Report #3 for Job Site 2 TankA TankB G00 Level 40% 10% Weight 500 (kg) 1000 (kg) pH 8.12 1.35 Visual Ins Tank A has a crack near the bottom
我打算使用 CakePHP/MySQL
對於這種情況,最好的 MySQL 模式是什么(或者 XML 更有意義)?
到目前為止,這是我正在使用的:
Table 'Forms' Cols: id, ref_number, job_site (fk), description, creation_date Table 'Form_Controls' Cols: id, form_id (fk), type (text, numeric, select), options (serialized data for dropdown list if a type 'select'), metric (hour, ml, kg, etc) Table 'Form_Instance' Cols: id, form_id (fk), technician (fk), creation_date Table 'Form_Data' Cols: id, control_id (fk), instance_id (fk), value, comparator (EquipmentA / EquipmentB, etc)
這是這種情況下最有效的模式嗎?
看起來實體-屬性-值模式在這里可能會派上用場。 它可以在 MySQL 等數據庫中輕松建模
這聽起來像是鍵值對或面向文檔的數據存儲可能更好的事情。 有許多所謂的 NoSQL 數據庫可供選擇,但也許MongoDB可能是一個不錯的起點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.