• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種數(shù)據(jù)查詢方法和系統(tǒng)技術(shù)方案

    技術(shù)編號:9668081 閱讀:136 留言:0更新日期:2014-02-14 06:40
    本發(fā)明專利技術(shù)公開了一種數(shù)據(jù)查詢方法和系統(tǒng),首先抽取業(yè)務系統(tǒng)中的各項維度,建立描述所述業(yè)務系統(tǒng)的業(yè)務數(shù)據(jù)的若干邏輯表,并建立各邏輯表與所述的維度之間的關(guān)聯(lián)關(guān)系;然后根據(jù)業(yè)務系統(tǒng)的物理表,建立物理表與各邏輯表之間的映射關(guān)系,并根據(jù)邏輯表以及按規(guī)則定義的邏輯數(shù)據(jù)查詢語法,編寫邏輯查詢語句,最后依據(jù)物理表與邏輯表之間的映射關(guān)系,將邏輯查詢語句轉(zhuǎn)化為結(jié)構(gòu)化查詢語句,并將結(jié)構(gòu)化查詢語句在數(shù)據(jù)庫中執(zhí)行完成業(yè)務數(shù)據(jù)的查詢。通過本發(fā)明專利技術(shù)所述的方法和系統(tǒng),能夠降低數(shù)據(jù)表理解及書寫的復雜度,改善業(yè)務系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)的可理解性。

    【技術(shù)實現(xiàn)步驟摘要】
    一種數(shù)據(jù)查詢方法和系統(tǒng)
    本專利技術(shù)涉及數(shù)據(jù)存儲及查詢
    ,具體涉及一種新的數(shù)據(jù)查詢方法和系統(tǒng)。
    技術(shù)介紹
    RDB (Relational Database,關(guān)系數(shù)據(jù)庫)及其上的 SQL (Structured QueryLanguage,結(jié)構(gòu)化查詢語言)是當前信息系統(tǒng)中應用最廣泛的數(shù)據(jù)存儲與查詢方案。RDB將數(shù)據(jù)存儲于若干物理表(關(guān)系數(shù)據(jù)庫中存放數(shù)據(jù)的基本單元,有若干數(shù)據(jù)結(jié)構(gòu)相同的記錄構(gòu)成,上下文清晰時將簡稱表)中,每個表由若干數(shù)據(jù)結(jié)構(gòu)相同的記錄構(gòu)成,記錄的屬性稱為字段。其中某些字段并指定為表的主鍵,要求這些字段(組)的取值在表內(nèi)記錄中唯一(即沒有兩條記錄在這些字段上的取值相同),這樣可以用這組字段值為唯一確定一條記錄。當某個表的記錄要引用另一個表的記錄時(如員工表的所在部門字段將引用部門表中的記錄),則建立引用表到被引用表的外鍵,引用表中每條記錄的某些稱為外鍵的字段取值為被引用表的某記錄的主鍵。一個表可以建立多個引用其它表的外鍵,還可以建立引用本表的外鍵(如人員表中的配偶字段仍然引用人員表中的記錄),也可能針對同一個被引用表建立多個關(guān)聯(lián)(如人員表中的出生地區(qū)和工作地區(qū)均引用地區(qū)表)。一個業(yè)務系統(tǒng)的數(shù)據(jù)可能有多個表構(gòu)成,這些表之間均可能有關(guān)聯(lián),有時關(guān)聯(lián)還不止一個,甚至還有與本表自己的關(guān)聯(lián)。這樣,在RDB中,這些表將構(gòu)成一個網(wǎng)狀結(jié)構(gòu),N個表之間的關(guān)聯(lián)數(shù)量是N2級別的,很不利于應用開發(fā)人員理解業(yè)務數(shù)據(jù)的體系結(jié)構(gòu)。同時,表與表之間的耦合度也非常高,導致應用程序的局部維護修改都很困難。當要取出多個有關(guān)聯(lián)表中的記錄時,SQL采用連接語法來書寫,其基本原理可以理解為將多個表中的記錄先做完全叉乘(即笛卡爾積),再使用引用表的外鍵與被引用表的外鍵相等的過濾條件將叉乘出來的不必要的記錄去除,從而得到最后的結(jié)果。如果有涉及N個表,則兩兩之間均有可能有關(guān)聯(lián),則可能書寫出來的連接過濾條件會有N* (N-1) /2個,復雜度也是N2級別的,導致書寫非常困難。
    技術(shù)實現(xiàn)思路
    針對現(xiàn)有技術(shù)中存在的缺陷,本專利技術(shù)的目的在于提供一種數(shù)據(jù)查詢方法及系統(tǒng),降低數(shù)據(jù)表理解及書寫的復雜度,改善業(yè)務系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)的可理解性。為實現(xiàn)上述目的,本專利技術(shù)采用的技術(shù)方案如下:一種數(shù)據(jù)查詢方法,包括以下步驟:( I)抽取業(yè)務系統(tǒng)中的各項維度;(2)建立所述業(yè)務系統(tǒng)的若干邏輯表,并建立各邏輯表與所述的維度之間的關(guān)聯(lián)關(guān)系;所述的邏輯表用于描述業(yè)務系統(tǒng)的業(yè)務數(shù)據(jù);(3)根據(jù)業(yè)務系統(tǒng)的物理表,建立物理表與各邏輯表之間的映射關(guān)系;所述的物理表用于存儲業(yè)務系統(tǒng)的業(yè)務數(shù)據(jù);(4)根據(jù)邏輯表以及按規(guī)則定義的邏輯數(shù)據(jù)查詢語法,編寫邏輯查詢語句LSQL ;(5)依據(jù)物理表與邏輯表之間的映射關(guān)系,將邏輯查詢語句LSQL轉(zhuǎn)化為結(jié)構(gòu)化查詢語句SQL,并將SQL語句在數(shù)據(jù)庫中執(zhí)行完成業(yè)務數(shù)據(jù)的查詢。進一步,如上所述的一種數(shù)據(jù)查詢方法,步驟(I)中,在抽取業(yè)務系統(tǒng)中的各項維度時,還包括抽取各項維度所包含的層次,并確定各項維度的層次之間的計算關(guān)系;所述的各項維度的層次包括基礎(chǔ)層和匯總層;所述的匯總層是指該層次能夠由其它一個或多個基礎(chǔ)層次計算出來。進一步,如上所述的一種數(shù)據(jù)查詢方法,步驟(2)中,所述的邏輯表包括若干邏輯字段,建立邏輯表與所述的維度之間的關(guān)聯(lián)關(guān)系的具體方式為:將邏輯表的外鍵設(shè)置為指向某個維度或者某個維度的層次的字段,邏輯表的主鍵為邏輯表中一個取值唯一的字段或者多個取值唯一的字段組。進一步,如上所述的一種數(shù)據(jù)查詢方法,建立物理表與邏輯表之間的映射關(guān)系的具體方式為:a)在物理表中選擇與每個邏輯表相對應的基表,邏輯表中的每個邏輯字段都能夠由所述的基表計算而來;b)建立邏輯表的主鍵與基表主鍵之間的映射關(guān)系;c)建立邏輯表中非主鍵邏輯字段與基表字段之間的計算關(guān)系。進一步,如上所述的一種數(shù)據(jù)查詢方法,步驟a)中,根據(jù)邏輯表所描述的業(yè)務數(shù)據(jù)的數(shù)據(jù)范圍確定與其對應的基表。再進一步,如上所述的一種數(shù)據(jù)查詢方法,步驟c)中,所述的邏輯表中非主鍵邏輯字段與基表字段之間的計算關(guān)系是指邏輯表中的每個邏輯字段由基表字段構(gòu)成的表達式表不。更進一步,如上所述的一種數(shù)據(jù)查詢方法,步驟(5)中,將LSQL查詢語句轉(zhuǎn)化為SQL語句的具體方式為:根據(jù)所述的邏輯數(shù)據(jù)查詢語句LSQL獲取語句中的業(yè)務數(shù)據(jù)項,根據(jù)所述的業(yè)務數(shù)據(jù)項以及邏輯表與物理表之間的映射關(guān)系,將LSQL語句轉(zhuǎn)化成基于物理表的SQL查詢語句。一種數(shù)據(jù)查詢系統(tǒng),包括:維度抽取模塊,用于抽取業(yè)務系統(tǒng)中的各項維度;邏輯表建立模塊,建立所述業(yè)務系統(tǒng)的若干邏輯表,并建立各邏輯表與所述的維度之間的關(guān)聯(lián)關(guān)系;所述的邏輯表用于描述業(yè)務系統(tǒng)的業(yè)務數(shù)據(jù);映射關(guān)系建立模塊,用于根據(jù)業(yè)務系統(tǒng)的物理表,建立物理表與各邏輯表之間的映射關(guān)系;邏輯查詢語句設(shè)計模塊,用于根據(jù)邏輯表以及按規(guī)則定義的邏輯數(shù)據(jù)查詢語法,編寫邏輯查詢語句LSQL ;數(shù)據(jù)查詢模塊,用于依據(jù)物理表與邏輯表之間的映射關(guān)系將邏輯查詢語句LSQL語句轉(zhuǎn)化為結(jié)構(gòu)化查詢語句SQL,并將SQL語句在數(shù)據(jù)庫中執(zhí)行以完成業(yè)務數(shù)據(jù)的查詢。進一步,如上所述的一種數(shù)據(jù)查詢系統(tǒng),所述的維度抽取模塊還用于抽取各項維度所包含的層次,并確定各項維度的層次之間的計算關(guān)系;所述的各項維度的層次包括基礎(chǔ)層和匯總層;所述的匯總層是指該層次能夠由其它一個或多個基礎(chǔ)層次計算出來。進一步,如上所述的一種數(shù)據(jù)查詢系統(tǒng),所述的邏輯表建立模塊包括:外鍵設(shè)置單元,用于設(shè)置邏輯表的外鍵,邏輯表的外鍵設(shè)置為指向某個維度或者某個維度的層次的字段;主鍵設(shè)置單元,用于設(shè)置邏輯表的主鍵,邏輯表的主鍵為邏輯表中一個取值唯一的字段或者多個取值唯一的字段組。再進一步,如上所述的一種數(shù)據(jù)查詢系統(tǒng),所述的映射關(guān)系建立模塊包括:基表選擇單兀,用于在物理表中選擇與每個邏輯表相對應的基表,邏輯表中的每個邏輯字段都能夠由所述的基表計算而來;主鍵關(guān)系建立單兀,用于建立邏輯表的主鍵與基表主鍵之間的映射關(guān)系;字段關(guān)系建立單元,用于建立邏輯表中非主鍵邏輯字段與基表字段之間的計算關(guān)系O更進一步,如上所述的一種數(shù)據(jù)查詢系統(tǒng),所述的數(shù)據(jù)查詢模塊包括:語句轉(zhuǎn)換單元,用于依據(jù)物理表與邏輯表之間的映射關(guān)系將邏輯查詢語句LSQL語句轉(zhuǎn)化為結(jié)構(gòu)化查詢語句SQL語句,轉(zhuǎn)換的具體方式為:根據(jù)所述的邏輯數(shù)據(jù)查詢語句LSQL獲取語句中的業(yè)務數(shù)據(jù)項,根據(jù)所述的業(yè)務數(shù)據(jù)項以及邏輯表與物理表之間的映射關(guān)系,將LSQL語句轉(zhuǎn)化成基于物理表的SQL查詢語句;查詢單元,用于將SQL語句在數(shù)據(jù)庫中執(zhí)行完成業(yè)務數(shù)據(jù)的查詢。本專利技術(shù)的有益效果在于:I)將關(guān)系數(shù)據(jù)庫RDB中網(wǎng)狀的數(shù)據(jù)模型改造成總線結(jié)構(gòu),即每個邏輯表均與事先抽取出來的維度關(guān)聯(lián),而邏輯表之間不再有關(guān)聯(lián)。關(guān)聯(lián)數(shù)量與邏輯表數(shù)量匹配,復雜度是N級別的。這將極大改善業(yè)務系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)可理解性。2 )由于邏輯表之間不再有關(guān)聯(lián),從而降低表之間的耦合度,這樣可以很方便地進行系統(tǒng)的局部修改和升級及添加、刪除某個子系統(tǒng)。3)可以通過在邏輯模型的基礎(chǔ)上設(shè)計LSQL語法(基于本專利技術(shù)所述方法及系統(tǒng)的邏輯數(shù)據(jù)查詢語言),在書寫多表關(guān)聯(lián)查詢時也只需要針對匯總維度對齊,而無須關(guān)心表之間的關(guān)聯(lián),使書寫復雜度也降成N級別。4)對于單外鍵指向的附表引用,LSQL可以簡單地使用對象方式引用,將這種本文檔來自技高網(wǎng)
    ...

    【技術(shù)保護點】
    一種數(shù)據(jù)查詢方法,包括以下步驟:(1)抽取業(yè)務系統(tǒng)中的各項維度;(2)建立所述業(yè)務系統(tǒng)的若干邏輯表,并建立各邏輯表與所述的維度之間的關(guān)聯(lián)關(guān)系;所述的邏輯表用于描述業(yè)務系統(tǒng)的業(yè)務數(shù)據(jù);(3)根據(jù)業(yè)務系統(tǒng)的物理表,建立物理表與各邏輯表之間的映射關(guān)系;所述的物理表用于存儲業(yè)務系統(tǒng)的業(yè)務數(shù)據(jù);(4)根據(jù)邏輯表以及按規(guī)則定義的邏輯數(shù)據(jù)查詢語法,編寫邏輯查詢語句LSQL;(5)依據(jù)物理表與邏輯表之間的映射關(guān)系,將邏輯查詢語句LSQL轉(zhuǎn)化為結(jié)構(gòu)化查詢語句SQL,并將SQL語句在數(shù)據(jù)庫中執(zhí)行完成業(yè)務數(shù)據(jù)的查詢。

    【技術(shù)特征摘要】
    1.一種數(shù)據(jù)查詢方法,包括以下步驟: (1)抽取業(yè)務系統(tǒng)中的各項維度; (2)建立所述業(yè)務系統(tǒng)的若干邏輯表,并建立各邏輯表與所述的維度之間的關(guān)聯(lián)關(guān)系;所述的邏輯表用于描述業(yè)務系統(tǒng)的業(yè)務數(shù)據(jù); (3)根據(jù)業(yè)務系統(tǒng)的物理表,建立物理表與各邏輯表之間的映射關(guān)系;所述的物理表用于存儲業(yè)務系統(tǒng)的業(yè)務數(shù)據(jù); (4)根據(jù)邏輯表以及按規(guī)則定義的邏輯數(shù)據(jù)查詢語法,編寫邏輯查詢語句LSQL; (5)依據(jù)物理表與邏輯表之間的映射關(guān)系,將邏輯查詢語句LSQL轉(zhuǎn)化為結(jié)構(gòu)化查詢語句SQL,并將SQL語句在數(shù)據(jù)庫中執(zhí)行完成業(yè)務數(shù)據(jù)的查詢。2.如權(quán)利要求1所述的一種數(shù)據(jù)查詢方法,其特征在于,步驟(1)中,在抽取業(yè)務系統(tǒng)中的各項維度時,還包括抽取各項維度所包含的層次,并確定各項維度的層次之間的計算關(guān)系;所述的各項維度的層次包括基礎(chǔ)層和匯總層;所述的匯總層是指該層次能夠由其它一個或多個基礎(chǔ)層次計算出來。3.如權(quán)利要求1或2所述的一種數(shù)據(jù)查詢方法,其特征在于,步驟(2)中,所述的邏輯表包括若干邏輯字段,建立邏輯表與所述的維度之間的關(guān)聯(lián)關(guān)系的具體方式為: 將邏輯表的外鍵設(shè)置為指向某個維度或者某個維度的層次的字段,邏輯表的主鍵為邏輯表中一個取值唯一的字段或者多個取值唯一的字段組。4.如權(quán)利要求3所述的一種數(shù)據(jù)查詢方法,其特征在于,建立物理表與邏輯表之間的映射關(guān)系的具體方式為: a)在物理表中選擇與每個邏輯表相對應的基表,邏輯表中的每個邏輯字段都能夠由所述的基表計算而來; b)建立邏輯表的主鍵與基表主鍵之間的映射關(guān)系; c)建立邏輯表中非主鍵邏輯字段與基表字段之間的計算關(guān)系。5.如權(quán)利要求4所述的一種數(shù)據(jù)查詢方法,其特征在于,步驟a)中,根據(jù)邏輯表所描述的業(yè)務數(shù)據(jù)的數(shù)據(jù)范圍確定與其對應的基表。6.如權(quán)利要求5所述的一種數(shù)據(jù)查詢方法,其特征在于,步驟c)中,所述的邏輯表中非主鍵邏輯字段與基表字段之間的計算關(guān)系是指邏輯表中的每個邏輯字段由基表字段構(gòu)成的表達式表不。7.如權(quán)利要求1至6之一所述的一種數(shù)據(jù)查詢方法,其特征在于,步驟(5)中,將LSQL查詢語句轉(zhuǎn)化為SQL語句的具體方式為: 根據(jù)所述的邏輯數(shù)據(jù)查詢語句LSQL獲取語句中的業(yè)務數(shù)據(jù)項,根據(jù)所述的業(yè)務數(shù)據(jù)項以及邏輯表與物理表之間的映射關(guān)系,將...

    【專利技術(shù)屬性】
    技術(shù)研發(fā)人員:蔣步星
    申請(專利權(quán))人:北京潤乾信息系統(tǒng)技術(shù)有限公司
    類型:發(fā)明
    國別省市:

    網(wǎng)友詢問留言 已有0條評論
    • 還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 性无码专区一色吊丝中文字幕| 精品亚洲av无码一区二区柚蜜| 国产精品无码无片在线观看3D| 无码一区二区三区亚洲人妻| 久久久久久av无码免费看大片| 亚洲av中文无码乱人伦在线咪咕| 久久亚洲精品无码aⅴ大香| 亚洲国产成人精品无码区二本 | 日韩精品无码一区二区三区四区 | 无码午夜成人1000部免费视频| JAVA性无码HD中文| 亚洲成A∨人片天堂网无码| 无码精品久久久久久人妻中字| 无码午夜人妻一区二区不卡视频| 亚洲AV无码第一区二区三区| 中文字幕人妻三级中文无码视频| 亚洲熟妇无码AV不卡在线播放| 伊人久久无码中文字幕| 无码国产亚洲日韩国精品视频一区二区三区| 国产亚洲精品无码成人| 精品久久久久久无码免费| 无码天堂va亚洲va在线va| 亚洲午夜无码毛片av久久京东热 | 日韩精品无码一区二区视频| 久久亚洲中文字幕无码| 亚洲中文字幕久久精品无码2021 | 日韩人妻无码精品系列| 亚洲精品无码成人片在线观看| 亚洲色在线无码国产精品不卡| 麻豆AV无码精品一区二区| 免费人妻无码不卡中文字幕系| 丰满熟妇人妻Av无码区| AV无码小缝喷白浆在线观看 | 久久久久亚洲av无码专区喷水| 亚洲一区AV无码少妇电影☆| 不卡无码人妻一区三区音频| 免费无码AV一区二区| 韩国免费a级作爱片无码| 国产亚洲美日韩AV中文字幕无码成人| 亚洲AⅤ无码一区二区三区在线| 五月婷婷无码观看|