欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

數(shù)據(jù)查詢系統(tǒng)和數(shù)據(jù)查詢方法

文檔序號(hào):6399619閱讀:259來源:國(guó)知局
專利名稱:數(shù)據(jù)查詢系統(tǒng)和數(shù)據(jù)查詢方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)查詢技術(shù)領(lǐng)域,具體而言,涉及一種數(shù)據(jù)查詢系統(tǒng)和一種數(shù)據(jù)查詢方法。
背景技術(shù)
語義即數(shù)據(jù)的業(yè)務(wù)含義。簡(jiǎn)單的說,數(shù)據(jù)就是符號(hào)。數(shù)據(jù)本身沒有任何意義,只有被賦予含義的數(shù)據(jù)才能夠被使用,這時(shí)候數(shù)據(jù)就轉(zhuǎn)化為了信息,而數(shù)據(jù)的含義就是語義。目前一般的數(shù)據(jù)查詢方式都是SQL (Structure Query Language,結(jié)構(gòu)化查詢語言)語句,這種SQL方式雖然能夠滿足數(shù)據(jù)查詢要求,但是存在如下缺陷:1、編寫復(fù)雜;2、表述冗余,可讀性差;3、無法利用數(shù)據(jù)物理表間的關(guān)系。因此,需要一種新的數(shù)據(jù)查詢技術(shù),可以利用數(shù)據(jù)物理表間的關(guān)系進(jìn)行數(shù)據(jù)查詢,從而降低查詢語句的復(fù)雜度,提升其可讀性。

