收集 各式各樣的 無限級分類 的資料庫設計方案

2021-09-01 01:28:48 字數 1203 閱讀 4124

第一種方案:

表為兩張,一張分類表,一張資訊表。

表1:

`id` int(10),

`cid` tinyint(3) ,

`title` varchar(255),

表2:`cid` tinyint(3) ,

`parentid` tinyint(3), 

`order` tinyint(3) ,

`name` varchar(255),

這樣可以根據cid = parentid來判斷上一級內容,運用遞迴至最頂層 。

第二種方案:

設定parentid為varchar型別,將父類id都集中在這個欄位裡,用符號隔開,比如:1,3,6

這樣可以比較容易得到各上級分類的id,而且在查詢分類下的資訊的時候,可以使用如:select * from information where cid like "1,3%"。不過在新增分類和轉移分類的時候操作將非常麻煩。

第三種方案:

每級分類遞增兩位數字,這樣,每級分類的數目限定在100個之間,分類方法主要為編碼法;

示例:一級分類:01,02,03

二級分類:0101,0102,0103,0201,0202........

**分類:010101,010102,010103,010104..........

資料庫查詢時使用 like '01%'就可得到一級分類01下的所有子分類,非常方便!

如果要列出所有分類的樹型結構,只需用一條語句select * from pro_class order by code,再稍微處理一下就可。(其中,pro_class為產品分類表,code為類別編碼)。

設計的資料庫結構如下:

id:                    類別id,主鍵

classname:         類名

classcode:          類別編碼

parent:             父id

left_child:          最左孩子id(或第乙個孩子)

right_sibling:      右兄弟id

layer:                層級(第一級類別為1,第2級類別2,以此類推)

以上三種的缺點?優點?還有其它方案嗎?

各式各樣奇怪的面試

目前又是一年一度的找工作高峰時間,很多企業都已經在網上開始了招聘工作,而各種大型招聘會也正在如火如荼地舉行著。對求職者來說,遞交簡歷只是第一步,然後就是要等待面試機會。現在用人單位為了考察應聘者的全面能力,不再只採用一對一提問題的傳統面試形式,有的可能會讓應聘者意想不到。你參加過什麼印象深刻的面試?...

html頭部中各式各樣的meta

在寫網頁的過程中,第一步就是建立乙個html文件。如下是最簡單的 html5 文件。1239 1011 12 上面第乙個 meta 就是規定了文件的字元編碼。meta 元素可以提供有關頁面的元資訊,比如針對搜尋引擎和更新頻度的描述和關鍵字。它不會顯示在頁面上,但是計算機可以識別。meta 有乙個必須...

各式各樣的正規表示式參考大全

d 匹配非負整數 正整數 0 匹配整數 d d 匹配非負浮點數 正浮點數 0 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 匹配正浮點數 d d 0 0 匹配非正浮點數 負浮點數 0 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1...