亚洲免费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

        色综合久久久久综合体桃花网| 中文字幕乱码中文乱码毛片| 99视频偷拍视频一区二区三区| 亚洲高清在线天堂精品| 久久超碰97人人做人人爱| 91精选视频在线观看| 青青青伊人色综合久久| 白白色发布的在线视频| 人人妻人人狠人人爽天天综合网| 亚洲日韩欧美国产高清αv| 国产全肉乱妇杂乱视频| 亚洲第一无码精品久久| 经典亚洲一区二区三区| 丰满女人猛烈进入视频免费网站 | 青青草视频网站在线观看| 妺妺窝人体色www看美女| 狠干狠爱无码区| 国产精品国产三级国av在线观看| 激情文学婷婷六月开心久久| 中文字幕肉感巨大的乳专区| 99福利网| 日本免费三片在线播放| 免费无码专区毛片高潮喷水 | 成人在线视频自拍偷拍| 国内自拍情侣露脸高清在线| 乱人伦中文无码视频在线观看| 国产成人综合久久久久久| 久久亚洲宅男天堂网址| 在线中文字幕乱码英文字幕正常| 久久精品中文字幕一区| 久久无码中文字幕东京热| 中文字幕第一页人妻丝袜| 日韩视频中文字幕精品偷拍| av一区无码不卡毛片| 亚洲一区二区三区在线激情| 久久久久久自慰出白浆| 国产欧美日韩a片免费软件| 蜜桃av多人一区二区三区| 91精品人妻一区二区三区久久久| 免费人成视频在线| 亚洲色图综合免费视频|