王程程,王麗偉,吳天亭
(吉林省氣象信息網(wǎng)絡(luò)中心,吉林長(zhǎng)春130062)
氣候整編資料是以氣象學(xué)、概率論和數(shù)理統(tǒng)計(jì)學(xué)理論為基礎(chǔ),把氣象臺(tái)站的各種觀測(cè)記錄加工統(tǒng)計(jì)成平均值、合計(jì)值、極端值、頻率和變率等各種氣候標(biāo)準(zhǔn)值。世界氣象組織認(rèn)為30年長(zhǎng)度已經(jīng)足夠來(lái)消除年變化影響,建議各國(guó)以30年為標(biāo)準(zhǔn),為政府部門提供氣候標(biāo)準(zhǔn)值。中國(guó)30年氣候整編資料每十年發(fā)布一次整編版本,目前在用版本為中國(guó)30年(1981年~2010年)氣候整編資料。作為重要?dú)夂蛸Y料的一種,不僅在很多天氣、氣候、模式計(jì)算等方面使用,也廣泛用于農(nóng)業(yè)、環(huán)境、能源利用、交通、旅游以及國(guó)防、科研等。本文以正在使用的中國(guó)30年(1981年~2010年)氣候整編資料為例,探討整編數(shù)據(jù)庫(kù)的設(shè)計(jì)。
中國(guó)30年(1981年~2010年)地面氣候整編資料,基于中國(guó)基本、基準(zhǔn)地面氣象觀測(cè)站1981年~2010年地面月報(bào)信息化文件,按照《氣候資料統(tǒng)計(jì)整編方法(1981年~2010)(修改版)》進(jìn)行整編統(tǒng)計(jì)而得。要素包括氣壓、氣溫、空氣濕度、云、降水、天氣現(xiàn)象、能見(jiàn)度、蒸發(fā)、積雪、風(fēng)、地溫、凍土、日照等13個(gè)。統(tǒng)計(jì)值包括平均值、總量、頻率、平均初終日、初終日間日數(shù)等。累年值統(tǒng)計(jì)頻次為年、月、旬、候、日,歷年值統(tǒng)計(jì)頻次為年、月。統(tǒng)計(jì)精度一般精確到小數(shù)點(diǎn)后一位。主要數(shù)據(jù)集包括:
中國(guó)地面累年值年值數(shù)據(jù)集(1981年~2010年);
中國(guó)地面累年值月值數(shù)據(jù)集(1981年~2010年);
中國(guó)地面累年值旬值數(shù)據(jù)集(1981年~2010年);
中國(guó)地面累年值候值數(shù)據(jù)集(1981年~2010年);
中國(guó)地面累年值日值數(shù)據(jù)集(1981年~2010年);
中國(guó)地面氣候標(biāo)準(zhǔn)值年值數(shù)據(jù)集(1981年~2010年);
中國(guó)地面氣候標(biāo)準(zhǔn)值月值數(shù)據(jù)集(1981年~2010年)。
30年(1981年~2010年)地面氣候整編資料的使用查詢,往往會(huì)以特定臺(tái)站、行政區(qū)域和時(shí)間為限定查詢條件。使用最多的為單一要素特定統(tǒng)計(jì)值指定臺(tái)站和時(shí)間或時(shí)間段的直接查詢,以特定統(tǒng)計(jì)值為限定條件的復(fù)合查詢和對(duì)查詢結(jié)果的二次統(tǒng)計(jì)也有需求。綜上所述,30年(1981年~2010年)地面氣候整編資料的業(yè)務(wù)特點(diǎn)可以概括為:
以累年值、歷年值為主,數(shù)據(jù)總量不是特別龐大;業(yè)務(wù)數(shù)據(jù)中要素、統(tǒng)計(jì)值繁多,并且存在種類變動(dòng)的可能性;業(yè)務(wù)數(shù)據(jù)為一次性寫入,后期基本沒(méi)有數(shù)據(jù)更新;時(shí)間和臺(tái)站及行政區(qū)域是主要的查詢限定條件。
以中國(guó)地面累年值數(shù)據(jù)集為例,范式化設(shè)計(jì)的表結(jié)構(gòu)可以為單一表,包括站號(hào)、時(shí)間及各類要素與統(tǒng)計(jì)值的組合,約70余列。其優(yōu)勢(shì)是符合范式化設(shè)計(jì)及其帶來(lái)的便利,查詢效率在數(shù)據(jù)量不大的前提下有一定保障。其問(wèn)題通過(guò)數(shù)據(jù)庫(kù)表的列擴(kuò)展實(shí)現(xiàn)后續(xù)業(yè)務(wù)統(tǒng)計(jì)值的變動(dòng),其可擴(kuò)展的成本和兼容性較低。
本文中采用了反范式化設(shè)計(jì)的表垂直拆分化列為表的方法進(jìn)行了業(yè)務(wù)表的設(shè)計(jì),即將屬性較多,一行數(shù)據(jù)較大的業(yè)務(wù)表,按不同的屬性拆分到不同的表中。垂直拆分后,每個(gè)表的表結(jié)構(gòu)和索引結(jié)構(gòu)一致;每個(gè)表僅保存單一的實(shí)體數(shù)據(jù),如累年各月平均氣溫、累年各旬的平均氣溫、累年各月極端最高氣溫、累年各月極端最高氣溫出現(xiàn)日期是四個(gè)獨(dú)立的表,表名稱按相關(guān)規(guī)則命名。這樣設(shè)計(jì)的主要優(yōu)勢(shì)是將列的維護(hù)轉(zhuǎn)換為對(duì)表的維護(hù),提高了數(shù)據(jù)表的可擴(kuò)展性和數(shù)據(jù)庫(kù)的易維護(hù)性;單一實(shí)體數(shù)據(jù)的查詢效率有所提高;所有業(yè)務(wù)數(shù)據(jù)表結(jié)構(gòu)一致,實(shí)現(xiàn)了底層數(shù)據(jù)庫(kù)的統(tǒng)一設(shè)計(jì),便于后期編程及升級(jí)維護(hù);減小了單個(gè)表的長(zhǎng)度,劣勢(shì)是查詢多個(gè)要素值需要使用join關(guān)聯(lián);以特定統(tǒng)計(jì)值為限定條件的復(fù)合查詢需要多條查詢語(yǔ)句,聯(lián)合多個(gè)表進(jìn)行查詢。
針對(duì)業(yè)務(wù)數(shù)據(jù)為一次性寫入的特點(diǎn),業(yè)務(wù)數(shù)據(jù)表將建立多重復(fù)合索引以提高查詢效率。并且為了滿足對(duì)查詢結(jié)果的二次統(tǒng)計(jì)需求,將建立業(yè)務(wù)統(tǒng)計(jì)值的復(fù)合索引。
為與實(shí)體數(shù)據(jù)集相對(duì)應(yīng),日照相關(guān)資料采用真太陽(yáng)時(shí),其他為北京時(shí)。
數(shù)據(jù)庫(kù)邏輯上劃分為元數(shù)據(jù)表和業(yè)務(wù)數(shù)據(jù)表。元數(shù)據(jù)表包括臺(tái)站、業(yè)務(wù)數(shù)據(jù)種類,用戶、共享分級(jí)、查詢監(jiān)控信息等元數(shù)據(jù)信息。業(yè)務(wù)數(shù)據(jù)表為整編實(shí)體數(shù)據(jù)集。
通過(guò)業(yè)務(wù)數(shù)據(jù)種類表,定義不同時(shí)效、不同要素、不同統(tǒng)計(jì)值與業(yè)務(wù)數(shù)據(jù)表的對(duì)應(yīng)。
為了便于以各級(jí)行政區(qū)劃為條件進(jìn)行統(tǒng)計(jì)查詢,將建立氣象臺(tái)站與國(guó)標(biāo)行政區(qū)劃代碼的索引,行政區(qū)劃代碼一般由6位阿拉伯?dāng)?shù)字組成,第一、第二位表示?。ㄗ灾螀^(qū)、直轄市、特別行政區(qū))。第三、第四位表示市(地區(qū)、自治州、盟及國(guó)家直轄市所屬市轄區(qū)和縣的匯總碼)。第五、第六位表示縣(市轄區(qū)、縣級(jí)市、旗)。
為保證統(tǒng)計(jì)精度并提高效率,所有類型的業(yè)務(wù)數(shù)據(jù)以0.01為單位轉(zhuǎn)換為整數(shù)進(jìn)行存儲(chǔ)。
保存相關(guān)臺(tái)站沿革信息,見(jiàn)表1。
表1 臺(tái)站信息表
行政代碼字典,見(jiàn)表2。
表2 行政代碼字典表
定義業(yè)務(wù)數(shù)據(jù)庫(kù)表的名稱、要素、統(tǒng)計(jì)值、時(shí)效等信息,見(jiàn)表3。
表3 業(yè)務(wù)數(shù)據(jù)種類表
業(yè)務(wù)表名稱由業(yè)務(wù)數(shù)據(jù)種類表定義,其結(jié)構(gòu)完全一致,見(jiàn)表4。
表4 業(yè)務(wù)類別表
索引:站號(hào)、日期;
站號(hào)、日期排序;
站號(hào)、數(shù)值;
日期、數(shù)值;
日期排序、數(shù)值。
用于記錄數(shù)據(jù)庫(kù)表更新查詢等信息,見(jiàn)表5。
表5 數(shù)據(jù)記錄表
30年氣候整編資料數(shù)據(jù)庫(kù)設(shè)計(jì)是氣象信息化的基礎(chǔ)工作,其功能與性能對(duì)后續(xù)系統(tǒng)的研發(fā)有重要影響。本文提出的垂直拆分化列為表的反范式設(shè)計(jì)方式,是否是較優(yōu)化的解決方案,需要在實(shí)際工作中不斷驗(yàn)證與完善。