發(fā)明內(nèi)容
本發(fā)明正是基于上述問題,提出了一種新的數(shù)據(jù)查詢技術(shù),可以利用數(shù)據(jù)物理表間的關(guān)系進(jìn)行數(shù)據(jù)查詢,從而降低查詢語句的復(fù)雜度,提升其可讀性。有鑒于此,本發(fā)明提出了一種數(shù)據(jù)查詢系統(tǒng),包括:第一語句生成單元,用于根據(jù)待查詢數(shù)據(jù)生成包含語義表達(dá)式的第一 SQL查詢語句;表達(dá)式獲取單元,用于從所述第一SQL查詢語句中獲取所述語義表達(dá)式;表達(dá)式解析單元,用于對(duì)所述表達(dá)式獲取單元獲取的所述語義表達(dá)式進(jìn)行解析,以確定所述語義表達(dá)式對(duì)應(yīng)的多個(gè)數(shù)據(jù)物理表、在每個(gè)所述數(shù)據(jù)物理表中對(duì)應(yīng)的字段以及所述多個(gè)數(shù)據(jù)物理表之間的關(guān)聯(lián)關(guān)系;第二語句生成單元,用于根據(jù)所述多個(gè)數(shù)據(jù)物理表以及所述關(guān)聯(lián)關(guān)系,生成第二 SQL查詢語句;語句執(zhí)行單元,用于執(zhí)行所述第二 SQL查詢語句,以獲取所述待查詢數(shù)據(jù)。在該技術(shù)方案中,通過語義表達(dá)式,從而獲取查詢所需的多個(gè)數(shù)據(jù)物理表及多個(gè)表格間的數(shù)據(jù)關(guān)系,從而簡(jiǎn)化了 SQL查詢語句,有利于語句的編寫和查閱。在上述技術(shù)方案中,優(yōu)選地,所述第一語句生成單元根據(jù)數(shù)據(jù)字典物理關(guān)系構(gòu)建字段樹結(jié)構(gòu),并根據(jù)所述字段樹結(jié)構(gòu)上的節(jié)點(diǎn)路徑生成所述語義表達(dá)式。在該技術(shù)方案中,根據(jù)字段樹結(jié)構(gòu)生成語義表達(dá)式,從而一方面便于該語義表達(dá)式的生成,另一方面有助于根據(jù)該語義表達(dá)式確定對(duì)應(yīng)的數(shù)據(jù)物理表及多個(gè)表格之間的數(shù)據(jù)關(guān)系。在上述技術(shù)方案中,優(yōu)選地,所述表達(dá)式獲取單元按照“數(shù)據(jù)物理表.字段1.字段2....字段η”的格式從所述第一 SQL查詢語句中獲取所述語義表達(dá)式,以用于生成所述第二 SQL查詢語句。在該技術(shù)方案中,按照預(yù)設(shè)的格式,從而有利于確定查詢所需的數(shù)據(jù)物理表及多個(gè)表格之間的數(shù)據(jù)關(guān)系。在上述技術(shù)方案中,優(yōu)選地,還包括:判斷單元,用于判斷所述語義表達(dá)式是否能夠正常解析,若能,則由所述表達(dá)式解析單元進(jìn)行解析以生成所述第二 SQL查詢語句,否則返回解析錯(cuò)誤信息。在該技術(shù)方案中,若語義表達(dá)式無法正常解析,則仍能夠采用傳統(tǒng)的SQL語句的方式實(shí)現(xiàn)數(shù)據(jù)查詢。在上述技術(shù)方案中,優(yōu)選地,所述判斷單元具體對(duì)所述第一 SQL查詢語句進(jìn)行字符串檢查;其中,若其中包含至少兩個(gè)”符號(hào)連接的字符,則判定能夠正常解析。在該技術(shù)方案中,可以對(duì)語義表達(dá)式是否能夠正常解析進(jìn)行判斷,從而在無法解析時(shí)采用傳統(tǒng)的SQL語句的方式,確保對(duì)數(shù)據(jù)的查詢能夠正常執(zhí)行。根據(jù)本發(fā)明的又一方面,還提出了一種數(shù)據(jù)查詢方法,包括:步驟202,根據(jù)待查詢數(shù)據(jù)生成包含語義表達(dá)式的第一 SQL查詢語句;步驟204,獲取并解析所述語義表達(dá)式,確定所述語義表達(dá)式對(duì)應(yīng)的多個(gè)數(shù)據(jù)物理表、在每個(gè)所述數(shù)據(jù)物理表中對(duì)應(yīng)的字段以及所述多個(gè)數(shù)據(jù)物理表之間的關(guān)聯(lián)關(guān)系;步驟206,根據(jù)所述多個(gè)數(shù)據(jù)物理表以及所述關(guān)聯(lián)關(guān)系,生成第二 SQL查詢語句;步驟208,執(zhí)行所述第二 SQL查詢語句,以獲取所述待查詢數(shù)據(jù)。在該技術(shù)方案中,通過語義表達(dá)式,從而獲取查詢所需的多個(gè)數(shù)據(jù)物理表及多個(gè)表格間的數(shù)據(jù)關(guān)系,從而簡(jiǎn)化了 SQL查詢語句,有利于語句的編寫和查閱。在上述技術(shù)方案中,優(yōu)選地,所述步驟202包括:根據(jù)數(shù)據(jù)字典物理關(guān)系構(gòu)建字段樹結(jié)構(gòu),并根據(jù)所述字段樹結(jié)構(gòu)上的節(jié)點(diǎn)路徑生成所述語義表達(dá)式。在該技術(shù)方案中,根據(jù)字段樹結(jié)構(gòu)生成語義表達(dá)式,從而一方面便于該語義表達(dá)式的生成,另一方面有助于根據(jù)該語義表達(dá)式確定對(duì)應(yīng)的數(shù)據(jù)物理表及多個(gè)表格之間的數(shù)據(jù)關(guān)系。在上述技術(shù)方案中,優(yōu)選地,獲取所述語義表達(dá)式的步驟包括:按照“數(shù)據(jù)物理表.字段1.字段2....字段η”的格式從所述第一 SQL查詢語句中獲取所述語義表達(dá)式,以用于生成所述第二 SQL查詢語句。在該技術(shù)方案中,按照預(yù)設(shè)的格式,從而有利于確定查詢所需的數(shù)據(jù)物理表及多個(gè)表格之間的數(shù)據(jù)關(guān)系。在上述技術(shù)方案中,優(yōu)選地,所述步驟204還包括:判斷所述語義表達(dá)式是否能夠正常解析,若能,則解析以生成所述第二 SQL查詢語句,否則返回解析錯(cuò)誤信息。在該技術(shù)方案中,若語義表達(dá)式無法正常解析,則仍能夠采用傳統(tǒng)的SQL語句的方式實(shí)現(xiàn)數(shù)據(jù)查詢。在上述技術(shù)方案中,優(yōu)選地,所述確定所述語義表達(dá)式是否能夠正常解析的步驟包括:對(duì)所述第一 SQL查詢語句進(jìn)行字符串檢查;其中,若其中包含至少兩個(gè)”符號(hào)連接的字符,則判定能夠正常解析。在該技術(shù)方案中,可以對(duì)語義表達(dá)式是否能夠正常解析進(jìn)行判斷,從而在無法解析時(shí)采用傳統(tǒng)的SQL語句的方式,確保對(duì)數(shù)據(jù)的查詢能夠正常執(zhí)行。通過以上技術(shù)方案,可以利用數(shù)據(jù)物理表間的關(guān)系進(jìn)行數(shù)據(jù)查詢,從而降低查詢語句的復(fù)雜度,提升其可讀性。


