亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于關(guān)系型數(shù)據(jù)庫的樹形結(jié)構(gòu)設(shè)計與實現(xiàn)

        2012-12-31 00:00:00呂剛蔣勇銘王軍

        摘要:隨著互聯(lián)網(wǎng)的發(fā)展,基于關(guān)系型數(shù)據(jù)庫開發(fā)應(yīng)用系統(tǒng)的方式得到了廣泛的應(yīng)用。本文闡述了樹型結(jié)構(gòu)的特點,討論了在關(guān)系型數(shù)據(jù)庫中基于路徑表示法與雙親表示法相結(jié)合的方式的將樹型結(jié)構(gòu)設(shè)計方案,并提出了在.net平臺下利用Treeview控件顯示樹型結(jié)構(gòu)數(shù)據(jù)的具體實現(xiàn)方法。

        關(guān)鍵詞:樹型結(jié)構(gòu);Treeview控件

        中圖分類號:TP311.52 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9599 (2012) 17-0000-02

        1 引言

        在樹型結(jié)構(gòu)中,根節(jié)點沒有前驅(qū)節(jié)點,其他節(jié)點均有一個前驅(qū)節(jié)點,葉子節(jié)點沒有后續(xù)節(jié)點,其他節(jié)點均有一個或多個后續(xù)節(jié)點,其核心就是數(shù)據(jù)元素之間一對多的關(guān)系,比如設(shè)備管理、組織結(jié)構(gòu)等。然而在關(guān)系型數(shù)據(jù)庫中,表是以行和列的形式組織起來的數(shù)據(jù)集合,表的每一行是一個數(shù)據(jù)元素,數(shù)據(jù)元素之間呈線性排列,彼此間沒有關(guān)系,在各種基于關(guān)系型數(shù)據(jù)庫開發(fā)的應(yīng)用系統(tǒng)中,我們往往要存儲像組織結(jié)構(gòu)這樣的樹型結(jié)構(gòu)的數(shù)據(jù),數(shù)據(jù)元素之間存在著一對多的關(guān)系,將具有樹型結(jié)構(gòu)的數(shù)據(jù)元素簡單的呈線性排列是無法體現(xiàn)數(shù)據(jù)元素之間的關(guān)系,如何在關(guān)系型數(shù)據(jù)庫中設(shè)計樹型數(shù)據(jù)結(jié)構(gòu)并有效應(yīng)用,是我們要解決的問題。

        2 數(shù)據(jù)結(jié)構(gòu)設(shè)計

        2.1 路徑表示法

        路徑表示法是將從根節(jié)點到節(jié)點的路徑記錄下來,每條記錄中的路徑字段表明了節(jié)點在樹中的層次關(guān)系,如表一。equipmentType列記錄設(shè)備類型,path列記錄設(shè)備類型路徑。路徑表示法優(yōu)點在于查詢方便,不受樹深度的影響,缺點在于要修改某一節(jié)點在樹中的隸屬關(guān)系時需要維護(hù)路徑,這樣做非常麻煩。

        2.2 雙親表示法

        雙親表示法用兩個字段來表示一個節(jié)點在樹中的隸屬關(guān)系,如表二。equipmentType列記錄設(shè)備類型,equipmentTypeParent列父記錄設(shè)備類型。雙親表示法的優(yōu)點在于修改某一節(jié)點在樹的隸屬關(guān)系比較方便,只需要修改父節(jié)點信息既可,缺點在于查詢單一節(jié)點信息方便,但是查詢某一父節(jié)點下的所有子節(jié)點信息需要遞歸查詢。

        2.3 兩者結(jié)合

        可以利用數(shù)據(jù)冗余將上述兩種方案結(jié)合,如表三。這樣可以在一張數(shù)據(jù)表中實現(xiàn)無限級的動態(tài)層次關(guān)系,當(dāng)樹的深度增加時,無需修改表結(jié)構(gòu),只需增加相關(guān)記錄即可,同時也保證了數(shù)據(jù)結(jié)構(gòu)的穩(wěn)定性。

        3 操作界面設(shè)計

        隨著數(shù)據(jù)量的增加,僅在數(shù)據(jù)庫中維護(hù)數(shù)據(jù)會逐漸繁瑣。TreeView控件專門用來顯示信息的分級視圖,如同Windows里的資源管理器的目錄,TreeView控件中的各項信息都有一個與之相關(guān)的Node對象,基于Treeview控件的特性,在這里介紹一種在.net平臺下利用Treeview控件對樹型結(jié)構(gòu)數(shù)據(jù)進(jìn)行展示和數(shù)據(jù)維護(hù)的方法。圖一為數(shù)據(jù)維護(hù)界面。

        界面左側(cè)為設(shè)備類型樹,圖二為Treeview控件的示例代碼。程序初始化時,可以將已經(jīng)設(shè)計好的數(shù)據(jù)表中的設(shè)備信息集合作為Treeview控件的數(shù)據(jù)源,當(dāng)在樹中點擊任意設(shè)備類型時,右側(cè)將顯示此設(shè)備的詳細(xì)信息,這一點在選擇改變事件中可以用簡單代碼實現(xiàn)。數(shù)據(jù)初始化與選擇改變事件關(guān)鍵代碼如下:

        using System.Windows.Controls;

        public partial class mobileEquipmentTypeTreeManage : UserControl

        {

        dataformService ser = new dataformService();

        public mobileEquipmentTypeTreeManage()

        {

        InitializeComponent();

        elementTypeTree elementTypeTree;

        ser.getMobileEquipmentTypeTree(out elementTypeTree);

        mobileEquipmentTypeTreeView.ItemsSource = new List() { elementTypeTree };

        ……

        }

        private void mobileEquipmentTypeTreeView_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs e)

        {

        elementTypeTree elementTypeTree = mobileEquipmentTypeTreeView.SelectedItem as elementTypeTree;

        if (elementTypeTree != 1)

        {

        this.mobileEquipmentTypeTextBox.Text = elementTypeTree.current.type;

        ……

        }

        }

        ……

        }

        4 數(shù)據(jù)維護(hù)

        基于數(shù)據(jù)結(jié)構(gòu)設(shè)計采用路徑表示法與雙親表示法相結(jié)合的方式,在這里只對數(shù)據(jù)維護(hù)要注意的事項進(jìn)行說明。

        4.1 增加節(jié)點

        (1)父節(jié)點必須存在,可以在樹中選擇任意節(jié)點作為父節(jié)點。(2)新增節(jié)點路徑 = 父節(jié)點路徑 + 新增節(jié)點名稱。(3)新增節(jié)點在樹中不能已經(jīng)存在。

        4.2刪除節(jié)點

        (1)要刪除的節(jié)點是否有子節(jié)點,如果有需先刪除子節(jié)點。

        4.3修改節(jié)點

        (1)修改后的父節(jié)點必須是存在于樹中。(2)要修改的節(jié)點不能為父節(jié)點。(3)修改后的節(jié)點路徑 = 修改后的父節(jié)點路徑 + 修改后的節(jié)點名稱

        5 結(jié)束語

        本文討論的樹型結(jié)構(gòu)設(shè)計方法,利用了數(shù)據(jù)冗余減少了數(shù)據(jù)表的數(shù)量,相對的增加了數(shù)據(jù)結(jié)構(gòu)的穩(wěn)定性,樹的深度不受限制。對單條數(shù)據(jù)維護(hù)不會破壞樹結(jié)構(gòu),與以往在數(shù)據(jù)庫中使用SQL語句維護(hù)數(shù)據(jù)相比,操作相對簡便易懂。此方案已經(jīng)成功應(yīng)用于本單位的生產(chǎn)系統(tǒng)和車輛調(diào)度系統(tǒng)。

        參考文獻(xiàn):

        [1]Tom Archer,Andrew Whitechapel. C#技術(shù)揭秘.北京:機(jī)械工業(yè)出版社,2003.07

        [2]鄧宏濤.關(guān)系數(shù)據(jù)庫中樹型結(jié)構(gòu)信息的處理方法研究[A]. 江漢大學(xué)學(xué)報(自然科學(xué)版),2010,38(02):50-53

        久久国产精品-国产精品| 韩国一区二区三区黄色录像| 中文字幕在线亚洲三区| 国产白袜脚足j棉袜在线观看| 国产免费久久精品国产传媒| 成激情人妻视频| 在线亚洲日本一区二区| 无码人妻久久一区二区三区蜜桃| 青青久在线视频免费观看| 亚洲人成人一区二区三区| 高清国产精品一区二区| 白嫩丰满少妇av一区二区| 无码午夜成人1000部免费视频| 亚洲亚洲网站三级片在线| 日韩中文字幕一区二十| 白嫩人妻少妇偷人精品| 国语自产偷拍精品视频偷| 最新精品国偷自产在线婷婷| 少妇又色又爽又刺激的视频| 丰满少妇人妻无码| 人妻系列无码专区久久五月天 | 欧美日韩综合在线视频免费看| 亚洲一区二区自偷自拍另类| 久爱www人成免费网站| 97精品伊人久久大香线蕉| 美女视频永久黄网站免费观看国产| av在线高清观看亚洲| 国精品午夜福利视频不卡| 欧美精品黄页在线观看视频| 国产一区二区黑丝美女| 久久精品国产91精品亚洲| 麻豆久久久9性大片| 粗大挺进尤物人妻一区二区| 久久av一区二区三区黑人| 人妻洗澡被强公日日澡电影| 亚洲深深色噜噜狠狠爱网站| 国产人妖一区二区在线| 激情亚洲一区国产精品| 国产在视频线精品视频| 97色综合| 免费一区二区在线观看视频在线|