姚曉鵬+鄭挺+江偉
摘 要:隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,世界各國(guó)的人員都有機(jī)會(huì)一起參與項(xiàng)目工作。因此,不同國(guó)家、不同母語(yǔ)的人使用SQL Server進(jìn)行操作,數(shù)據(jù)的語(yǔ)言成了一個(gè)障礙。提出了一種基于SQL Server的數(shù)據(jù)語(yǔ)言轉(zhuǎn)換,以日文和中文為例,選擇不同的語(yǔ)言,則抽出相應(yīng)語(yǔ)言的數(shù)據(jù)。該方法首先查找出原日語(yǔ)數(shù)據(jù)庫(kù)中的主要數(shù)據(jù)項(xiàng)目名,根據(jù)這些項(xiàng)目名建立相應(yīng)的對(duì)應(yīng)關(guān)系表,再找出含有相同字段的項(xiàng)目名,建立多個(gè)對(duì)應(yīng)關(guān)系表。然后,建立兩個(gè)語(yǔ)言的控件,并通過(guò)選擇相應(yīng)的編號(hào)(key)來(lái)抽出相應(yīng)的數(shù)據(jù)。以日文和中文數(shù)據(jù)間的轉(zhuǎn)換為例,該方法能分顯示出兩種語(yǔ)言的數(shù)據(jù)記錄。
關(guān)鍵詞:多語(yǔ)言 數(shù)據(jù)抽取 對(duì)應(yīng)關(guān)系
中圖分類(lèi)號(hào):TP301.6 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2017)02(c)-0153-02
目前,數(shù)據(jù)庫(kù)在全世界范圍內(nèi)都得到了非常廣泛的應(yīng)用,但數(shù)據(jù)庫(kù)的使用和顯示語(yǔ)言并沒(méi)有得到有效的統(tǒng)一。在日常工作中,一個(gè)國(guó)家的公司可能與另一個(gè)國(guó)家的公司合作做項(xiàng)目。但是兩個(gè)不同語(yǔ)言國(guó)家的公司合作,語(yǔ)言的轉(zhuǎn)換就成了一個(gè)需要考慮的問(wèn)題。
從圖1我們可以看出,該軟件無(wú)論是登錄界面還是數(shù)據(jù)抽出的界面都是由日語(yǔ)的字段組成。其中包含了如:ロット番號(hào)、得意先コード等字段。因此,如果兩個(gè)不同國(guó)家的人合作,若都用自己本國(guó)語(yǔ)言來(lái)進(jìn)行一些數(shù)據(jù)操作,則對(duì)項(xiàng)目后期的合成帶來(lái)不便;若只用一國(guó)的語(yǔ)言,那么對(duì)另一個(gè)國(guó)家的工作人員來(lái)說(shuō)有極大的語(yǔ)言障礙。文章將提出基于SQL 的數(shù)據(jù)語(yǔ)言轉(zhuǎn)換方法,以便讓不同母語(yǔ)的人在應(yīng)用的時(shí)候,能夠克服語(yǔ)言障礙。
1 相關(guān)工作
目前,實(shí)現(xiàn)數(shù)據(jù)庫(kù)的多語(yǔ)言轉(zhuǎn)換的方法主要是兩種:(1)使用配置文件;(2)使用第三方語(yǔ)言控件。但是使用這類(lèi)方法存在一些不足之處,使用配置文件很容易使用戶(hù)的資料和設(shè)置破損;而用第三方語(yǔ)言控件則需輸入大量數(shù)據(jù),載入速度大大變慢,編譯效率降低。
因此在面向?qū)ο蟪绦蛟O(shè)計(jì)的基礎(chǔ)上,借鑒多語(yǔ)言切換方案,轉(zhuǎn)換方案思路如圖3所示。
如圖2可知,該方案是將多語(yǔ)言數(shù)據(jù)輸入數(shù)據(jù)庫(kù),縮短對(duì)可執(zhí)行文件的長(zhǎng)度,大大提高系統(tǒng)啟動(dòng)速度,并且保證數(shù)據(jù)不丟失,從而實(shí)現(xiàn)軟件界面的多語(yǔ)言轉(zhuǎn)換。
運(yùn)用該思路,也可將所需要用的軟件的語(yǔ)言進(jìn)行切換:初始是日語(yǔ),切換成功后,則接下來(lái)可用中文進(jìn)行操作。若是操作完成后,如有需要,可按原方法再重新切換回來(lái)。
2 數(shù)據(jù)語(yǔ)言的轉(zhuǎn)換
2.1 不同語(yǔ)言的數(shù)據(jù)間對(duì)應(yīng)
對(duì)于原先保存在數(shù)據(jù)庫(kù)中的數(shù)據(jù),其語(yǔ)言已經(jīng)固定。比如原來(lái)的數(shù)據(jù)是日語(yǔ),那么抽出來(lái)的也是日語(yǔ)。那么現(xiàn)在在前臺(tái)調(diào)用的人員想看到中文的數(shù)據(jù),則需要事先對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)換。
首先查找出原日語(yǔ)數(shù)據(jù)庫(kù)中的主要數(shù)據(jù)項(xiàng)目名(可根據(jù)一些列名或者標(biāo)題名來(lái)查找)。
再創(chuàng)建語(yǔ)言之間的對(duì)應(yīng)關(guān)系表,如表1所示。根據(jù)數(shù)據(jù)中的字段制定上述關(guān)系對(duì)應(yīng)列表,并給予編號(hào)1、2、3......一個(gè)編號(hào)(key)對(duì)應(yīng)一組關(guān)系。在調(diào)用的時(shí)候,即可根據(jù)編號(hào)將日文對(duì)應(yīng)的中文字段抽調(diào)出來(lái)。
2.2 含相同字段間不同語(yǔ)言切換
在一些主要字段中,可直接采用關(guān)系對(duì)應(yīng)表的方式進(jìn)行轉(zhuǎn)換。但是考慮到一些字段會(huì)反復(fù)出現(xiàn),或是許多字段有重復(fù)的部分,則可建立不同和相同字段間的映射關(guān)系,如圖4所示。
如圖3可知,用戶(hù)要查找有關(guān)“商品コード”(日文)的數(shù)據(jù),但“商品”(日文)這個(gè)字段在其他字段中反復(fù)出現(xiàn),因此可以通過(guò)該字段同時(shí)抽取其他含有該字段的項(xiàng)目名。
3 數(shù)據(jù)多語(yǔ)言的抽取
3.1 數(shù)據(jù)抽取思路
在抽取前首先要增加兩個(gè)語(yǔ)言控件,分別為日文、中文。當(dāng)用戶(hù)在前臺(tái)選擇“中文”控件的時(shí)候,中文數(shù)據(jù)顯示出來(lái),選擇“日文”的時(shí)候,日文數(shù)據(jù)顯示出來(lái)。
下面是數(shù)據(jù)抽取整體思路:(以“商品コード”為例)
3.商品コード=JBT.商品代碼
3.2 數(shù)據(jù)抽取結(jié)果
利用上述思路,先從數(shù)據(jù)庫(kù)中抽取日文數(shù)據(jù),然后再?gòu)南鄳?yīng)的中文表中抽取中文數(shù)據(jù),抽取結(jié)果如圖4所示。
由圖4可得,左側(cè)原數(shù)據(jù)是日文版的,經(jīng)轉(zhuǎn)換后可得右側(cè)中的中文數(shù)據(jù),“ロット番號(hào)、ステント営業(yè)部”等字段,均已經(jīng)顯示為中文的“批號(hào)、支架營(yíng)業(yè)部”等,這樣就方便了不同語(yǔ)言的用戶(hù)查看數(shù)據(jù)。
4 結(jié)語(yǔ)
文章提出了一種基于SQL Server的數(shù)據(jù)語(yǔ)言轉(zhuǎn)換方法。該方法首先查找出原日語(yǔ)數(shù)據(jù)庫(kù)中的主要數(shù)據(jù)項(xiàng)目名,根據(jù)這些項(xiàng)目名建立相應(yīng)的對(duì)應(yīng)關(guān)系表,再找出含有相同字段的項(xiàng)目名,建立多個(gè)對(duì)應(yīng)關(guān)系表。然后,建立兩個(gè)語(yǔ)言的控件,并通過(guò)選擇相應(yīng)的編號(hào)(key)來(lái)抽出相應(yīng)的數(shù)據(jù),從而顯示不同語(yǔ)言下的數(shù)據(jù),方便了不同語(yǔ)言的用戶(hù)查看數(shù)據(jù)。
參考文獻(xiàn)
[1] 楊永國(guó).基于SQL Sever數(shù)據(jù)庫(kù)技術(shù)的多語(yǔ)言轉(zhuǎn)換[J].硅谷,2013(1):31-32.
[2] 李興原,丁剛.基于SQL Sever數(shù)據(jù)庫(kù)技術(shù)的多語(yǔ)言轉(zhuǎn)換[J].合作經(jīng)濟(jì)與科技,2008(12):46-47.
[3] 王芳.SQL Server的數(shù)據(jù)轉(zhuǎn)換[J].現(xiàn)代企業(yè)教育,2014(12):489-489.
[4] 易國(guó)洪.對(duì)象和對(duì)象-關(guān)系DBMS[J].科技廣場(chǎng),2007(1):85-88.
[5] 劉曉娟.關(guān)系數(shù)據(jù)庫(kù)運(yùn)用分析[J].黑龍江科技信息,2008(4):60-60.
[6] 黃銳.SQL Server對(duì)XML文檔的數(shù)據(jù)抽取方法的分析與實(shí)現(xiàn)[J].桂林航天工業(yè)學(xué)院學(xué)報(bào),2006,11(2):24-25.
[7] 譚正云.用優(yōu)化SQL語(yǔ)句提高數(shù)據(jù)庫(kù)ETL效率[J].金融科技時(shí)代,2013(7):66-67.
[8] 曾強(qiáng),龔育昌.一種基于SQL的元組集隨機(jī)抽取算法[J].計(jì)算機(jī)工程與應(yīng)用,2007,43(12):167-169.
科技創(chuàng)新導(dǎo)報(bào)2017年6期