基於業務設計數據表的總結

clipboard.png

前言

這是一篇平常開發中根據產品需求去設計數據表的總結。程序員

拋去測試、架構來講,數據表設計是指定功能開發的一個起點,若是出現失誤將會對將來開發以及運行都會有很大的影響。接下來咱們聊聊應該如何根據需求去設計數據表。sql

原型圖

首先產品遞交的絕筆是份原型圖或者需求文檔,這裏先看原型圖,根據原型圖上的任意label、input彙總,再根據邏輯不一樣去劃分爲不一樣的塊(也就意味着不一樣的表)。以電商優惠卷爲例,原型圖多是這樣的(原諒我不會畫這圖,就拿京東的一張圖代替吧)。架構

clipboard.png

當你看到這張原型後,首先你得確認這是個什麼功能是吧。瞅了一眼是優惠券的功能,首先確立有了第一張表和表名性能

  • coupons

再者優惠券是給予用戶使用的,因此又有了測試

  • user_coupons

一個是優惠券存庫表,一個是發送優惠券的用戶表,至此表名想好了。接下來就是字段了。spa

分離

根據上述原型圖咱們能夠將字段所屬邏輯區域分紅如下這樣設計

clipboard.png

將以原型圖爲基準的邏輯分爲兩大塊,一塊是顯示相關的字段,另外一塊則是控制相關的字段(如添加時間,過時時間,狀態等)。3d

任意一家公司都想要有相關行業經驗的開發者,並非由於技術有多高深,而是能夠根據給出的具備侷限性的原型圖去擴展字段。考慮將來業務發展所須要的,這實際也是架構的一部分。blog

擴展

大概的以張圖來講明所說的擴展字段。
clipboard.png索引

經過以本身的平常生活經驗和開發經驗對具備侷限性的原型圖進行擴展。是一個業務程序員最起碼的技能。
在以後,將要面臨一些性能的考慮了。

性能

本章並不會詳細將數據表的設計上,就大概的根據優惠券的功能講解下思路。

  • 批量發放應該考慮的技術問題
  • 考慮頻繁被查詢的字段設置索引,例如優惠券功能?標題等...
  • 有效期使用datetime設置,時間戳對於sql查詢的侷限太大。

一張原型圖遷出的考慮因素不少。也是一名程序員的基礎。

致謝

感謝你看到這裏,但願本篇文章能夠幫助到你,謝謝。

相關文章
相關標籤/搜索