三级分类菜单的数据库设计
http://www.imooc.com/article/285246?block_id=tuijian_wz
?
? 最近在設(shè)計(jì)一款進(jìn)銷存系統(tǒng)的時(shí)候,遇到一個(gè)分類的設(shè)計(jì)問(wèn)題,就是如何將分類設(shè)計(jì)成數(shù)據(jù)庫(kù)里的表,怎么樣設(shè)計(jì)才比較靈活?
? ? 舉個(gè)例子,一級(jí)分類:生鮮類,二級(jí)分類:蔬菜類,三級(jí)分類:青菜類,如果你將這三個(gè)分類設(shè)計(jì)成三張表然后連表查詢,貌似也沒(méi)什么不妥,但是,一張表就一個(gè)主鍵一個(gè)名字加一個(gè)創(chuàng)建和修改時(shí)間記錄,不覺(jué)得很浪費(fèi)嗎?而且假設(shè),僅僅是假設(shè),如果是無(wú)限級(jí)的分類,你就無(wú)限的增加表的個(gè)數(shù)嗎?顯然工作量比較大,于是我將這三類統(tǒng)一放到了一張表里,字段如下:
? ? 如果是一級(jí)類,則level1和level2字段為0,如果是二級(jí)分類,則level2字段為0,如果是三級(jí)分類則這兩個(gè)字段都不為0。然后是如何判斷二級(jí)分類所屬哪一個(gè)一級(jí)大類,用的是整除的辦法,例如飲料屬于一級(jí)分類里的食品類,101整除100,得到的是1,正好是主鍵為1的大類,同理其他的也是這樣處理的。這樣設(shè)計(jì)的好處就是,如果再加一級(jí)分類,我只需要增加字段即可。
作者:Caeser_
鏈接:http://www.imooc.com/article/285246?block_id=tuijian_wz
來(lái)源:慕課網(wǎng)
總結(jié)
以上是生活随笔為你收集整理的三级分类菜单的数据库设计的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Wordpress 提速之 Gzip 压
- 下一篇: SQL Server 时间、日期函数