2016-08-13 26 views
0

everyone。 我現在的目標是爲互聯網提供商的基於web應用的控制系統開發數據庫結構。這是一項具有以下要求的學習任務:數據庫模式,包含賬戶信息

管理員在系統中註冊訂戶。系統提供服務列表(電話,互聯網,有線電視,IP電視等)和訂購計劃爲每項服務。 訂戶可以爲每個服務選擇一個或多個服務,並使用特定的訂購計劃。訂戶有一個賬戶,並可以 補充餘額。帳戶中的資金將被移除,具體取決於所選的訂閱計劃。如果賬戶資金不足,系統會阻止用戶。

系統管理員有權: 添加,刪除或編輯訂閱計劃; 註冊,阻止或取消阻止用戶。

我認爲,用粗體突出顯示的所有單詞都被認爲是實體。

我制定如下方案:

schema

而且現在我有幾個問題:

  1. 是否確定對用戶和賬戶不同的表,或者他們應該合併(一個訂戶只能擁有一個賬戶)?
  2. 當前餘額應作爲列存儲在賬戶表中,還是應該每次計算?
  3. 可以只有ID列的表格嗎?

任何批評和建議將不勝感激。

+0

請格式化您的問題列表。 – leonidv

回答

0
  1. 它們必須合併,因爲您的模型允許鏈接「一個訂戶 - 多個賬戶」。

  2. 這取決於您的使用情況。要進行優化,您可以在incoming_payment和更新subscriber.balance上添加觸發器。所以你可以很快建立報告。

  3. 僅包含生成的ID的表格看起來很糟糕。在您的模型中,服務必須具有屬性類型(電話,互聯網,有線電視,IP電視等)。

相關問題