我正在構建提供培訓課程的網站。每次培訓都由一系列培訓幻燈片組成。目前有4種不同的幻燈片類型,但這可能會擴大。滑動類型具有以下數據(括號中的類型):如何構建相關內容類型的數據庫
類型1
摘要(文本)
目標(文本)
類型2
標題(VARCHAR)
字幕(varchar)
類型3
t書名(VARCHAR)
內容(文本)
類型4
標題(VARCHAR)
介紹(文本)
問題(VARCHAR)
我不知道什麼樣的最佳方式是在數據庫中構建這個。我看到以下可能的選擇:
- 使用包含列於所有滑動類型的單個表,其中一個附加列指定滑動型
- 使用包含列只是共享數據類型的單個表,並使用附加表制定的非標準場(我認爲的Drupal確實是這樣,不是嗎?)
- 每張幻燈片的類型使用不同的表
問題
3任何時候我都希望爲單個訓練組裝所有幻燈片,而需要大量表連接,而#1會導致表中有大量空值的列。我應該如何權衡這些問題?這種情況是否有標準的最佳實踐指導方針?
附加註意事項
- Slide Type 4
也將具有與其相關聯的選擇題,以及與每個答案選項相關聯的不同的反饋(例如,用戶選擇並回答和反饋在屏幕上彈出)。 - 我在Rails中構建這個。不知道這是否也很重要。 - 我不希望我的網站擁有超過1000張幻燈片,但我有興趣瞭解幻燈片的數量如何影響最佳方法。