資料庫教學: 設計錯誤實際經驗分享

因為,某些原因我需要帶著學妹一起辦一個大型的研討會(1500人)
所以,很明顯的我們需要一個資料庫紀錄報名者的資料以及他是否有訂購餐點

由於是大型研討會, 上頭決定花20萬委外設計網站以及資料庫


廠商現在有兩張表格
  1. 報名者
  2. 訂購者訂單
每個報名者會對應到多個訂購者 \
->教授帶學生A,學生B來參加研討會
->就會有一個報名者對應到三個訂購者
->訂購者可能會對應到多個訂單 //午餐、晚餐、宵夜
->報名者可在時限前隨時上網修正訂單


範例1.
報名ID,名稱
00001,教授

2.
訂購ID,報名ID,名稱 ,第一天午餐,第一天晚餐

00001,00001,教授 ,    有,   沒訂
00002,00001,學生A,   沒有,   有 
00003,00001,學生B,   沒有,   有訂

 

學妹沒有看錯

因為廠商來不及做好功能的就用人工下去手動修改資料庫

現在資料庫中標記沒有統一
在連續的字串中有時候還會發現半形空白
因為這些小問題
學妹去訂餐點的時候出了點問題

要追加多少餐點或是減少多餐點
學妹單看表格資料一點頭緒都沒有 (而且還要製作實體餐券)
只能跟廠商要CSV檔案來用EXCEL檢查





學妹淚眼汪汪的跟我說好麻煩怎麼辦

:因訂單的部分並沒有時間戳記啊

像這種需求變動大的系統
應該要有額外一張表格記錄變動
有了這樣的設計我們就可以根據時間戳記將需要修正的資料撈出來

:設計的時候訂購者會對應到多個訂單,訂單應該要獨立出來另外一張表格啊

所以說在多對多的relation中
假設我們能將關係以及每次變動記錄下來
我們還可以將變更的紀錄留下來

方便我們去搜尋某個時間戳記之後的資料變更
以應付客戶各種需求

我便握著學妹的手說
:以後寫入任何表格都要記得加入時間戳記
:而且關係多對多的表格記得要有另外一張表格紀錄唷

#原因是我們不能確定顧客的需求的時候
#我們需要將完整的information留下來方便我們事後作業

對了,有空記得來派出所保我出來

留言