線上學習
About Us

線上文檔

首頁 >>線上學習 >>線上文檔

第16章:資料規範詳解(二)

16.2 樹型選擇

填報表單的時候,我們可以通過彈出一個樹形來選擇輸入內容,如下圖所示,輸入“記賬憑證”的時候,彈出樹形選擇會計科目。

和其他類型的資料規範一樣,定義樹型需要在管理控制臺中進行。

 

組成樹形的資訊通常來自資料表,如果要把一些資料組織成一棵樹,需要這些資料自身能夠體現出像樹一樣的分級資訊。通常有如下三種情況,我們稱之為樹型的構造方式:多欄位分級、編碼長度分級、自我繁殖。

多欄位分級

先看一個例子,假設我們有如下的一個客戶表

大區

業務員

客戶名稱

華南

老李

廣州xx設備公司

華北

老李

青島xx集團

華北

小宋

山東泰安某建築工程公司

東北

小宋

哈爾濱某重型機械廠

西北

老李

陝西xx電力工程公司

 

 

 

 

在這樣的一張客戶表中,不同的欄位形成了一種層次關係:“大區”是第一層,這是最粗的分類,“業務員”為第二層,相同的區域之下,由不同的業務員負責 “客戶名稱”為第三層。根據這種層次關係,可以把客戶表中的資料組織如下:

 

 

 

 

 

 

 

 

 

 

 

 

 

16-4

這種組織資料成為樹型的方式,稱為“多欄位分級”,即,樹型的層數固定,每一層都是資料表中的一個不同的欄位。

定義“多欄位分級”的方法如下:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

16-5

編碼長度分級

看一個另一個例子,假設我們有如下的會計科目表

 

 

 

 

 

 

 

 

 

 

 

 

 

 

16-6

這裏的“科目代碼”隱含表達了一種分層資訊,例如“1002”是“銀行存款”,而“100201”是“1002”的下級科目,即“人民幣帳戶”是“銀行存款”的下級科目,同理,“10020101”又是“100201”的下級科目。

即,根據某個代碼欄位的不同位元數表達資料之間的層次關係。在上邊的例子中,“科目代碼”的前4位,為第一級,5~6位為第二級,7~8位為三級,最終形成的層次關係為:

 

 

 

 

 

 

 

 

 

 

 

 

 

16-7

 

定義“按編碼長度分級”的樹型的方法是:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

16-8

一棵樹中的所有分支稱為節點,節點內容通常需要從資料表中取得,如何形成一棵樹,也即,所有的內容如何分層,如何決定節點之間的上下級關係,有幾種不同的構造方式:多欄位分級、編碼長度分級、自我繁殖,以下分別詳述。

自我繁殖

還有一種情形,例如,假設我們有如下的物料分類表:(為說明方便,我們在旁邊加上了記錄號)

 

分類名稱

上級分類

1

產成品

 

2

鋼材

產成品

3

建材

產成品

4

線材

鋼材

5

板材

鋼材

6

薄板

板材

7

中板

板材

8

螺紋鋼

線材

9

半成品

 

10

原材料

 

11

低值易耗品

 

12

能源動力

 

 

在這個物料分類表中通過一個欄位“上級分類”,指明了不同分類之間的關係。

例如,我們看“中板”,它的上級分類是“板材”,而“板材”的上級分類是“鋼材”,“鋼材”的上級分類是“產成品”,“產成品”的上級分類沒有,就到頂了。注意其中的關鍵點是,每條記錄的“上級分類”,或者是空,或者是另一條記錄的“分類”欄位的內容。例如,第5條記錄“板材”,它的上級分類是“鋼材”,而“鋼材”恰巧是另一條記錄(第2條)的“分類”欄位的內容。

這種表達資料階層關係的方式,我們稱之為“自我繁殖”,即層次關係通過兩個欄位表達,一個欄位稱為關鍵欄位,此例中為“物料分類”,它將確定樹型中的一個節點,另一個欄位稱為“上級關鍵字”,該欄位的內容應該恰巧等於樹型中另外一個節點的關鍵欄位內容。

 

定義“自我繁殖”方式的樹型的方法如下:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

16-9