台灣最大程式設計社群網站
線上人數
1843
 
會員總數:241132
討論主題:186802
歡迎您免費加入會員
討論區列表 >> MySQL >> 各位前輩好,想請教"表單創建功能"資料庫規劃的問題
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
各位前輩好,想請教"表單創建功能"資料庫規劃的問題
價值 : 200 QP  點閱數:141 回應數:2

樓主

小魚
初學者
265 43
879 58
發送站內信

各位前輩好,想請教資料庫規劃的問題,目前在製作報名表"表單創建系統"的功能,大概就跟GOOGLE表單是類似的功能
也就是每一張報名表的表單欄位都會不同,但現在有點卡在資料庫規劃,不曉得怎樣才是最合適
我目前規劃如下
資料表1. 表單創建的欄位詳細內容(紀錄每一張報名表所有新增的欄位) 如圖1
資料表2. 使用者所填入的報名表資料 如圖2

比較有問題的是資料表2的這個規劃。
1. 我目前規劃把所有資料都存在同一個欄位用分隔號隔開,但覺得這樣的方式實在很不好
2. 我也有想過,在表單創建的時候,就去新增或刪除資料表的欄位,但印象中資料表欄位好像有最多的限制
且新增刪除資料表這個部分,好像規劃的有點打結,不想要欄位太多,就變成每個不同報名表但需共用表單創建的欄位
現在想到的是
A報名表的欄位是 姓名(text) 生日(text) 性別(radio)
B報名表的欄位是 電話(text) 地址(text)
那資料表2可能就要動態去新增欄位,可能欄位如下
text1(存姓名或電話) text2(存生日或地址) radio1(目前只有存性別)

可能資料表1還要存他在資料表2的欄位名稱,以免誤刪之類的
這是目前想到的,若是去規劃新增刪除資料表欄位的想法

想要請教一下各位前輩是否有更好的方法,或者是這兩個方法要擇一的話,會選擇哪一個呢?

搜尋相關Tags的文章: [ 表單創建 ] , [ 資料庫規劃 ] , [ GOOGL表單 ] ,
本篇文章發表於2017-09-28 09:33
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
作者回應

小魚
檢舉此回應
抱歉,忘記補上圖片了
圖片1 https://upload.cc/i/DYAJOl.png
圖片2 https://upload.cc/i/Q2bEn9.png
本篇文章回覆於2017-09-28 09:38
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
我將我自已的原則給你參考好了。

一般來說,如果屬於不定性的資料欄位。如果在10個以內的話。
我還是會直接在主表內直接增加欄位處理

如果超過10個且使用10個的機會很大的情況。
或是變動性的情況也很大的情況
我則會用所謂的子表建立處理

一般來說這樣會需要兩個表
一個是欄位分類表
一個才是子表資料的建立。

我這邊依主表的主id為userid來說明

分類子表區分為 分類id(catid)、分類名稱(catname)、資料類型(datatype)、預設值(def,這可有可無)
其內就是只是儲值 像生日、住址、電話等這樣的分類。這是借此區分你需要建立的欄位

子表則是 主表id(userid)、分類id(catid)、資料(data)

這樣子,就可以有效的管理這些額外的欄位。只是這樣在程式設計上就會比較麻煩。
本篇文章回覆於2017-10-03 10:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.