圖1示出了根據(jù)本發(fā)明的實(shí)施例的數(shù)據(jù)查詢系統(tǒng)的框圖;圖2示出了根據(jù)本發(fā)明的實(shí)施例的數(shù)據(jù)查詢方法的流程圖;圖3示出了根據(jù)本發(fā)明的實(shí)施例的多個(gè)數(shù)據(jù)物理表之間的外鍵關(guān)系的示意圖;圖4示出了基于圖3所示的多個(gè)數(shù)據(jù)物理表之間的外鍵關(guān)系構(gòu)建的字段樹結(jié)構(gòu)的示意圖;圖5示出了根據(jù)本發(fā)明的實(shí)施例的對(duì)語義表達(dá)式進(jìn)行處理的流程圖6示出了根據(jù)本發(fā)明的實(shí)施例的執(zhí)行數(shù)據(jù)查詢所需的裝置模塊的結(jié)構(gòu)示意圖;圖7示出了根據(jù)本發(fā)明的實(shí)施例的數(shù)據(jù)查詢的效果示意圖。
具體實(shí)施例方式為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點(diǎn),下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)描述。需要說明的是,在不沖突的情況下,本申請(qǐng)的實(shí)施例及實(shí)施例中的特征可以相互組合。在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來實(shí)施,因此,本發(fā)明的保護(hù)范圍并不受下面公開的具體實(shí)施例的限制。圖1示出了根據(jù)本發(fā)明的實(shí)施例的數(shù)據(jù)查詢系統(tǒng)的框圖。如圖1所示,根據(jù)本發(fā)明的實(shí)施例的數(shù)據(jù)查詢系統(tǒng)100,包括:第一語句生成單元102,用于根據(jù)待查詢數(shù)據(jù)生成包含語義表達(dá)式的第一 SQL查詢語句;表達(dá)式獲取單元104,用于從所述第一 SQL查詢語句中獲取所述語義表達(dá)式;表達(dá)式解析單元106,用于對(duì)所述表達(dá)式獲取單元獲取的所述語義表達(dá)式進(jìn)行解析,以確定所述語義表達(dá)式對(duì)應(yīng)的多個(gè)數(shù)據(jù)物理表、在每個(gè)所述數(shù)據(jù)物理表中對(duì)應(yīng)的字段以及所述多個(gè)數(shù)據(jù)物理表之間的關(guān)聯(lián)關(guān)系;第二語句生成單元108,用于根據(jù)所述多個(gè)數(shù)據(jù)物理表以及所述關(guān)聯(lián)關(guān)系,生成第二 SQL查詢語句;語句執(zhí)行單元110,用于執(zhí)行所述第二 SQL查詢語句,以獲取所述待查詢數(shù)據(jù)。在該技術(shù)方案中,通過語義表達(dá)式,從而獲取查詢所需的多個(gè)數(shù)據(jù)物理表及多個(gè)表格間的數(shù)據(jù)關(guān)系,從而簡(jiǎn)化了 SQL查詢語句,有利于語句的編寫和查閱。在上述技術(shù)方案中,優(yōu)選地,所述第一語句生成單元102根據(jù)數(shù)據(jù)字典物理關(guān)系構(gòu)建字段樹結(jié)構(gòu),并根據(jù)所述字段樹結(jié)構(gòu)上的節(jié)點(diǎn)路徑生成所述語義表達(dá)式。在該技術(shù)方案中,根據(jù)字段樹結(jié)構(gòu)生成語義表達(dá)式,從而一方面便于該語義表達(dá)式的生成,另一方面有助于根據(jù)該語義表達(dá)式確定對(duì)應(yīng)的數(shù)據(jù)物理表及多個(gè)表格之間的數(shù)據(jù)關(guān)系。在上述技術(shù)方案中,優(yōu)選地,所述表達(dá)式獲取單元104按照“數(shù)據(jù)物理表.字段
1.字段2....字段η”的格式從所述第一 SQL查詢語句中獲取所述語義表達(dá)式,以用于生成所述第二 SQL查詢語句。在該技術(shù)方案中,按照預(yù)設(shè)的格式,從而有利于確定查詢所需的數(shù)據(jù)物理表及多個(gè)表格之間的數(shù)據(jù)關(guān)系。在上述技術(shù)方案中,優(yōu)選地,還包括:判斷單元112,用于判斷所述語義表達(dá)式是否能夠正常解析,若能,則由所述表達(dá)式解析單元106進(jìn)行解析以生成所述第二 SQL查詢語句,否則返回解析錯(cuò)誤信息。在該技術(shù)方案中,若語義表達(dá)式無法正常解析,則仍能夠采用傳統(tǒng)的SQL語句的方式實(shí)現(xiàn)數(shù)據(jù)查詢。在上述技術(shù)方案中,優(yōu)選地,所述判斷單元112具體對(duì)所述第一 SQL查詢語句進(jìn)行字符串檢查;其中,若其中包含至少兩個(gè)”符號(hào)連接的字符,則判定能夠正常解析。在該技術(shù)方案中,可以對(duì)語義表達(dá)式是否能夠正常解析進(jìn)行判斷,從而在無法解析時(shí)采用傳統(tǒng)的SQL語句的方式,確保對(duì)數(shù)據(jù)的查詢能夠正常執(zhí)行。圖2示出了根據(jù)本發(fā)明的實(shí)施例的數(shù)據(jù)查詢方法的流程圖。如圖2所示,根據(jù)本發(fā)明的實(shí)施例的數(shù)據(jù)查詢方法,包括:步驟202,根據(jù)待查詢數(shù)據(jù)生成包含語義表達(dá)式的第一 SQL查詢語句;步驟204,獲取并解析所述語義表達(dá)式,確定所述語義表達(dá)式對(duì)應(yīng)的多個(gè)數(shù)據(jù)物理表、在每個(gè)所述數(shù)據(jù)物理表中對(duì)應(yīng)的字段以及所述多個(gè)數(shù)據(jù)物理表之間的關(guān)聯(lián)關(guān)系;步驟206,根據(jù)所述多個(gè)數(shù)據(jù)物理表以及所述關(guān)聯(lián)關(guān)系,生成第二 SQL查詢語句;步驟208,執(zhí)行所述第二 SQL查詢語句,以獲取所述待查詢數(shù)據(jù)。在該技術(shù)方案中,通過語義表達(dá)式,從而獲取查詢所需的多個(gè)數(shù)據(jù)物理表及多個(gè)表格間的數(shù)據(jù)關(guān)系,從而簡(jiǎn)化了 SQL查詢語句,有利于語句的編寫和查閱。在上述技術(shù)方案中,優(yōu)選地,所述步驟202包括:根據(jù)數(shù)據(jù)字典物理關(guān)系構(gòu)建字段樹結(jié)構(gòu),并根據(jù)所述字段樹結(jié)構(gòu)上的節(jié)點(diǎn)路徑生成所述語義表達(dá)式。在該技術(shù)方案中,根據(jù)字段樹結(jié)構(gòu)生成語義表達(dá)式,從而一方面便于該語義表達(dá)式的生成,另一方面有助于根據(jù)該語義表達(dá)式確定對(duì)應(yīng)的數(shù)據(jù)物理表及多個(gè)表格之間的數(shù)據(jù)關(guān)系。在上述技術(shù)方案中,優(yōu)選地,獲取所述語義表達(dá)式的步驟包括:按照“數(shù)據(jù)物理表.字段1.字段2....字段η”的格式從所述第一 SQL查詢語句中獲取所述語義表達(dá)式,以用于生成所述第二 SQL查詢語句。在該技術(shù)方案中,按照預(yù)設(shè)的格式,從而有利于確定查詢所需的數(shù)據(jù)物理表及多個(gè)表格之間的數(shù)據(jù)關(guān)系。在上述技術(shù)方案中,優(yōu)選地,所述步驟204還包括:判斷所述語義表達(dá)式是否能夠正常解析,若能,則解析以生成所述第二 SQL查詢語句,否則返回解析錯(cuò)誤信息。在該技術(shù)方案中,若語義表達(dá)式無法正常解析,則仍能夠采用傳統(tǒng)的SQL語句的方式實(shí)現(xiàn)數(shù)據(jù)查詢。在上述技術(shù)方案中,優(yōu)選地,所述確定所述語義表達(dá)式是否能夠正常解析的步驟包括:對(duì)所述第一 SQL查詢語句進(jìn)行字符串檢查;其中,若其中包含至少兩個(gè)”符號(hào)連接的字符,則判定能夠正常解析。在該技術(shù)方案中,可以對(duì)語義表達(dá)式是否能夠正常解析進(jìn)行判斷,從而在無法解析時(shí)采用傳統(tǒng)的SQL語句的方式,確保對(duì)數(shù)據(jù)的查詢能夠正常執(zhí)行。圖3示出了根據(jù)本發(fā)明的實(shí)施例的多個(gè)數(shù)據(jù)物理表之間的外鍵關(guān)系的示意圖。如圖3所示,用戶sm_user、組織sm_org、集團(tuán)sm_group三張數(shù)據(jù)表,用戶表有所屬組織字段pk_org,該字段與組織數(shù)據(jù)表主鍵pk_org構(gòu)建外鍵關(guān)系,同理,組織數(shù)據(jù)表有所屬集團(tuán)字段pk_group,該字段與集團(tuán)數(shù)據(jù)表的主鍵pk_group構(gòu)建外鍵關(guān)系。針對(duì)上述用戶、組織、集團(tuán)三個(gè)數(shù)據(jù)表的關(guān)系,我們要查詢用戶所屬集團(tuán)名稱,都需要編寫如下SQL:select group, name from sm—user user, sm—org org,sm—group group whereuser.pk_org=org.pk—org and org.pk_group=group.pk—group而根據(jù)上述用戶、組織、集團(tuán)的數(shù)據(jù)表關(guān)系,可以構(gòu)建如圖4所示的字段樹結(jié)構(gòu),即:由用戶數(shù)據(jù)表的所屬組織字段可以展開組織數(shù)據(jù)表的字段列表;由組織數(shù)據(jù)表的所屬集團(tuán)可以展開集團(tuán)數(shù)據(jù)表的字段列表。根據(jù)上述字段樹結(jié)構(gòu),我們可以根據(jù)“集團(tuán)名稱”的節(jié)點(diǎn)路徑,生成語義表達(dá)式user.pk_org.pk_group.name,根據(jù)此語義表達(dá)式,則可以簡(jiǎn)單生成查詢語句:select user.pk_org.pk_group.name from sm_user user其中表達(dá)式user.pk_org.pk_group.name,含義即為“用戶所屬組織、組織所屬集團(tuán)的名稱”。圖5示出了根據(jù)本發(fā)明的實(shí)施例的對(duì)語義表達(dá)式進(jìn)行處理的流程圖。如圖5所示,根據(jù)本發(fā)明的實(shí)施例的對(duì)語義表達(dá)式進(jìn)行處理的流程包括:步驟502,由SQL生成器生成語義表達(dá)式及查詢SQL,語義表達(dá)式的語法為:數(shù)據(jù)表別名.字段1.字段2.字段3...字段η。步驟504,查找是否包含可處理的語義表達(dá)式。步驟506,判斷是否包含語義表達(dá)式,若包含,則進(jìn)入步驟508,否則進(jìn)入步驟510。步驟508,解析語義表達(dá)式,并據(jù)此進(jìn)入步驟508Α:讀取數(shù)據(jù)物理表間的外鍵關(guān)系,從而翻譯為可執(zhí)行的SQL語句。具體地,對(duì)SQL進(jìn)行字符串檢查,如果包含至少兩個(gè)”符號(hào)連接的字符判斷,則可對(duì)該字符串判斷進(jìn)行語義表達(dá)式解析,根據(jù)“數(shù)據(jù)表.字段1.字段2.字段3...字段η”的規(guī)則,結(jié)合數(shù)據(jù)物理表的外鍵定義,逐級(jí)進(jìn)行語義解釋,并用解釋后的SQL判斷修改原SQL語句。步驟510,直接返回該SQL語句。步驟512判斷是否可正常解析翻譯后得到的SQL語句,若是,則進(jìn)入步驟516,否則進(jìn)入步驟514。步驟514,返回解析錯(cuò)誤信息。步驟516,返回翻譯后得到的SQL語句。圖6示出了根據(jù)本發(fā)明的實(shí)施例的執(zhí)行數(shù)據(jù)查詢所需的裝置模塊的結(jié)構(gòu)示意圖。如圖6所示,根據(jù)本發(fā)明的實(shí)施例的執(zhí)行數(shù)據(jù)查詢所需的裝置模塊包括:數(shù)據(jù)字典字段樹構(gòu)建器、語義表達(dá)式及SQL生成器和語義表達(dá)式解析器,其中:數(shù)據(jù)字典字段樹 構(gòu)建器:負(fù)責(zé)根據(jù)數(shù)據(jù)字典物理關(guān)系構(gòu)建字段樹結(jié)構(gòu);語義表達(dá)式及SQL生成器:負(fù)責(zé)根據(jù)字段樹上節(jié)點(diǎn)路徑,生成語義表達(dá)式,以及生成應(yīng)用語義表達(dá)式的查詢SQL ;語義表達(dá)式解析器:負(fù)責(zé)解析語義表達(dá)式,根據(jù)表達(dá)式的“數(shù)據(jù)表.字段1.字段
2.字段3…字段η”的規(guī)則,處理表達(dá)式涉及的數(shù)據(jù)表、字段、及數(shù)據(jù)表間的關(guān)聯(lián)條件?;谏鲜雒枋觯瑘D7示出了根據(jù)本發(fā)明的實(shí)施例的數(shù)據(jù)查詢的效果示意圖。以上結(jié)合附圖詳細(xì)說明了本發(fā)明的技術(shù)方案,本發(fā)明可以通過數(shù)據(jù)庫(kù)中的數(shù)據(jù)表外鍵關(guān)系,方便用戶通過簡(jiǎn)易表達(dá)式快速實(shí)現(xiàn)數(shù)據(jù)關(guān)系表達(dá)和數(shù)據(jù)查詢,簡(jiǎn)單直觀,編輯靈活,可以很大程度提升企業(yè)數(shù)據(jù)查詢處理效率。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種數(shù)據(jù)查詢系統(tǒng),其特征在于,包括: 第一語句生成單元,用于根據(jù)待查詢數(shù)據(jù)生成包含語義表達(dá)式的第一 SQL查詢語句; 表達(dá)式獲取單元,用于從所述第一 SQL查詢語句中獲取所述語義表達(dá)式; 表達(dá)式解析單元,用于對(duì)所述表達(dá)式獲取單元獲取的所述語義表達(dá)式進(jìn)行解析,以確定所述語義表達(dá)式對(duì)應(yīng)的多個(gè)數(shù)據(jù)物理表、在每個(gè)所述數(shù)據(jù)物理表中對(duì)應(yīng)的字段以及所述多個(gè)數(shù)據(jù)物理表之間的關(guān)聯(lián)關(guān)系; 第二語句生成單元,用于根據(jù)所述多個(gè)數(shù)據(jù)物理表以及所述關(guān)聯(lián)關(guān)系,生成第二 SQL查詢語句; 語句執(zhí)行單元,用于執(zhí)行所述第二 SQL查詢語句,以獲取所述待查詢數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)查詢系統(tǒng),其特征在于,所述第一語句生成單元根據(jù)數(shù)據(jù)字典物理關(guān)系構(gòu)建字段樹結(jié)構(gòu),并根據(jù)所述字段樹結(jié)構(gòu)上的節(jié)點(diǎn)路徑生成所述語義表達(dá)式。
3.根據(jù)權(quán)利要求1或2所述的數(shù)據(jù)查詢系統(tǒng),其特征在于,所述表達(dá)式獲取單元按照“數(shù)據(jù)物理表.字段1.字段2....字段η”的格式從所述第一 SQL查詢語句中獲取所述語義表達(dá)式,以用于生成所述第二 SQL查詢語句。
4.根據(jù)權(quán)利要求1或2所述的數(shù)據(jù)查詢系統(tǒng),其特征在于,還包括: 判斷單元,用于判斷所述語義表達(dá)式是否能夠正常解析,若能,則由所述表達(dá)式解析單元進(jìn)行解析以生成所述第二 SQL查詢語句,否則返回解析錯(cuò)誤信息。
5.根據(jù)權(quán)利要求4所述的數(shù)據(jù)查詢系統(tǒng),其特征在于,所述判斷單元具體對(duì)所述第一SQL查詢語句進(jìn)行字符串檢查; 其中,若其中包含至少兩個(gè)”符號(hào)連接的字符,則判定能夠正常解析。
6.一種數(shù)據(jù)查詢方法,其特征在于,包括: 步驟202,根據(jù)待查詢數(shù)據(jù)生成包含語義表達(dá)式的第一 SQL查詢語句; 步驟204,獲取并解析所述語義表達(dá)式,確定所述語義表達(dá)式對(duì)應(yīng)的多個(gè)數(shù)據(jù)物理表、在每個(gè)所述數(shù)據(jù)物理表中對(duì)應(yīng)的字段以及所述多個(gè)數(shù)據(jù)物理表之間的關(guān)聯(lián)關(guān)系; 步驟206,根據(jù)所述多個(gè)數(shù)據(jù)物理表以及所述關(guān)聯(lián)關(guān)系,生成第二 SQL查詢語句; 步驟208,執(zhí)行所述第二 SQL查詢語句,以獲取所述待查詢數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)查詢方法,其特征在于,所述步驟202包括: 根據(jù)數(shù)據(jù)字典物理關(guān)系構(gòu)建字段樹結(jié)構(gòu),并根據(jù)所述字段樹結(jié)構(gòu)上的節(jié)點(diǎn)路徑生成所述語義表達(dá)式。
8.根據(jù)權(quán)利要求6或7所述的數(shù)據(jù)查詢方法,其特征在于,獲取所述語義表達(dá)式的步驟包括: 按照“數(shù)據(jù)物理表.字段1.字段2....字段η”的格式從所述第一 SQL查詢語句中獲取所述語義表達(dá)式,以用于生成所述第二 SQL查詢語句。
9.根據(jù)權(quán)利要求6或7 所述的數(shù)據(jù)查詢方法,其特征在于,所述步驟204還包括: 判斷所述語義表達(dá)式是否能夠正常解析,若能,則解析以生成所述第二 SQL查詢語句,否則返回解析錯(cuò)誤信息。
10.根據(jù)權(quán)利要求9所述的數(shù)據(jù)查詢方法,其特征在于,所述確定所述語義表達(dá)式是否能夠正常解析的步驟包括:對(duì)所述第一 SQL查詢語句進(jìn)行字符串檢查;其中,若其中包含至少兩 個(gè)”符號(hào)連接的字符,則判定能夠正常解析。
全文摘要
本發(fā)明提供了一種數(shù)據(jù)查詢系統(tǒng),包括第一語句生成單元,用于根據(jù)待查詢數(shù)據(jù)生成包含語義表達(dá)式的第一SQL查詢語句;表達(dá)式獲取單元,用于從所述第一SQL查詢語句中獲取所述語義表達(dá)式;表達(dá)式解析單元,用于對(duì)所述表達(dá)式獲取單元獲取的所述語義表達(dá)式進(jìn)行解析,以確定所述語義表達(dá)式對(duì)應(yīng)的多個(gè)數(shù)據(jù)物理表、在每個(gè)所述數(shù)據(jù)物理表中對(duì)應(yīng)的字段以及所述多個(gè)數(shù)據(jù)物理表之間的關(guān)聯(lián)關(guān)系;第二語句生成單元,用于根據(jù)所述多個(gè)數(shù)據(jù)物理表以及所述關(guān)聯(lián)關(guān)系,生成第二SQL查詢語句;語句執(zhí)行單元,用于執(zhí)行所述第二SQL查詢語句,以獲取所述待查詢數(shù)據(jù)。本發(fā)明還提成了一種數(shù)據(jù)查詢方法。通過本發(fā)明的技術(shù)方案,可以利用數(shù)據(jù)物理表間的關(guān)系進(jìn)行數(shù)據(jù)查詢,從而降低查詢語句的復(fù)雜度,提升其可讀性。
文檔編號(hào)G06F17/30GK103092998SQ20131005579
公開日2013年5月8日 申請(qǐng)日期2013年2月21日 優(yōu)先權(quán)日2013年2月21日
發(fā)明者劉應(yīng)耀 申請(qǐng)人:用友軟件股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
南安市| 富裕县| 芜湖县| 平昌县| 甘谷县| 克东县| 武汉市| 厦门市| 南城县| 东方市| 绥滨县| 珠海市| 杭锦后旗| 乡城县| 罗城| 渭源县| 巴东县| 德阳市| 清徐县| 台南市| 徐闻县| 金湖县| 汕尾市| 乐业县| 平安县| 邵阳县| 芦山县| 绥中县| 荆门市| 鄱阳县| 涡阳县| 平遥县| 河东区| 麦盖提县| 科技| 肇州县| 疏附县| 镇安县| 房山区| 宜君县| 迁安市|