2014-09-27 18 views
1

我要構建一箇中等規模的應用程序,其中要求是動態創建Web表單,這些表單將通過固定鏈接提供,然後數據輸入操作員將以這些表單輸入數據。該數據將用於對其應用統計操作。如何在php mysql中處理動態模式和動態數據?

幾個問題在這裏。

  1. 如何管理動態模式輸入數據,我應該爲每個表單生成一個單獨的表(可以有成千上萬的表單)?
  2. 在php/codeigniter中是否有任何開源框架?
  3. 我應該考慮少模式/ Nosql數據庫嗎?

回答

2

您可能會喜歡我的演示文稿Extensible Data Modeling with MySQL。我討論動態模式的需求和幾個解決方案。

  • 額外列
  • 實體 - 屬性 - 值
  • 類表繼承
  • 序列化LOB &倒排索引
  • 在線架構更改
  • 非關係數據庫

每解決方案有其自身的優勢和弱點小規模企業。瞭解它們都可以爲您提供更多的工具在給定的應用程序中使用。

對於存儲表單數據,我建議使用序列化的LOB &倒置索引,或者使用可以索引文檔中的字段的非關係數據庫。

+0

謝謝你這麼棒的介紹。閱讀完後,我將採用序列化LOB和倒序索引,但我擔心模式更新。如果表單發生了變化,數據會發生什麼?那麼搜索呢? – 2014-09-28 10:35:57

+0

此外,是否可以使用序列化LOB和倒序索引技術創建數據透視表查詢? – 2014-09-28 11:43:58

+0

使用序列化LOB,您可以插入任何想要的表單數據。先前插入的現有數據不會更改。您必須保持手動更新倒排索引。數據透視查詢必須使用倒排索引字段來完成。 – 2014-09-28 17:02:17