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

        ?

        數(shù)據(jù)庫復雜網(wǎng)絡構造算法及特征分析

        2012-07-25 03:38:40李春芳劉連忠劉振國
        電子與信息學報 2012年11期
        關鍵詞:主鍵數(shù)據(jù)表關聯(lián)

        李春芳 劉連忠 劉振國

        ①(北京航空航天大學自動化科學與電氣工程學院 北京 100191)

        ②(北京航空航天大學計算機學院 北京 100191)

        ③(河北體育學院網(wǎng)絡中心 石家莊 050041)

        1 引言

        數(shù)據(jù)庫是各類管理信息系統(tǒng)(Management Information System, MIS)的數(shù)據(jù)核心。隨著軟件規(guī)模擴大,數(shù)據(jù)庫的規(guī)模和關聯(lián)復雜性相應增加。軟件網(wǎng)絡是軟件復雜系統(tǒng)的骨架,而數(shù)據(jù)庫復雜網(wǎng)絡是業(yè)務系統(tǒng)內(nèi)部關聯(lián)性的骨架。在頂層設計中,主要是將業(yè)務內(nèi)部的關聯(lián)性映射為數(shù)據(jù)表之間的關聯(lián)性,盡管業(yè)務系統(tǒng)的功能不可能全部在數(shù)據(jù)庫設計中實現(xiàn),但是顯而易見,優(yōu)化的數(shù)據(jù)庫關聯(lián)設計,能盡可能多地覆蓋業(yè)務邏輯,減少系統(tǒng)實現(xiàn)的復雜性和代碼量。由于在數(shù)據(jù)表的基本字段確定后,非主鍵和非外鍵字段的添加和刪除,不會影響其他的關聯(lián)性,因此通過主鍵和外鍵建立數(shù)據(jù)表之間的復雜網(wǎng)絡,作為對MIS系統(tǒng)宏觀層面的描述是合理的。

        從文獻看,復雜網(wǎng)絡的解釋為,從實際復雜系統(tǒng)抽取的網(wǎng)絡結構,具有明顯的“無標度”和“小世界”特性,其網(wǎng)絡特征介于隨機網(wǎng)絡和規(guī)則網(wǎng)絡之間,即不是完全隨機,也不完全規(guī)則。軟件是一類人工復雜系統(tǒng),復雜網(wǎng)絡理論引入軟件工程來描述和度量軟件的復雜性,形成了軟件網(wǎng)絡[1]。軟件網(wǎng)絡主要探索了軟件包級[2]、類級[3-6]、方法級[4-6]的網(wǎng)絡構造和統(tǒng)計特征,以及軟件的動態(tài)運行環(huán)境網(wǎng)絡[7],從復雜網(wǎng)絡角度探索了軟件的宏觀結構和軟件度量[8,9]以及軟件網(wǎng)絡的應用[10-12],然而對軟件網(wǎng)絡的分支數(shù)據(jù)庫復雜網(wǎng)絡的研究較少。何克清等認為軟件網(wǎng)絡沒有被準確定義,泛指從軟件系統(tǒng)中抽取的網(wǎng)絡結構,該結構具有復雜網(wǎng)絡的特征[1]。以數(shù)據(jù)庫中表作為節(jié)點,將外鍵到主鍵形成的參照依賴作為有向邊,MIS系統(tǒng)的數(shù)據(jù)庫可以建模成一個有向圖,本文發(fā)現(xiàn)該結構也具有“小世界”和“無標度”特征,可以認為,數(shù)據(jù)庫復雜網(wǎng)絡是軟件網(wǎng)絡的一個分支,籠統(tǒng)指從數(shù)據(jù)庫中抽取的網(wǎng)絡結構,研究數(shù)據(jù)層關聯(lián)形成的網(wǎng)絡統(tǒng)計特性。

        早在 1983年,文獻[13]利用超圖(hyper networks)超網(wǎng)絡來描述數(shù)據(jù)庫,其節(jié)點是一個數(shù)據(jù)模式的所有數(shù)據(jù)表的字段集合,一個數(shù)據(jù)表定義為一個超邊(hyper edge),它能連接多于兩個節(jié)點。由于超圖的可視化信息不便于直觀理解,遠不如復雜網(wǎng)絡描述數(shù)據(jù)庫內(nèi)部關聯(lián)更直接。

        盡管一個MIS系統(tǒng)的數(shù)據(jù)庫網(wǎng)絡可能僅有幾十到上千的節(jié)點,但是其關聯(lián)復雜性足以讓軟件開發(fā)人員難以應對,需要 CASE(Computer Aided Software Engineering)工具輔助描述其復雜性。CASE工具,如 Rational Rose, PowerDesigner,Microsoft Visio, Visual Paradigm等均采用了數(shù)據(jù)庫關系圖描述數(shù)據(jù)表間的關聯(lián),但是其抽象粒度不夠,開發(fā)人員無法看到數(shù)據(jù)庫網(wǎng)絡更宏觀的視圖,難以駕馭大型系統(tǒng)的數(shù)據(jù)庫設計。數(shù)據(jù)庫關系圖沒有從復雜網(wǎng)絡的角度統(tǒng)計其網(wǎng)絡結構特性,本文從更抽象的復雜網(wǎng)絡的角度研究MIS系統(tǒng)數(shù)據(jù)模式的關聯(lián),以更加“骨感”的形式來描述和度量數(shù)據(jù)層的復雜性,使軟件開發(fā)人員能掌控數(shù)據(jù)關聯(lián)的概貌。

        2 形式化表示

        數(shù)據(jù)庫完整性指數(shù)據(jù)的正確性和相容性,完整性包括域、實體、參照和用戶定義完整性,其完整性設計就是約束設計。在大型MIS系統(tǒng)設計中,參照完整性是核心,它集中體現(xiàn)了業(yè)務邏輯,也是軟件設計復雜性的根源之一,本文將數(shù)據(jù)表間的參照完整性建模為復雜網(wǎng)絡,以更簡潔的方式描述其復雜關聯(lián)性。完整性約束可以通過數(shù)據(jù)庫管理系統(tǒng)(DataBase Management System, DBMS)或應用程序實現(xiàn),通過DBMS實現(xiàn)的參照完整性即主外鍵關聯(lián),而由應用軟件實現(xiàn)的參照完整性本文定義為語義隱性關聯(lián),簡稱語義關聯(lián),它隱含表示了數(shù)據(jù)表主外鍵之間的參照關系。

        大量的開發(fā)經(jīng)驗表明,外鍵關聯(lián)和語義關聯(lián)各有優(yōu)勢,表1列出了兩種關聯(lián)的比較,在本文分析的9個數(shù)據(jù)模式中,4個采用了外鍵,5個采用了隱性語義關聯(lián)。外鍵關聯(lián)采用數(shù)據(jù)庫集中管理數(shù)據(jù)關系,在海量數(shù)據(jù)查詢情況下跨表查詢性能比語義關聯(lián)差。由于DBMS能自動維護數(shù)據(jù)的完整性,因此在故障發(fā)生時,能夠保證數(shù)據(jù)的一致性,而語義關聯(lián)可能會引入不一致數(shù)據(jù)。在開發(fā)階段,由于系統(tǒng)的不完備性,外鍵會羈絆代碼實現(xiàn),而語義關聯(lián)需要增加代碼來維護參照引用數(shù)據(jù)的一致性。CASE工具支持外鍵關聯(lián)和部分語義關聯(lián)的圖結構分析。

        表1 外鍵關聯(lián)和語義關聯(lián)比較

        大部分的DBMS系統(tǒng)和逆向工程工具都采用了數(shù)據(jù)庫關系圖,其節(jié)點是數(shù)據(jù)表結構信息,邊是外鍵到主鍵的關聯(lián)依賴,因此在數(shù)據(jù)庫復雜網(wǎng)絡構造上用數(shù)據(jù)表作為節(jié)點,外鍵關系作為邊是合理的。在已有的數(shù)據(jù)庫關系圖中,節(jié)點信息復雜,然而對復雜性起關鍵作用的是主鍵和外鍵,其他非主鍵和非外鍵字段的添加和刪除對關聯(lián)復雜性沒有影響,因此進一步化簡節(jié)點是可能的。

        數(shù)據(jù)庫復雜網(wǎng)絡(DataBase Complex Networks,DBCN)G={V,E} 是從數(shù)據(jù)庫模式中抽取的有向網(wǎng)絡模型,V={v1,v2,…,vn}是節(jié)點集,代表數(shù)據(jù)庫模式中的數(shù)據(jù)表,E={(vi,vj)|i,j=1,2,…,n} 是有向邊集合,代表一個數(shù)據(jù)表外鍵(或隱含外鍵)到其它數(shù)據(jù)表主鍵的依賴。

        基于復雜網(wǎng)絡的統(tǒng)計參數(shù)[1],定義如下特征參數(shù):

        (1)節(jié)點數(shù)N:數(shù)據(jù)表個數(shù);

        (2)邊數(shù)E;

        (3)平均最小路徑長度L;

        (4)平均聚類系數(shù)C;

        (5)平均出度/入度Di/Do;

        (6)節(jié)點對可達率R:定義為有向網(wǎng)絡上任意不同的兩個節(jié)點之間存在的可達路徑總數(shù)除以N×(N-1),R是對內(nèi)部關聯(lián)緊密程度的一種度量,網(wǎng)絡內(nèi)聚度越高,R越大,如果系統(tǒng)內(nèi)部存在級聯(lián)刪除和級聯(lián)更新,在數(shù)據(jù)庫內(nèi)部傳遞的可能性越大;

        (7)網(wǎng)絡連接率S:定義為最大連通圖上的節(jié)點數(shù)除以總節(jié)點數(shù)。

        在DBCN上,節(jié)點的入邊是其它數(shù)據(jù)表的外鍵(或隱含外鍵)字段到該數(shù)據(jù)表主鍵的引用,節(jié)點的出邊是該數(shù)據(jù)表的外鍵(或隱性外鍵)到其它數(shù)據(jù)表主鍵的引用。數(shù)據(jù)庫主鍵和字段的關系是一對多的關系,主鍵可能是一個字段,或者多個字段,即聯(lián)合主鍵,絕大多數(shù)是一個字段,在聯(lián)合主鍵情況下每個獨立字段都是外鍵,即到其他表主鍵的引用。因此入邊都是對節(jié)點主鍵的引用,而出邊是對其他節(jié)點主鍵的引用。

        由于一個數(shù)據(jù)表中可能有多于一個字段引用其它表的同一個主鍵字段,因此DBCN是一個可能包含重邊的有向圖,在以下的構造算法中去掉了重邊,只考慮簡單有向圖構造的網(wǎng)絡。

        3 構造算法

        3.1 基于主外鍵的構造算法

        本節(jié)研究了基于復雜網(wǎng)絡的數(shù)據(jù)庫關聯(lián)分析技術,實現(xiàn)對Oracle, MySQL, SQLServer數(shù)據(jù)庫中表的元數(shù)據(jù)的關聯(lián)分析。針對基于數(shù)據(jù)庫主外鍵的關聯(lián)和無外鍵的語義隱性關聯(lián)提出了兩種網(wǎng)絡構造算法。

        算法1基于主外鍵的構造算法(FK-DBCN)(1)查詢系統(tǒng)表讀取一個數(shù)據(jù)模式下的所有數(shù)據(jù)表名稱,作為網(wǎng)絡節(jié)點信息;

        (2)查詢系統(tǒng)約束表,讀取數(shù)據(jù)模式的所有外鍵約束,作為從一個數(shù)據(jù)表節(jié)點(外鍵)到參照表節(jié)點(主鍵)的有向邊信息。

        用算法 1構造了非開源軟件學校管理系統(tǒng)Yundl的數(shù)據(jù)庫網(wǎng)絡,其DBMS為SQLServer,它采用了外鍵實現(xiàn)參照完整性約束,顯示度排名前三位的節(jié)點是 tbStudentBasis, tbTeacherBasis和tbYearBasis,反映該系統(tǒng)中所有的關系中最重要的是學生、教師在學年中的各種關系,這種直接宏觀的業(yè)務邏輯表示對于變更的開發(fā)團隊、軟件的二次開發(fā)以及更新維護非常重要,可以縮短增量開發(fā)時間。

        3.2 基于語義關聯(lián)的構造算法

        由于DBCN內(nèi)部關聯(lián)的復雜性,很多的軟件開發(fā)實踐表明,業(yè)務的主、外鍵關聯(lián)往往通過程序內(nèi)部映射實現(xiàn),而不采用DBMS本身的完整性約束,從而避開某些關聯(lián)控制的難題。實際上,無論在軟件的設計還是實現(xiàn)上,關聯(lián)引起的復雜性無法回避。開源軟件網(wǎng)絡與主機監(jiān)控系統(tǒng) Zabbix的數(shù)據(jù)庫關聯(lián)采用了 MySQL數(shù)據(jù)庫,內(nèi)部無外鍵約束。從對Zabbix的分析中發(fā)現(xiàn),盡管沒有主外鍵,但是從規(guī)范的數(shù)據(jù)表字段命名規(guī)則可以推理語義隱性關聯(lián),進而推理出關聯(lián)關系,而CASE工具PowerDesigner也采用這種語義推理。例如:在Zabbix數(shù)據(jù)庫中有兩個數(shù)據(jù)表History和Items,其中History有3個非主鍵的字段itemid, clock和value,在Items數(shù)據(jù)表中僅有一個主鍵itemid,那么可以推出表History到表Items有一個隱性外鍵關聯(lián)。根據(jù)數(shù)據(jù)表的字段命名規(guī)則推理出外鍵約束,進而構造DBCN的有向邊,這種推理一般近似正確,主要取決于隱性主外鍵的命名規(guī)則。根據(jù)語義隱性關聯(lián)設計了算法2。

        算法2基于語義隱性關聯(lián)的DBCN構造算法(HFK-DBCN)

        (1)查詢一個數(shù)據(jù)模式的所有數(shù)據(jù)表名稱,作為網(wǎng)絡節(jié)點信息,節(jié)點數(shù)為n;

        (2)查詢每個數(shù)據(jù)表節(jié)點 Nodei(i=1,2,…,n)的非主鍵字段個數(shù)fc和名稱FFields[1,2,…,fc];

        (3)查詢每個數(shù)據(jù)表節(jié)點 Nodej(j=1,2,…,n,且j≠i)所有主鍵字段個數(shù)pc和名稱 PFields[1,2,…,pc];

        (4)如果 FFields[1,2,…,fc]的某個字段等于PFields[1,2,…,pc]中某個字段,則添加一條從節(jié)點i到節(jié)點j的邊。

        針對語義關聯(lián)下,通過算法 2仍不能構造DBCN的情況,提出了HFK-DBCN+算法。以開源課程管理系統(tǒng) Moodle為例,其中所有表的主鍵均采用id命名,通過HFK-DBCN檢索不到任何邊信息,但是在大量的引用表中采用了“數(shù)據(jù)表名稱”+“id”方式引用主鍵表中的字段,例如在mdl_user表中主鍵為 id,而在引用表 mdl_course_display等多個數(shù)據(jù)表中均使用userid隱性關聯(lián)。

        算法2+擴展的語義隱性關聯(lián)的數(shù)據(jù)庫復雜網(wǎng)絡構造算法(HFK-DBCN+)

        (1)查詢一個數(shù)據(jù)模式的所有數(shù)據(jù)表名稱,作為網(wǎng)絡節(jié)點信息,節(jié)點數(shù)為n;

        (2)查詢每個數(shù)據(jù)表節(jié)點 Nodei(i=1,2,…,n)的非主鍵字段個數(shù)fc和名稱FFields[1,2,…,fc];

        (3)查詢每個數(shù)據(jù)表節(jié)點 Nodej(j=1,2,…,n,且j≠i)所有主鍵字段個數(shù)pc和名稱PFields[1,2,…,pc],增加其擴展的可能主鍵字段名 PFields[pc+1,…,pc+e];

        (4)如果 FFields[1,2,…,fc]的某個字段等于PFields[1,…,pc+e]中某個字段,則添加從節(jié)點i到節(jié)點j的一條邊。

        在Moodle中,所有數(shù)據(jù)表名以前綴“mdl_”開始,去掉前綴后,人工分析后增加了4項可能匹配的主鍵字段名,4條規(guī)則如下:取出表示數(shù)據(jù)表的名字,例如表 mdl_course中原僅有一個主鍵“id”,增加了“course”;取出表示數(shù)據(jù)表的名字,直接加“id”,例如表mdl_user中原僅有一個主鍵“id”,增加了“userid”;取出表示數(shù)據(jù)表的名字,去掉“s”后加“id”,例如表mdl_external_services中原僅有一個主鍵“id”,增加了“externalserviceid”;取出表示數(shù)據(jù)表的名字,去掉“ies”直接加“yid”,例如表 mdl_glossary_entries中原僅有一個主鍵“id”,增加了“glossaryentryid”。

        需要指出的是,由于字段名命名的隨意性,通過算法2和算法2+構造的DBCN是近似正確的,而在 CASE工具中不支持 HFK-DBCN+類型的數(shù)據(jù)模式圖結構分析。

        3.3 語義隱性關聯(lián)下確定性DBCN構造的數(shù)據(jù)表字段命名規(guī)范

        為準確構造語義隱性關聯(lián)的DBCN,在數(shù)據(jù)庫設計中,需要滿足以下條件:

        (1)主鍵使用表名 TableName,或者表名的子串,并拼接“id”,描述為 subString(TableName).concat(“id”)。

        (2)所有對主鍵引用的外鍵字段,采用與所引用的主鍵同名字段標識。

        基于以上規(guī)范,不僅基于算法2能構造準確的DBCN,也支持使用CASE工具的語義推理。

        4 實驗與分析

        4.1 實驗數(shù)據(jù)

        本節(jié)實現(xiàn)了一個數(shù)據(jù)庫復雜網(wǎng)絡分析工具(DBCN Tool),其系統(tǒng)結構如圖1所示,通過JDBC連接各種數(shù)據(jù)庫管理系統(tǒng),提供用戶名、密碼和連接數(shù)據(jù)源信息,構造一個以 Pajek(Pajek是一個成熟的社會網(wǎng)絡分析工具)格式存儲的DBCN,網(wǎng)絡結構可以通過Pajek軟件分析,或在DBCN Tool中進行可視化分析,其可視化部分采用了網(wǎng)絡分析的Java API 開發(fā)包JUNG。

        圖1 數(shù)據(jù)庫復雜網(wǎng)絡分析工具的系統(tǒng)結構

        在數(shù)據(jù)庫復雜網(wǎng)絡中,由于數(shù)據(jù)表作為節(jié)點,網(wǎng)絡分析的粒度較大,一般節(jié)點數(shù)在幾十到幾百、甚至上千個數(shù)量級,可視化的意義遠大于參數(shù)分析。與 PowerDesigner提供的圖結構關系表示不同,DBCN弱化了節(jié)點信息,將數(shù)據(jù)表視為一個節(jié)點,不考慮其內(nèi)部的字段數(shù)和名稱,凸顯了節(jié)點間的參照引用關系。

        實驗抽取了9個中大型MIS系統(tǒng)的DBCN,其數(shù)據(jù)基本信息如表2,其中2個非開源系統(tǒng),7個開源系統(tǒng);1個Oracle, 2個SQLServer, 6個MySQL數(shù)據(jù)模式。

        表2 實驗數(shù)據(jù)基本信息

        4.2 網(wǎng)絡參數(shù)

        9個MIS系統(tǒng)的DBCN統(tǒng)計參數(shù)如表3所示,其節(jié)點和邊的數(shù)量級接近,與隨機網(wǎng)絡相比可達節(jié)點之間的平均長度L較小,1<L<3;聚類系數(shù)C較大;平均入度和出度Di/Do較小,0<Di<3;可達節(jié)點對比例R較小,它反映級聯(lián)更新和級聯(lián)刪除的傳播能力;網(wǎng)絡連通性參數(shù)S較大,反映數(shù)據(jù)表孤立節(jié)點數(shù)較少,大部分數(shù)據(jù)表與其他數(shù)據(jù)表有參照引用關聯(lián)。

        作為一個反例,筆者一直猶豫將對開源系統(tǒng)NseerErp的分析寫進來,該系統(tǒng)擁有443個數(shù)據(jù)表,它采用隱性語義關聯(lián),由于數(shù)據(jù)表和字段命名的隨意性,通過算法 2和算法 2+都無法獲得其真實的DBCN。鑒于NseerErp在所討論的9個系統(tǒng)中規(guī)模最大,DBCN在大型系統(tǒng)的作用非常明顯,討論該系統(tǒng)的數(shù)據(jù)表和字段命名格式非常必要。由于NseerErp所有數(shù)據(jù)表的第1個字段名為主鍵且名稱均為“id”,其可能真正的主鍵沒有被定義為主鍵,如crm_order表中主鍵為系統(tǒng)自增量“id”,其后跟一個非主鍵“order_id”,在 crm_order_details,crm_discussion等多個表中也存在“order_id”,因此有理由認為這些“order_id”,參照引用表crm_order中的“order_id”字段。由于crm_order的order_id在數(shù)據(jù)庫中沒有被定義為主鍵,嘗試根據(jù)表名提取關鍵字,構造可能的主鍵,即 crm_id,order_id,而由 crm_order_details構造可能的主鍵也包含crm_id, order_id和details_id,無法確定哪個表中的order_id是主鍵,進一步以最短數(shù)據(jù)表名確定其中一個為主鍵,按照以上規(guī)則進一步篩選,其DBCN參數(shù)見表3,可以斷定該網(wǎng)絡具有不確定性,近似真實地反映系統(tǒng)的數(shù)據(jù)表關系,由于字段命名的不規(guī)范,可能存在遺漏和虛假的邊。如果系統(tǒng)采用 3.3節(jié)的命名規(guī)范,滿足外鍵字段和相關聯(lián)的主鍵字段同名,則容易構造確定性的DBCN,為軟件的理解和增量設計提供直觀的關系視圖。

        表3 DBCN統(tǒng)計參數(shù)

        4.3 距離分布和度分布

        圖2所示為6種DBCN的節(jié)點距離的概率分布,從確定性的主外鍵DBCN實例 CeoErp, Yundl和WebErp可以看出,密度最大的距離都為2,即存在傳遞一次的關聯(lián)關系最多,最長的傳遞距離分別是4, 5和5,它表示操作一個數(shù)據(jù)表在級聯(lián)更新和級聯(lián)刪除時影響其他數(shù)據(jù)表的深度。

        圖3分析了Yundl, EcShop, WebErp和CeoErp中每個節(jié)點的出入度,對入度按照降序排序,發(fā)現(xiàn)入度分布離散,出度分布比較均勻,例如在 Yundl中節(jié)點tbStudentBase入度達到33, EcShop的節(jié)點ecs_group_goods入度為 24, WebErp的節(jié)點stockmaster入度為18, CeoErp中節(jié)點tCustomer的入度為13。

        圖2 6種DBCN的節(jié)點距離分布

        圖3 4種DBCN的各節(jié)點出入度

        圖4(a)所示為4種DBCN的入度和出度的概率分布散點圖,圖4(b)為在雙對數(shù)坐標下近似擬合的直線,發(fā)現(xiàn)DBCN網(wǎng)絡具有比較明顯的無標度特征。以Yundl為例,數(shù)據(jù)表中47%的節(jié)點入度為0,有43%的節(jié)點出度為0,網(wǎng)絡結構不均勻,少數(shù)節(jié)點有較大的度,大量節(jié)點具有較小的度。

        4.4 核網(wǎng)絡特性

        一個圖的k-核指反復去掉度小于或等于k的節(jié)點后,所剩余的子圖。一個節(jié)點存在于k-核網(wǎng)絡,而在(k+1)-核中被移除,那么節(jié)點的核數(shù)為k,核數(shù)表明節(jié)點在核中的深度,也表明在網(wǎng)絡傳遞關系上,節(jié)點的復雜程度。Yundl-DBCN是基于主外鍵的DBCN,其網(wǎng)絡結構準確,它是一個 3-核網(wǎng)絡。其中 0-核即網(wǎng)絡全集,節(jié)點數(shù)較多,不易區(qū)分重要節(jié)點,難以觀察到網(wǎng)絡核心層。在3-核網(wǎng)絡上,迭代刪除了度為0,度為1和度為2的節(jié)點,節(jié)點數(shù)由初始的206個減少到35個,從網(wǎng)絡上能直觀獲得其骨干和深層的關聯(lián)信息。軟件工程過程使用DBCN的核網(wǎng)絡可視化數(shù)據(jù)層的關聯(lián),能降低分析設計的難度。

        圖4 4種DBCN的節(jié)點度分布概率

        在逐次構造的核網(wǎng)絡上,其參數(shù),即以節(jié)點數(shù)表示的網(wǎng)絡規(guī)模,網(wǎng)絡聚類系數(shù),平均長度和網(wǎng)絡密度的變化隨k-核網(wǎng)絡變化分別如圖 5(a)-5(d)所示,隨著k-核的增大,網(wǎng)絡節(jié)點數(shù)下降,在最大核網(wǎng)絡上,從確定性的主外鍵DBCN的實例CeoErp,Yundl和WebErp看,網(wǎng)絡規(guī)模下降到0.2倍以下,DBCN的核在3或4之間,而帶有不確定性的隱性語義關聯(lián)的 DBCN實例 Zabbix, EcShop和NseerErp,從圖上可以推測,構造算法可能引入了實際不存在的關聯(lián),網(wǎng)絡的統(tǒng)計特性異常。聚類系數(shù)隨k-核的增大變化不確定。網(wǎng)絡平均長度隨著k-核的增大在減少。網(wǎng)絡密度表示網(wǎng)絡節(jié)點間實際存在的邊數(shù)和可以存在的邊數(shù)比,其隨k-核的增大而增大,表明高核網(wǎng)絡上節(jié)點之間邊多,關聯(lián)緊密, 反映出用高核網(wǎng)絡分析網(wǎng)絡的骨干和深層關聯(lián)是合理的。

        5 結束語

        本文提出了數(shù)據(jù)庫復雜網(wǎng)絡的概念,其工程意義在于為管理信息系統(tǒng)提供了一種規(guī)模度量,為軟件的數(shù)據(jù)庫設計提供一種新的輔助工具,研究了常用數(shù)據(jù)庫管理系統(tǒng)的主外鍵關聯(lián)和語義隱性關聯(lián)形成的復雜網(wǎng)絡構造算法,并分析了網(wǎng)絡的統(tǒng)計特性。在大型的 MIS系統(tǒng)中,或者企業(yè)內(nèi)部的多個 MIS系統(tǒng)關聯(lián)形成的數(shù)據(jù)中心,DBCN的工程意義更加明顯,可以化簡數(shù)據(jù)層的復雜性。數(shù)據(jù)庫復雜網(wǎng)絡表示了數(shù)據(jù)庫關聯(lián)圖的統(tǒng)計特性,其節(jié)點(數(shù)據(jù)表)在網(wǎng)絡上的重要性是不同的,少量的節(jié)點之間蘊含了大多數(shù)的業(yè)務邏輯關系。此外,數(shù)據(jù)庫復雜網(wǎng)絡視圖也為軟件開發(fā)文檔的數(shù)據(jù)庫描述提供了一種新的形式,是一種自說明的文檔,使得在軟件版本變更、增量設計以及開發(fā)人員變動情況下,尤其在開源軟件的二次開發(fā)中,能快速理解數(shù)據(jù)庫內(nèi)部的關聯(lián),從而理解業(yè)務邏輯關系,縮短開發(fā)時間。鑒于構造基于隱性語義關聯(lián)的數(shù)據(jù)庫復雜網(wǎng)絡具有不確定性,提出了按照外鍵字段名與參照引用主鍵同名的原則來規(guī)范命名數(shù)據(jù)字段,能支持構造準確的網(wǎng)絡結構,輔助于軟件開發(fā)人員對系統(tǒng)邏輯的理解。

        圖5 不同核深度下6種DBCN網(wǎng)絡參數(shù)比較

        [1]何克清, 馬于濤, 劉婧, 等. 軟件網(wǎng)絡[M]. 北京: 科學出版社,2008: 5-37.

        He Ke-qing, Ma Yu-tao, Liu Jing,et al.. Software Networks[M]. Beijing: Science Press, 2008: 5-37.

        [2]LaBelle N and Wallingford E. Inter-package dependency networks in open-source software[OL]. http://arxiv. org/abs/cs/0411096, 2011, 2.

        [3]Myers C R. Software systems as complex networks: structure,function, and evolvability of software collaboration graphs[J].Physical Review E, 2003, 68(4): 046116.

        [4]Pan Wei-feng, Li Bing, and Ma Yu-tao. Multi-granularity evolution analysis of software using complex network theory[J].Journal of Systems Science and Complexity, 2011,24(6): 1068-1082.

        [5]韓言妮, 李德毅, 陳桂生. 軟件多粒度拓撲特性分析及其應用[J]. 計算機學報, 2009, 32(9): 1711-1721.

        Han Yan-ni, Li De-yi, and Chen Gui-sheng. Analysis on the topological properties of software network at different levels of granularity and its application[J].Chinese Journal of Computers, 2009, 32(9): 1711-1721.

        [6]王紅春. 網(wǎng)絡化軟件多粒度動態(tài)特性分析[D]. [博士論文], 武漢大學, 2010.

        Wang Hong-chun. Multi-granularity dynamic characteristic analysis of networked software[D]. [Ph.D. dissertation],Wuhan University, 2010.

        [7]Cai K Y and Yin B B. Software execution processes as an evolving complex network[J].Information Sciences, 2009,179(12): 1903-1928.

        [8]Li Huan and Li Bing. A pair of coupling metrics for software networks[J].Journal of Systems Science and Complexity,2011, 24(1): 51-60.

        [9]Ma Y T, He K Q, Li B,et al..A hybrid set of complexity metrics for large-scale object-oriented software systems[J].Journal of Computer Science and Technology, 2010, 25(6):1184-1201.

        [10]Ma Yu-tao, Liu Yu-chao, Zhang Hai-su,et al.. A hybrid method for prioritizing software requirements in terms of use cases[J].Journal of Convergence Information Technology,2012, 7(5): 17-27.

        [11]Li C F, Liu L Z, and Li X Y. Software networks of java class and application in fault localization[C]. Proceedings of ISDEA, Sanya, China, January 7-8, 2012: 1117-1120.

        [12]馬于濤, 何克清, 李兵, 等. 網(wǎng)絡化軟件的復雜網(wǎng)絡特性實證[J]. 軟件學報, 2011, 22(3): 381-407.

        Ma Yu-tao, He Ke-qing, Li Bing,et al.. Empirical study on the characteristics of complex networks in networked software[J].Journal of Software, 2011, 22(3): 381-407.

        [13]Fagin R. Degree of acyclicity for hypergraphs and relational database schemes[J].Journal of the Association for Computing Maceinery, 1983, 33(3): 514-550.

        猜你喜歡
        主鍵數(shù)據(jù)表關聯(lián)
        基于Go 實現(xiàn)的分布式主鍵系統(tǒng)研究
        湖北省新冠肺炎疫情數(shù)據(jù)表
        黨員生活(2020年2期)2020-04-17 09:56:30
        基于外鍵的E-R圖繪制方法研究
        “一帶一路”遞進,關聯(lián)民生更緊
        當代陜西(2019年15期)2019-09-02 01:52:00
        基于列控工程數(shù)據(jù)表建立線路拓撲關系的研究
        奇趣搭配
        智趣
        讀者(2017年5期)2017-02-15 18:04:18
        圖表
        基于VSL的動態(tài)數(shù)據(jù)表應用研究
        河南科技(2014年24期)2014-02-27 14:19:25
        數(shù)據(jù)庫主鍵的設計方法探討
        又紧又大又爽精品一区二区| 日韩精品成人一区二区三区久久久| 亚洲一区二区日韩精品| 欧美拍拍视频免费大全| 天码人妻一区二区三区| 亚洲AV无码国产永久播放蜜芽| 亚洲黄色一插一抽动态图在线看 | av毛片在线播放网址| 在线免费看91免费版.| 中文字幕精品久久一区二区三区| 一区二区三区美女免费视频 | 国产精品欧美福利久久| 国产精品免费久久久免费| 亚洲欧洲AV综合色无码| 青青草免费视频一区二区| 日韩在线永久免费播放| 黑森林福利视频导航| 国产另类综合区| 女同视频网站一区二区| 国产一区二区精品人妖系列在线| 中文字幕无码乱人伦| 亚洲伊人成综合网| 日本成人字幕在线不卡| 一区二区三区在线观看人妖| 亚洲精品国产av成人精品| 精品无码日韩一区二区三区不卡| 亚洲AV无码精品色欲av| 丰满少妇高潮在线观看| 自拍偷自拍亚洲一区二区| 国产精品熟女视频一区二区 | 亚洲精品97久久中文字幕无码| 一本大道在线一久道一区二区| 国产一区二区三区涩涩涩| 水野优香中文字幕av网站| 丰满岳妇乱一区二区三区| 国产精品视频流白浆免费视频| 日韩十八禁在线观看视频| 色噜噜亚洲男人的天堂| 波多野吉衣av无码| 在线天堂中文一区二区三区| 一区二区三区国产精品麻豆|