數(shù)據(jù)協(xié)調(diào)支援裝置和數(shù)據(jù)協(xié)調(diào)支援方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)協(xié)調(diào)支援裝置和數(shù)據(jù)協(xié)調(diào)支援方法。
【背景技術(shù)】
[0002]伴隨著系統(tǒng)間的協(xié)調(diào)或者系統(tǒng)彼此的合并,需要不同系統(tǒng)的數(shù)據(jù)庫間的數(shù)據(jù)協(xié)調(diào)或者同一數(shù)據(jù)庫內(nèi)的各個(gè)表間的數(shù)據(jù)協(xié)調(diào)。在數(shù)據(jù)協(xié)調(diào)中需要定義如下的數(shù)據(jù)協(xié)調(diào)關(guān)系:可以從哪個(gè)表(即,協(xié)調(diào)方表)的列中提取保存在作為協(xié)調(diào)對象的表(即,協(xié)調(diào)對象表)的列中的數(shù)據(jù)。
[0003]要想定義數(shù)據(jù)協(xié)調(diào)關(guān)系,需要通過某種手段檢測表間的列的對應(yīng)關(guān)系。進(jìn)而,需要能夠根據(jù)協(xié)調(diào)方表通過表操作制作作為協(xié)調(diào)對象表的列的組合的表布局。如果無法實(shí)施這種數(shù)據(jù)構(gòu)造的轉(zhuǎn)換,則無法在協(xié)調(diào)對象表中保存數(shù)據(jù)。當(dāng)不存在布局與協(xié)調(diào)對象表一致的協(xié)調(diào)方表,從2個(gè)以上的協(xié)調(diào)方表中收集數(shù)據(jù)來制作協(xié)調(diào)對象表的情況下,僅通過表間的列的相似性來判斷對應(yīng)關(guān)系是不充分的。實(shí)際上需要能夠針對這2個(gè)以上的協(xié)調(diào)方表實(shí)施結(jié)合(例如,JOIN)操作。
[0004]如上所述,在數(shù)據(jù)協(xié)調(diào)中,需要結(jié)合(例如,JOIN)協(xié)調(diào)方表來生成協(xié)調(diào)對象表。由此,要想定義數(shù)據(jù)協(xié)調(diào)關(guān)系,需要事先確定表間的參照關(guān)系。但是,在一般的數(shù)據(jù)庫中,雖然已被施加主關(guān)鍵字限制,但是沒有被施加外部參照限制,表間的參照關(guān)系往往不明確。因此,以往是人工提取表間的參照關(guān)系。需要理解數(shù)據(jù)庫技術(shù)和業(yè)務(wù)內(nèi)容的高級技術(shù)人員勞動密集型地實(shí)施該作業(yè)。
[0005]作為自動提取表間的參照關(guān)系的技術(shù),存在使用數(shù)據(jù)庫的表的記錄(即,實(shí)際數(shù)據(jù))的技術(shù)(例如,參照非專利文獻(xiàn)I)。
[0006]作為相似的自動提取列的對應(yīng)關(guān)系的技術(shù),存在所謂的模式(schema)匹配技術(shù)(例如,參照非專利文獻(xiàn)2)。
[0007]現(xiàn)有技術(shù)文獻(xiàn)
[0008]非專利文獻(xiàn)
[0009]非專利文獻(xiàn)1:Ling Ling Yan, Renee J.Miller, Laura M.Haas, andRonald Fagin, “Data-Driven Understanding and Refinement of SchemaMappings”,SIGMOD’OlProceedings of the 200IACM SIGMOD internat1nal conferenceon Management of data, 2001
[0010]非專利文獻(xiàn)2:Ronald Fagin, Laura M.Haas, Mauric1 Hernandez, ReneeJ.Miller, Lucian Popa, and Yannis Velegrakis, “Cl1:Schema Mapping Creat1n andData Exchange,,,Lecture Notes in Computer Science Volume 5600,2009
【發(fā)明內(nèi)容】
[0011]發(fā)明要解決的課題
[0012]在非專利文獻(xiàn)I中,讀入數(shù)據(jù)庫的表的記錄,估計(jì)記錄間的關(guān)系性和表間的結(jié)合關(guān)系,從而自動提取表間的參照關(guān)系。要想提高參照關(guān)系的提取精度,需要使用全部記錄。在該情況下,需要對大量記錄進(jìn)行處理。在針對大規(guī)模的系統(tǒng)執(zhí)行這種處理的情況下,無法使處理時(shí)間短于實(shí)用的時(shí)間的可能性較高。必然不得不縮減作為處理對象的系統(tǒng)。
[0013]也可以為了減少要使用的記錄數(shù)而活用采樣技術(shù)。但是,考慮表間的參照關(guān)系進(jìn)行采樣是很難的。采樣的結(jié)果是,原本存在參照關(guān)系的表有可能看起來不存在參照關(guān)系。
[0014]如上所述,非專利文獻(xiàn)I這樣的必須使用記錄的技術(shù)存在因記錄的量而使能夠應(yīng)用的系統(tǒng)的范圍受到限制這樣的課題。
[0015]在非專利文獻(xiàn)2這樣的模式匹配技術(shù)中,能夠僅從表定義信息這樣的元數(shù)據(jù)中提取相似的列的對應(yīng)關(guān)系。因此,當(dāng)與使用記錄的技術(shù)進(jìn)行比較時(shí),存在只需較少的處理數(shù)據(jù)量這樣的優(yōu)點(diǎn)。能夠?qū)⒋笠?guī)模的系統(tǒng)整體作為處理對象。
[0016]但是,模式匹配技術(shù)是尋找相似的列的技術(shù)。因此,無法為了自動提取表間的參照關(guān)系而直接使用。特別是在數(shù)據(jù)庫內(nèi)存在大量同義的列的情況下,將會檢測出大量從模式匹配技術(shù)的觀點(diǎn)來看是正確的對應(yīng)關(guān)系但并不是參照關(guān)系的對應(yīng)關(guān)系。
[0017]并且,在模式匹配技術(shù)中存在如下的課題:未考慮到為了進(jìn)行數(shù)據(jù)協(xié)調(diào)而需要根據(jù)協(xié)調(diào)方表通過表操作制作協(xié)調(diào)對象表的布局這一點(diǎn)。
[0018]本發(fā)明的目的在于,例如在數(shù)據(jù)協(xié)調(diào)中高效地檢測作為協(xié)調(diào)對象的表與哪個(gè)表之間存在參照關(guān)系。
[0019]用于解決課題的手段
[0020]本發(fā)明的一個(gè)方式的數(shù)據(jù)協(xié)調(diào)支援裝置是對具有多個(gè)表的數(shù)據(jù)庫的數(shù)據(jù)協(xié)調(diào)進(jìn)行支援的裝置,數(shù)據(jù)協(xié)調(diào)支援裝置具有:信息存儲部,其存儲主關(guān)鍵字信息和屬性信息,其中,該主關(guān)鍵字信息表示所述多個(gè)表分別包含的多個(gè)列的各個(gè)列是否成為主關(guān)鍵字,該屬性信息表示保存在所述多個(gè)表分別包含的多個(gè)列的各個(gè)列中的數(shù)據(jù)的屬性;表選擇部,其選擇所述多個(gè)表中的作為數(shù)據(jù)協(xié)調(diào)的協(xié)調(diào)對象的I個(gè)表;列確定部,其對于所述多個(gè)表中的由所述表選擇部選擇出的表以外的各個(gè)表,根據(jù)存儲在所述信息存儲部中的主關(guān)鍵字信息,從相應(yīng)的表包含的多個(gè)列中,確定成為主關(guān)鍵字的第I列和沒有成為主關(guān)鍵字的第2列;表提取部,其從所述多個(gè)表中的由所述表選擇部選擇出的表以外的表中,根據(jù)存儲在所述信息存儲部中的屬性信息,提取在由所述表選擇部選擇出的表中包含與由所述列確定部確定的第I列相似的第3列且在由所述表選擇部選擇出的表中包含與由所述列確定部確定的第2列相似的第4列的表;以及信息輸出部,其輸出推薦信息,該推薦信息推薦將由所述表選擇部選擇出的表與由所述表提取部提取出的表的組合用于數(shù)據(jù)協(xié)調(diào)。
[0021]發(fā)明效果
[0022]根據(jù)本發(fā)明的一個(gè)方式,數(shù)據(jù)協(xié)調(diào)支援裝置能夠在數(shù)據(jù)協(xié)調(diào)中高效地檢測作為協(xié)調(diào)對象的表與哪個(gè)表之間存在參照關(guān)系。
【附圖說明】
[0023]圖1是示出實(shí)施方式I的數(shù)據(jù)協(xié)調(diào)支援裝置的結(jié)構(gòu)的框圖。
[0024]圖2是示出實(shí)施方式I的協(xié)調(diào)方信息的例子的表。
[0025]圖3是示出實(shí)施方式I的數(shù)據(jù)協(xié)調(diào)支援裝置的動作的例子的流程圖。
[0026]圖4是示出實(shí)施方式I的參照方信息和主關(guān)鍵字定義信息的例子的表。
[0027]圖5是示出實(shí)施方式I的模式匹配的結(jié)果的例子的表。
[0028]圖6是示出實(shí)施方式I的參照關(guān)系信息的例子的表。
[0029]圖7是示出實(shí)施方式I的數(shù)據(jù)協(xié)調(diào)支援裝置的動作的例子的流程圖。
[0030]圖8是示出實(shí)施方式I的非外部關(guān)鍵字定義信息和非主關(guān)鍵字定義信息的例子的表。
[0031]圖9是示出實(shí)施方式I的模式匹配的結(jié)果的例子的表。
[0032]圖10是示出實(shí)施方式I的協(xié)調(diào)關(guān)系信息的例子的表。
[0033]圖11是示出實(shí)施方式I的數(shù)據(jù)協(xié)調(diào)支援裝置的動作的例子的流程圖。
[0034]圖12是示出實(shí)施方式I的提取結(jié)果的例子的表。
[0035]圖13是示出實(shí)施方式I的數(shù)據(jù)協(xié)調(diào)支援裝置的動作的例子的流程圖。
[0036]圖14是示出實(shí)施方式I的輸入信息和推薦信息的例子的表。
[0037]圖15是示出實(shí)施方式I的數(shù)據(jù)協(xié)調(diào)支援裝置的硬件結(jié)構(gòu)的例子的圖。
【具體實(shí)施方式】
[0038]以下,使用附圖對本發(fā)明的實(shí)施方式進(jìn)行說明。
[0039]實(shí)施方式I
[0040]圖1是示出本實(shí)施方式的數(shù)據(jù)協(xié)調(diào)支援裝置100的結(jié)構(gòu)的框圖。
[0041]在圖1中,數(shù)據(jù)協(xié)調(diào)支援裝置100是對具有多個(gè)表的數(shù)據(jù)庫的數(shù)據(jù)協(xié)調(diào)進(jìn)行支援的裝置。由數(shù)據(jù)協(xié)調(diào)支援裝置100支援的數(shù)據(jù)協(xié)調(diào)可以是數(shù)據(jù)庫的不同實(shí)例(instance)間的數(shù)據(jù)協(xié)調(diào),也可以是相同實(shí)例的不同模式間的數(shù)據(jù)協(xié)調(diào),還可以是相同模式的不同表間的數(shù)據(jù)協(xié)調(diào)。
[0042]數(shù)據(jù)協(xié)調(diào)支援裝置100具有信息存儲部101、表選擇部102、列確定部103、表提取部104、信息蓄積部105以及信息輸出部106。
[0043]雖然在圖1中未圖示,但是,數(shù)據(jù)協(xié)調(diào)支援裝置100具有處理裝置、存儲裝置、輸入裝置、輸出裝置等硬件。由數(shù)據(jù)協(xié)調(diào)支援裝置100的各部使用硬件。例如,處理裝置是為了由數(shù)據(jù)協(xié)調(diào)支援裝置100的各部進(jìn)行數(shù)據(jù)或者信息的運(yùn)算、加工、讀取、寫入等而使用的。存儲裝置是為了存儲該數(shù)據(jù)或者信息而使用的。輸入裝置是為了輸入該數(shù)據(jù)或者信息而使用的。輸出裝置是為了輸出該數(shù)據(jù)或者信息而使用的。
[0044]信息存儲部101使用存儲裝置存儲協(xié)調(diào)方信息111和協(xié)調(diào)對象信息112。
[0045]協(xié)調(diào)方信息111是定義作為數(shù)據(jù)協(xié)調(diào)的協(xié)調(diào)方的數(shù)據(jù)庫(即,協(xié)調(diào)方數(shù)據(jù)庫)的多個(gè)表(即,協(xié)調(diào)方表)的信息。協(xié)調(diào)方信息111包含協(xié)調(diào)方數(shù)據(jù)庫的主關(guān)鍵字信息和屬性信息。協(xié)調(diào)方數(shù)據(jù)庫的主關(guān)鍵字信息是表示包含在多個(gè)協(xié)調(diào)方表的各個(gè)表中的多個(gè)列的各個(gè)列是否是主關(guān)鍵字的信息。協(xié)調(diào)方數(shù)據(jù)庫的屬性信息是表示包含在多個(gè)協(xié)調(diào)方表的各個(gè)表中的多個(gè)列的各個(gè)列中保存的數(shù)據(jù)的屬性(例如,列名、數(shù)據(jù)類型)的信息。
[0046]協(xié)調(diào)對象信息112是定義作為數(shù)據(jù)協(xié)調(diào)的協(xié)調(diào)對象的數(shù)據(jù)庫(即,協(xié)調(diào)對象數(shù)據(jù)庫)的多個(gè)表(即,協(xié)調(diào)對象表)的信息。協(xié)調(diào)對象信息112包含協(xié)調(diào)對象數(shù)據(jù)庫的主關(guān)鍵字信息和屬性信息。協(xié)調(diào)對象數(shù)據(jù)庫的主關(guān)鍵字信息是表示包含在多個(gè)協(xié)調(diào)對象表的各個(gè)表中的多個(gè)列的各個(gè)列是否是主關(guān)鍵字的信息。協(xié)調(diào)對象數(shù)據(jù)庫的屬性信息是表示包含在多個(gè)協(xié)調(diào)對象表的各個(gè)表中的多個(gè)列的各個(gè)列中保存的數(shù)據(jù)的屬性(例如,列名、數(shù)據(jù)類型)的信息。
[0047]協(xié)調(diào)方信息111和協(xié)調(diào)對象信息112經(jīng)由輸入裝置輸入,存儲在信息存儲部101中。
[0048]表選擇部102選擇多個(gè)協(xié)調(diào)對象表中的I個(gè)協(xié)調(diào)對象表。
[0049]例如,表選擇部102讀取存儲在信息存儲部101中的協(xié)調(diào)對象信息112。表選擇部102從由讀取出的協(xié)調(diào)對象信息112定義的協(xié)調(diào)對象表中選擇I個(gè)協(xié)調(diào)對象表。
[0050]關(guān)于協(xié)調(diào)方數(shù)據(jù)庫和協(xié)調(diào)對象數(shù)據(jù)庫的多個(gè)表中的由表選擇部102選擇出的協(xié)調(diào)對象表以外的各個(gè)表,列確定部103根據(jù)上述的主關(guān)鍵字信息,從包含在相應(yīng)的表中的多個(gè)列中確定作為主關(guān)鍵字的第I列和不作為主關(guān)鍵字的第2列。
[0051]例如,列確定部103讀取存儲在信息存儲部101中的協(xié)調(diào)方信息111和協(xié)調(diào)對象信息112。關(guān)于由讀取