我們在設(shè)計數(shù)據(jù)庫的時候,是否會突破常規(guī),找到最適合自己需求的設(shè)計方案,下面來舉個例子:

 

   常用的鄰接表設(shè)計,都會添加 一個 parent_id 字段,比如區(qū)域表(國、省、市、區(qū)):

CREATE TABLE Area ([id] [int]  NOT NULL,[name] [nvarchar]  (50) NULL,[parent_id] [int]  NULL,[type] [int]  NULL );

 

name:地域的名稱, parent_id 是父ID,省的父ID是國,市的父ID 為省,以此類推。

type 是區(qū)域的階級: 1:國,2:省,3:市,4:區(qū)

在層級比較確定的情況下,這么設(shè)計表格沒有什么問題,調(diào)用起來也很方便。

 

但是使用這種鄰接表設(shè)計方式,并不能滿足所有的需求,當我們不確定層級的情況下,假設(shè)我有下面一個評論結(jié)構(gòu):

平面設(shè)計培訓,網(wǎng)頁設(shè)計培訓,美工培訓,游戲開發(fā),動畫培訓

 

    用鄰接表記錄這個評論的數(shù)據(jù)(comments 表):

 

網(wǎng)友評論

  • comment_idparent_idauthorcomment
    10小明我不大認同這個觀點
    21小張我也不認同
    <samp id="ehdsv"></samp>
    <center id="ehdsv"></center>