數據庫表 概要設計

vc 端符合直覺,m 端追求快速(TDD BDD) 長期...前端

 

【縮寫】mysql

咱們規定 相似 bq = blockquotesql

cT = create_time  分佈式

uT = update_timespa

id = ${entity}_id設計

 

【約定大於配置】 create_time update_time 是沒有打日誌狀況最後一根稻草日誌

`create_time` timestamp not null default current_timestamp comment '建立時間',
`update_time` timestamp not null default current_timestamp on update current_timestamp comment '修改時間',

 

【概要設計規定】orm

1. constraint 約束先忽略    not null    自增 auto_incrementblog

2. 類型先忽略  int varchar timestamp 遞歸

3. 數據字典 先忽略 comment

4. 默認值 DEFAULT 先忽略

5. 違反第三範式 適當數據冗餘減小join (遵照第一範式二維表 第二範式 context + 主鍵) 

  

【Java 幾種實體】就是說咱們不用外鍵,讓程序去維護幾個實體的關聯。

DTO (data2obj 做爲傳輸實體存在) = (Entity1 + Entity2)(service 業務驅動) 

XXXForm (表單實體) = 前端表單參數封裝( API 驅動 )

VO (做爲規定格式實體返回給前端而存在)

 

【幾個 Key】Refs

primary key 

foreign key 外鍵 第三範式 

unique key 插入數據不重複 

  => 考慮分佈式場景 使用mysql自帶約束限制惟一性,如 UNIQUE KEY `user_name_unique` (`username`) USING BTREE

key 邏輯層加快查詢速度 另外不建議 強制索引

  index 物理層

 

實體表

【product_category】 (id,category_name,catagory_type)  & pk(id)

【product_info】(id,product_name,product_price,product_stock,

  product_description,product_icon,product_status,category_type) & pk(id)

【order_master】(id,buyer_name,buyer_phone,buyer_address,buyer_openid,

  order_status,pay_status) & pk(id) & key(buyer_openid)

【order_detail】(detail_id,order_id,product_id,product_name,product_price,

  product_quantity,product_icon)&pk(detail_id)&key(order_id)

【seller_info】(id,username,password,openid) & pk(id)

…………………………………………………………………………………………………………

特殊的表

分類表 【遞歸層級】

 

類型

 datetime 較方便查看建立時間 更新時間

 text 富文本

 decimal(totaLen,preci)

相關文章
相關標籤/搜索