基于OLAP技術(shù)的圖書銷售智能分析系統(tǒng)_第1頁
基于OLAP技術(shù)的圖書銷售智能分析系統(tǒng)_第2頁
基于OLAP技術(shù)的圖書銷售智能分析系統(tǒng)_第3頁
基于OLAP技術(shù)的圖書銷售智能分析系統(tǒng)_第4頁
基于OLAP技術(shù)的圖書銷售智能分析系統(tǒng)_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、目 次1緒論31.1引言31.2WEB環(huán)境下的OLAP技術(shù)的背景和歷史現(xiàn)狀32系統(tǒng)設(shè)計的技術(shù)創(chuàng)新42.1數(shù)據(jù)倉庫技術(shù)42.2OLAP 技術(shù)62.3數(shù)據(jù)挖掘的技術(shù)62.4OLAP與數(shù)據(jù)挖掘的關(guān)系73系統(tǒng)解決方案83.1在WEB環(huán)境下OLAP 技術(shù)的研究83.2在WEB環(huán)境下OLAP 技術(shù)的實現(xiàn)方案94圖書銷售分析系統(tǒng)的總體設(shè)計和實現(xiàn)114.1系統(tǒng)的功能114.2數(shù)據(jù)源設(shè)計124.2.1數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫邏輯設(shè)計數(shù)據(jù)庫結(jié)構(gòu)設(shè)計134.2.2圖書銷售 Analysis Services 設(shè)計數(shù)據(jù)源設(shè)計本系統(tǒng)設(shè)計的挖掘模型184.3

2、系統(tǒng)界面設(shè)計194.3.1會員信息分析界面設(shè)計194.3.2系統(tǒng)圖書分析窗體設(shè)計275總結(jié)35參考文獻361 緒論1.1 引言隨著在數(shù)據(jù)庫中存儲的數(shù)據(jù)越來越多,人們已經(jīng)不滿足于僅僅用計算機來實現(xiàn)業(yè)務(wù)的電子化,而希望從已有的數(shù)據(jù)中提煉出信息服務(wù)于決策人員。在這種情況下。OLAP作為一種強有力的分析和決策工具,被越來越多的沒、部門使用,同時在OLAP技術(shù)上也進行了許多工作。但是主要工作都是集中在如何有效對數(shù)據(jù)進行分析上。OLAP的數(shù)據(jù)倉庫是為了解決能從大量的數(shù)據(jù)中得到有用的信息而做出了很大的貢獻。對于一個企業(yè)而言,每天都要面臨著大量的決策問題,隨著企業(yè)市場競爭的加劇和信息社會需求的發(fā)展,企業(yè)從大量

3、數(shù)據(jù)中提取所需的各類信息就顯得越來越重要了,傳統(tǒng)的數(shù)據(jù)庫技術(shù)是單一的數(shù)據(jù)庫資源,他適合操作型事務(wù)處理,但對分析型處理的能力較弱。近幾年來,在信息技術(shù)領(lǐng)域興起并日益成熟的數(shù)據(jù)倉庫技術(shù)以其面向主題組織、存儲海量信息,以及在線分析支持組織機構(gòu)管理決策等優(yōu)秀功能成為和應(yīng)用的熱點。數(shù)據(jù)倉庫系統(tǒng)的基本功能是:數(shù)據(jù)獲取、數(shù)據(jù)存儲和管理、信息的訪問。其最終目的是把分散的、不利于訪問的數(shù)據(jù)轉(zhuǎn)換成集中、統(tǒng)一、隨時可用的信息,即為了決策目標(biāo)將不同形式的數(shù)據(jù)集合成為一種特殊的格式,建立起一種新的數(shù)據(jù)存儲體系,使數(shù)據(jù)操作環(huán)境與數(shù)據(jù)分析環(huán)境相到分離。數(shù)據(jù)倉庫利用了計算機和信息技術(shù)(IT)的最新發(fā)展,把那些大量的,分散的企

4、業(yè)數(shù)據(jù)進行集成,并從中把企業(yè)決策所需要的信息分離出來,借助OLAP利用存儲在數(shù)據(jù)倉庫中的數(shù)據(jù),去進行各種分析操作,并以較為直觀易懂的形式將結(jié)果返回給用戶,能更加有效地支持企業(yè)的分析和決策,從而提高決策的質(zhì)量與速度。1.2 WEB環(huán)境下的OLAP技術(shù)的背景和歷史現(xiàn)狀WWW(World Wide web)技術(shù)的問世,給Internet帶來了新的活力,也得到全世界的認(rèn)可和信賴。隨著WEB的普及,人們之間的信息溝通更加的快捷和方便。WEB上的訪問數(shù)據(jù)庫也得到了日益廣泛的應(yīng)用,使數(shù)據(jù)庫技術(shù)不斷地發(fā)展和更新。近年來,隨著企業(yè)信息化的飛速發(fā)展。企業(yè)擁有大量業(yè)務(wù)數(shù)據(jù),但難以及時有效的利用數(shù)據(jù)信息用來給管理者做

5、決策工作。數(shù)據(jù)倉庫技術(shù)的運用使這個問題迎刃而解,數(shù)據(jù)倉庫正是由數(shù)據(jù)庫演化而來是為了更好的處理和維護WEB上的龐大的訪問數(shù)據(jù)和企業(yè)中的業(yè)務(wù)數(shù)據(jù)。不僅如此,數(shù)據(jù)倉庫技術(shù)還有另一方面的用處即使如何讓經(jīng)營管理者更好的使用數(shù)據(jù)信息來做決策工作,從而給企業(yè)管理者或經(jīng)營者帶來經(jīng)濟效益。為了實現(xiàn)這樣的目的還要把OLAP技術(shù)運用于數(shù)據(jù)倉庫技術(shù)上面。OLAP技術(shù)作為一種強大有力的分析和決策工具,被越來越多的企業(yè)管理者和經(jīng)營者使用。為了在OLAP技術(shù)上得到更有效的數(shù)據(jù)信息,并使用了體系結(jié)構(gòu)即是C/S結(jié)構(gòu)。在C/S體系結(jié)構(gòu)中使用OLAP技術(shù)已經(jīng)暴露出很多問題。為了解決這樣的問題而進行對WEB環(huán)境下的OLAP技術(shù)的研究

6、和實現(xiàn)。在數(shù)據(jù)庫發(fā)展的早期,因為數(shù)據(jù)量不大而使數(shù)據(jù)庫技術(shù)的查詢功能和操作功能沒得到明顯的區(qū)分。但是隨著數(shù)據(jù)庫規(guī)模的擴大,人們對數(shù)據(jù)的要求也有了其他的想法,比如想取得以往的歷史數(shù)據(jù)來做決策工作使在激烈的社會經(jīng)營中取得勝利。管理者或經(jīng)營用戶要想拿到這樣的歷史性有用處的數(shù)據(jù)信息必須經(jīng)過復(fù)雜的查詢才能得到,特別是那些高層人員更需要這樣有決定性的數(shù)據(jù)信息來做決策工作。在數(shù)據(jù)倉庫中使用OLAP技術(shù)正好讓這樣工作得到滿足。但是現(xiàn)在傳統(tǒng)的基于C/S結(jié)構(gòu)的OLAP體系結(jié)構(gòu)卻帶來很多問題。傳統(tǒng)的基于C/S結(jié)構(gòu)的OLAP體系結(jié)構(gòu),其基本流程是由熟悉數(shù)據(jù)庫結(jié)構(gòu)的系統(tǒng)管理員對數(shù)據(jù)庫結(jié)構(gòu)進行分析,根據(jù)其業(yè)務(wù)知識將數(shù)據(jù)庫中

7、的表及字段映射為多維結(jié)構(gòu),構(gòu)造由多維結(jié)構(gòu)構(gòu)成的超立方體,然后根據(jù)用戶分析員在使用過程中的要求對多維視圖進行修改,從而再次構(gòu)造超立方體,如此循環(huán)往復(fù)。這種結(jié)構(gòu)在使用過程中暴露出了不少的問題:如首先,顧客使用一次而要進行一次安裝和配置,使維護工作量大大的增加。其次,對存放在顧客端的報告的修改也是很復(fù)雜的。再者,其安全性也是很薄弱的。OLAP技術(shù)是一種對數(shù)據(jù)進行多維查詢的工具,主要是給管理者和經(jīng)營者等決策性人員使用的,所以需求是多變性的。C/S結(jié)構(gòu)不適應(yīng)需求的多變性所帶來的要求,而有足夠靈活性的Internet/Intranet的3層結(jié)構(gòu)適應(yīng)了OLAP技術(shù)對需求的多變性的要求。2 系統(tǒng)設(shè)計的技術(shù)創(chuàng)新

8、2.1 數(shù)據(jù)倉庫技術(shù)根據(jù)數(shù)據(jù)倉庫概念的含義,數(shù)據(jù)倉庫擁有以下四個特點:(1)面向主題。操作型數(shù)據(jù)庫的數(shù)據(jù)組織面向事務(wù)處理任務(wù),各個業(yè)務(wù)系統(tǒng)之間各自分離,而數(shù)據(jù)倉庫中的數(shù)據(jù)是按照一定的主題域進行組織。主題是一個抽象的概念,是指用戶使用數(shù)據(jù)倉庫進行決策時所關(guān)心的重點方面,一個主題通常與多個操作型信息系統(tǒng)相關(guān)。(2)集成的。面向事務(wù)處理的操作型數(shù)據(jù)庫通常與某些特定的應(yīng)用相關(guān),數(shù)據(jù)庫之間相互獨立,并且往往是異構(gòu)的。而數(shù)據(jù)倉庫中的數(shù)據(jù)是在對原有分散的數(shù)據(jù)庫數(shù)據(jù)抽取、清理的基礎(chǔ)上經(jīng)過系統(tǒng)加工、匯總和整理得到的,必須消除數(shù)據(jù)源中的不一致性,以保證數(shù)據(jù)倉庫內(nèi)的信息是關(guān)于整個企業(yè)的一致的全局信息。 (3)相對穩(wěn)

9、定的。操作型數(shù)據(jù)庫中的數(shù)據(jù)通常實時更新,數(shù)據(jù)根據(jù)需要及時發(fā)生變化。數(shù)據(jù)倉庫的數(shù)據(jù)主要供企業(yè)決策分析之用,所涉及的數(shù)據(jù)操作主要是數(shù)據(jù)查詢,一旦某個數(shù)據(jù)進入數(shù)據(jù)倉庫以后,一般情況下將被長期保留,也就是數(shù)據(jù)倉庫中一般有大量的查詢操作,但修改和刪除操作很少,通常只需要定期的加載、刷新。(4)反映歷史變化。操作型數(shù)據(jù)庫主要關(guān)心當(dāng)前某一個時間段內(nèi)的數(shù)據(jù),而數(shù)據(jù)倉庫中的數(shù)據(jù)通常包含歷史信息,系統(tǒng)記錄了企業(yè)從過去某一時點(如開始應(yīng)用數(shù)據(jù)倉庫的時點)到目前的各個階段的信息,通過這些信息,可以對企業(yè)的發(fā)展歷程和未來趨勢做出定量分析和預(yù)測。企業(yè)數(shù)據(jù)倉庫的建設(shè),是以現(xiàn)有企業(yè)業(yè)務(wù)系統(tǒng)和大量業(yè)務(wù)數(shù)據(jù)的積累為基礎(chǔ)。數(shù)據(jù)倉庫

10、不是靜態(tài)的概念,只有把信息及時交給需要這些信息的使用者,供他們做出改善其業(yè)務(wù)經(jīng)營的決策,信息才能發(fā)揮作用,信息才有意義。而把信息加以整理歸納和重組,并及時提供給相應(yīng)的管理決策人員,是數(shù)據(jù)倉庫的根本任務(wù)。因此,從產(chǎn)業(yè)界的角度看,數(shù)據(jù)倉庫建設(shè)是一個工程,是一個過程。如圖2.1.1所示。圖2.1.1數(shù)據(jù)倉庫體系結(jié)構(gòu)圖數(shù)據(jù)源:是數(shù)據(jù)倉庫系統(tǒng)的基礎(chǔ),是整個系統(tǒng)的數(shù)據(jù)源泉。通常包括企業(yè)內(nèi)部信息和外部信息。內(nèi)部信息包括存放于RDBMS中的各種業(yè)務(wù)處理數(shù)據(jù)和各類文檔數(shù)據(jù)。外部信息包括各類法律法規(guī)、市場信息和競爭對手的信息等等;數(shù)據(jù)的存儲與管理:是整個數(shù)據(jù)倉庫系統(tǒng)的核心。數(shù)據(jù)倉庫的真正關(guān)鍵是數(shù)據(jù)的存儲和管理。數(shù)

11、據(jù)倉庫的組織管理方式?jīng)Q定了它有別于傳統(tǒng)數(shù)據(jù)庫,同時也決定了其對外部數(shù)據(jù)的表現(xiàn)形式。要決定采用什么產(chǎn)品和技術(shù)來建立數(shù)據(jù)倉庫的核心,則需要從數(shù)據(jù)倉庫的技術(shù)特點著手分析。針對現(xiàn)有各業(yè)務(wù)系統(tǒng)的數(shù)據(jù),進行抽取、清理,并有效集成,按照主題進行組織。數(shù)據(jù)倉庫按照數(shù)據(jù)的覆蓋范圍可以分為企業(yè)級數(shù)據(jù)倉庫和部門級數(shù)據(jù)倉庫(通常稱為數(shù)據(jù)集市)。 OLAP服務(wù)器:對分析需要的數(shù)據(jù)進行有效集成,按多維模型予以組織,以便進行多角度、多層次的分析,并發(fā)現(xiàn)趨勢。其具體實現(xiàn)可以分為:ROLAP、MOLAP和HOLAP。ROLAP基本數(shù)據(jù)和聚合數(shù)據(jù)均存放在RDBMS之中;MOLAP基本數(shù)據(jù)和聚合數(shù)據(jù)均存放于多維數(shù)據(jù)庫中;HOLAP

12、基本數(shù)據(jù)存放于RDBMS之中,聚合數(shù)據(jù)存放于多維數(shù)據(jù)庫中。前端工具:主要包括各種報表工具、查詢工具、數(shù)據(jù)分析工具、數(shù)據(jù)挖掘工具以及各種基于數(shù)據(jù)倉庫或數(shù)據(jù)集市的應(yīng)用開發(fā)工具。其中數(shù)據(jù)分析工具主要針對OLAP服務(wù)器,報表工具、數(shù)據(jù)挖掘工具主要針對數(shù)據(jù)倉庫。2.2 OLAP 技術(shù)聯(lián)機分析處理(OLAP)主要有兩個特點,一是在線性(On-Line),表現(xiàn)為對用戶請求的快速響應(yīng)和交互式操作,它的實現(xiàn)是由Client/Server這種體系結(jié)構(gòu)來完成的,二是多維分析(Multi-dimensional),這也是OLAP技術(shù)的核心所在。OLAP的在線性體現(xiàn)在于用戶的交互響應(yīng)和快速響應(yīng),多維性則體現(xiàn)在它建立在多

13、維視圖的基礎(chǔ)上,對數(shù)據(jù)進行由淺到深的分析。OLAP的用戶是企業(yè)中的專業(yè)分析人員及管理決策人員,他們在分析業(yè)務(wù)經(jīng)營的數(shù)據(jù)時,從不同的角度來審視業(yè)務(wù)的衡量指標(biāo)是一種很自然的思考模式。例如分析銷售數(shù)據(jù),可能會綜合時間周期,產(chǎn)品類別,分銷渠道,區(qū)域分布,客戶等多種因素來考慮。這些分析角度雖然可以通過報表來反映,但是每一個分析的角度可以生成一張報表,各個分析角度的不同組合又可以生成不同的報表,使得IT人員的工作量相當(dāng)大,而且往往難以跟上管理決策人員思考的步伐。所以O(shè)LAP的多維性較好地滿足了企業(yè)管理人員的需要。管理人員可對OLAP進行操作,即對多維數(shù)據(jù)集中的數(shù)據(jù)進行切片,切塊,旋轉(zhuǎn),上卷和下鉆操作,以對

14、數(shù)據(jù)進行分析,讓用戶多角度、多側(cè)面地去觀察數(shù)據(jù)倉庫中的數(shù)據(jù),從而深入了解數(shù)據(jù)倉庫中數(shù)據(jù)所蘊含的信息,并找出隱含在數(shù)據(jù)中的商業(yè)模式。根據(jù)綜合性數(shù)據(jù)的組織方式的不同,目前常見的OLAP主要有基于多維數(shù)據(jù)庫的MOLAP及基于關(guān)系數(shù)據(jù)庫的ROLAP兩種。MOLAP是以多維的方式組織和存儲數(shù)據(jù),ROLAP則利用現(xiàn)有的關(guān)系數(shù)據(jù)庫技術(shù)來模擬多維數(shù)據(jù)。在數(shù)據(jù)倉庫應(yīng)用中,OLAP工具一般是數(shù)據(jù)倉庫應(yīng)用的前端工具,同時OLAP工具還可以配合數(shù)據(jù)挖掘進行使用,增加決策分析預(yù)測功能。數(shù)據(jù)倉庫的基本任務(wù)是使用獲得的數(shù)據(jù)來進行大量的分析,以生成支持用戶制定戰(zhàn)略決策的信息。為了讓數(shù)據(jù)倉庫能作有意義的分析,數(shù)據(jù)必須以某種方法

15、被映射,以便用戶能利用一些數(shù)據(jù)來分析隨著時間變化各商業(yè)維度的關(guān)鍵指標(biāo)的數(shù)值。2.3 數(shù)據(jù)挖掘的技術(shù)數(shù)據(jù)挖掘是一種數(shù)據(jù)分析工具,它從大量的、不完全的、有噪聲的、模糊的、隨機的數(shù)據(jù)中提取人們感興趣的數(shù)據(jù)模式、數(shù)據(jù)的普遍關(guān)系及其隱含在其中的、人們事先不知道的、但又是潛在有用的信息和知識,提取的知識表示為概念、規(guī)則、規(guī)律、模式等形式,其目的是幫助決策者尋找數(shù)據(jù)間潛在的關(guān)聯(lián),發(fā)現(xiàn)被忽略的要素,而這些信息對預(yù)測趨勢和決策行為將起到一定的支持作用。數(shù)據(jù)庫中的數(shù)據(jù)挖掘是一個多步驟的處理過程,這些步驟有:(1)數(shù)據(jù)定義階段,主要了解相關(guān)領(lǐng)域的有關(guān)情況,熟悉背景知識,弄清楚用戶決策分析對信息的要求。(2)數(shù)據(jù)提取

16、階段,根據(jù)要求從數(shù)據(jù)庫中提取相關(guān)的數(shù)據(jù)。(3)數(shù)據(jù)預(yù)處理階段,主要對前一階段產(chǎn)生的數(shù)據(jù)進行再加工,檢查數(shù)據(jù)的完整性及數(shù)據(jù)的一致性,對其中的噪音數(shù)據(jù)進行處理,對缺損的數(shù)據(jù)進行填補。(4)數(shù)據(jù)挖掘階段,主要是運用選定的知識發(fā)現(xiàn)算法,從數(shù)據(jù)中提取出用戶所需要的知識,這些知識可以用一種特定的方式表示或使用一些常用的表示方式。(5)知識評估階段,將發(fā)現(xiàn)的知識以用戶能了解的方式呈現(xiàn),根據(jù)需要對知識發(fā)現(xiàn)過程中的某些處理階段進行優(yōu)化,知道滿足要求。2.4 OLAP與數(shù)據(jù)挖掘的關(guān)系(1)OLAP與數(shù)據(jù)挖掘都屬于分析型工具,兩者的區(qū)別在于:數(shù)據(jù)挖掘的分析過程是自動的,用戶不必提出確切的問題,只需用挖掘工具去挖掘隱

17、藏在海量數(shù)據(jù)中的模式并預(yù)測未來的趨勢,這種方式有利于發(fā)現(xiàn)未知的事實,但缺乏引導(dǎo)的數(shù)據(jù)挖掘,往往所發(fā)現(xiàn)的許多模式實用性很差。OLAP是一種自上而下、不斷深入的驗證型分析工具,它常常以用戶的假設(shè)為基礎(chǔ)對數(shù)據(jù)查詢與分析,進而提取出相關(guān)的信息。所以O(shè)LAP在數(shù)據(jù)分析方面存在著一定的局限性,即數(shù)據(jù)倉庫的結(jié)構(gòu)設(shè)計的模式不同決定了OLAP對數(shù)據(jù)的分析效果與分析層次;同時由于OLAP是用戶驅(qū)動的,用戶對所分析問題認(rèn)識和理解程度在一定程度上會影響到最終的分析結(jié)果。從對數(shù)據(jù)分析的角度看。OLAP位于較淺的層次;由于數(shù)據(jù)挖掘可以發(fā)現(xiàn)OLAP所不能發(fā)現(xiàn)的更為復(fù)雜而細致的信息,因而處于相對較高的層次。(2)OLAP與數(shù)

18、據(jù)挖掘的相互作用體現(xiàn)在以下幾個方面:OLAP與數(shù)據(jù)挖掘同作為數(shù)據(jù)分析工具,二者相比互有優(yōu)劣。數(shù)據(jù)挖掘結(jié)果的無法預(yù)測性及挖掘結(jié)果是否有效等不足,決定了數(shù)據(jù)挖掘需要另外一個分析工具作輔助,對其結(jié)果進行驗證。OLAP是針對多維數(shù)據(jù)庫而開發(fā)的分析工具,可以對多維數(shù)據(jù)進行較為全面的映射。所以在數(shù)據(jù)倉庫的基礎(chǔ)上,OLAP與數(shù)據(jù)挖掘有了結(jié)合的可能,即數(shù)據(jù)挖掘的結(jié)果可以通過OLAP進行驗證,數(shù)據(jù)挖掘在有驗證的前提下,其挖掘結(jié)果將呈現(xiàn)螺旋式上升的過程,逐步從模糊、混沌走向清晰、客觀,進而表現(xiàn)為有價值的知識。成功的數(shù)據(jù)挖掘需要對數(shù)據(jù)進行探索性的分析。挖掘所需的數(shù)據(jù)范圍也許只是數(shù)據(jù)倉庫的一部分,在此意義上,OLAP

19、對多維數(shù)據(jù)的鉆取、旋轉(zhuǎn)等操作同樣可以應(yīng)用于數(shù)據(jù)挖掘的過程中,作為基于數(shù)據(jù)倉庫挖掘的引導(dǎo)步驟。3 系統(tǒng)解決方案3.1 在WEB環(huán)境下OLAP技術(shù)的研究長久以來,對數(shù)據(jù)庫的操作都有兩種不同的應(yīng)用方式。一種是日常的對數(shù)據(jù)的操作型應(yīng)用,另一種是對數(shù)據(jù)的查詢型應(yīng)用。這兩種應(yīng)用有著很大的區(qū)別,如表3.1.1。操作型應(yīng)用查詢型應(yīng)用涉及的表或字段不多涉及大量的表和字段以增刪操作為主,查詢量少不修改數(shù)據(jù),但進行大量的查詢以業(yè)務(wù)人員使用為主,主要是細節(jié)信息面向管理人員或決策人員,關(guān)注匯總信息和導(dǎo)出信息使用當(dāng)前數(shù)據(jù)可能用到大量的歷史信息表3.1.1兩種應(yīng)用的區(qū)別在數(shù)據(jù)庫發(fā)展的早期,因為數(shù)據(jù)量不大,查詢型應(yīng)用和操作型

20、應(yīng)用的區(qū)別還不太明顯。但隨著數(shù)據(jù)庫規(guī)模的逐漸增大,人們希望利用已經(jīng)有的歷史數(shù)據(jù)來使自己在激烈的競爭中取勝,分析人員經(jīng)常是希望從多個不同的角度來觀察一個或多個指標(biāo)的值,并且希望從中找到這些指標(biāo)之間的關(guān)系,這些要求導(dǎo)致查詢復(fù)雜度越來越高,特別是這些查詢請求是分析人員在分析過程中根據(jù)顯示的數(shù)據(jù)而實時產(chǎn)生的。這樣的要求是業(yè)務(wù)系統(tǒng)無法勝任的。而OLAP技術(shù)就能夠解決這樣的查詢要求。OLAP操作最主要的一點是要給分析人員提供一個多維數(shù)據(jù)超立方體,分析人員不需要了解實際的數(shù)據(jù)庫結(jié)構(gòu),他所看見的是與其習(xí)慣的企業(yè)邏輯結(jié)構(gòu)相似的多維結(jié)構(gòu)。根據(jù)他所關(guān)注的目的的不同,在多維結(jié)構(gòu)內(nèi)今昔感多維操作,如鉆取、上挖、漂移、切

21、片、切塊等。數(shù)據(jù)庫管理人員的責(zé)任就是根據(jù)企業(yè)的組織結(jié)構(gòu)和實際使用人員的要求,在已經(jīng)有的數(shù)據(jù)倉庫上構(gòu)造多維數(shù)據(jù)庫及多維視圖。傳統(tǒng)的基于C/S結(jié)構(gòu)的OLAP體系機構(gòu),其基本流程是由熟悉數(shù)據(jù)庫結(jié)構(gòu)的系統(tǒng)管理員對數(shù)據(jù)庫結(jié)構(gòu)進行分析,根據(jù)其業(yè)務(wù)知識將數(shù)據(jù)庫中的表及字段映射為多維結(jié)構(gòu),構(gòu)造由多維結(jié)構(gòu)構(gòu)成的超立方體,然后根據(jù)用戶分析人員在使用過程中的要求對多維視圖進行修改,從而再次構(gòu)造超立方體,如此循環(huán)往復(fù)。這種結(jié)構(gòu)在使用過程中暴露出了不少的問題:(1)在每一個客戶端都要安裝和配置多維查詢軟件。維護工作量很大;(2)報告內(nèi)容要根據(jù)使用者在使用過程中碰到的要求進行修改,因此要維護客戶端的報告內(nèi)容一致也是很復(fù)雜

22、的;(3)因為報告存放在客戶端。因此可能會被修改,從而安全性也很不好。出現(xiàn)這些問題的根本原因是沒有注意到OLAP的特殊性:OLAP作為一個多維查詢工具,不同于傳統(tǒng)的業(yè)務(wù)系統(tǒng),主要是給管理和決策人員使用的,需求是多變的,所以IT人員不可能依次設(shè)計出符合分析人員要求的超立方體,需要在使用過程中根據(jù)要求對超立方體不斷進行調(diào)整和修改,但是這種多變性是C/S結(jié)構(gòu)所不能適應(yīng)的。而且有基于Internet/Intranet的3層結(jié)構(gòu)才具有足夠的靈活性。WEB服務(wù)器負責(zé)完成瀏覽器與OLAP服務(wù)器,數(shù)據(jù)倉庫系統(tǒng)之間的通信連接。如圖3.1.1所示。一般來說,WEB服務(wù)器通過使用CGI腳本、WEB服務(wù)器API、應(yīng)用

23、API和數(shù)據(jù)庫API等,管理瀏覽器的通信。在瀏覽器端,通過HTML、DMX、ActiveX控件、C#.NET來完成與用戶的交互截面和控件。在實現(xiàn)基于WEB的OLAP應(yīng)用時,往往采用自頂向下的設(shè)計。首先要確定用戶如何在瀏覽器中的到報表信息,然后再給出一系列的過程完成基于瀏覽器的OLAP操作。這些過程應(yīng)當(dāng)包括發(fā)布信息,提供HTTP對數(shù)據(jù)庫或應(yīng)用服務(wù)器的動態(tài)數(shù)據(jù)請求,設(shè)計支持分析功能的界面。在客戶端基于WEB瀏覽器的OLAP報表被分為幾個層次,其中包括沒有分析功能的靜態(tài)報表和能夠進行分析的OLAP應(yīng)用界面,如維的旋轉(zhuǎn),數(shù)據(jù)的鉆取等。另外,特別要提到的是,標(biāo)準(zhǔn)的HTML界面缺乏操作的靈活與方便。C#.

24、NET和ActiveX控件的使用會大大提高用戶截面的友好程度,用戶通過簡單的操作就可以完成“旋轉(zhuǎn)”、“鉆取”的操作。數(shù)據(jù)倉庫系統(tǒng)OLAP服務(wù)器WEB服務(wù)器客戶瀏覽器 CGI API C#.NET、ActiveX 控件圖3.1.1基于WEB的OLAP結(jié)構(gòu)圖3.2 在WEB環(huán)境下OLAP技術(shù)的實現(xiàn)方案OLAP專門用于支持復(fù)雜的決策分析,支持信息管理和業(yè)務(wù)管理人員決策活動的一種決策分析工具。它可以根據(jù)分析人員的要求,迅速、靈活地對大量數(shù)據(jù)進行復(fù)雜的查詢處理,并且以直觀的、容易理解的形式將查詢結(jié)果提供給各種決策人員,使他們迅速、準(zhǔn)確地掌握企業(yè)的運營情況,了解市場需求。而要進行OLAP多維數(shù)據(jù)分析就需要

25、根據(jù)分析需求,同時結(jié)合數(shù)據(jù)倉庫中的數(shù)據(jù)結(jié)構(gòu)和特點建立OLAP多維模型。以超市銷售系統(tǒng)為例子,并對該例子的OLAP銷售多維模型進行了設(shè)計,如圖3.2.1。時間編號年季度月日食品編號時間編號客戶編號食品名稱銷售數(shù)量銷售額平均價格食品編號食品類別編號食品名稱客戶編號區(qū)域編號客戶名稱食品類別編號食品類別名稱區(qū)域編號省市 銷售事實表 食品維表 食品類別維表 客戶維表 區(qū)域維表 時間維表 圖3.2.1 超市銷售分析的OLAP模型從圖中可以看出在超市銷售分析的OLAP模型中有一個銷售事實表,在該事實表中每個元組只存儲了一些指向各個維表的指針(即外鍵,時間編號、食品編號、客戶編號等)和一些相應(yīng)的測量數(shù)據(jù)(度量

26、值),銷售數(shù)量、銷售額和平均價格,而與這些外鍵相對應(yīng)的主鍵則分別存放不同的維表中(時間維表、客戶維表、食品維表等)。對事實表的查詢就是獲取指向維表的指針,當(dāng)對事實表的查詢與對維表的查詢結(jié)合起來的時候,就可以檢索大量的信息。一個完整的基于WEB的OLAP銷售分析系統(tǒng)由三方面組成。第一,提取、清洗數(shù)據(jù)組成數(shù)據(jù)倉庫;第二利用OLAP引擎建立相應(yīng)的銷售分析的OLAP立方體;第三使用前端開發(fā)工具,在WEB上訪問OLAP立方體中包含的對象和集合。這里選用了SQL SERVER 2005 Analysis Services作為數(shù)據(jù)倉庫支撐平臺,SQL SERVER 2005的Analysis Service

27、s 是一個管理多維數(shù)據(jù)集的服務(wù)器,數(shù)據(jù)源并抽取數(shù)據(jù),實現(xiàn)高效地將客戶數(shù)據(jù)加載到客戶數(shù)據(jù)倉庫中;服務(wù)器支持MDOLAP、ROLAP和HOLAP三種存儲模式,用戶自己定義使用的存儲模式,定義各個維度并建立銷售多維數(shù)據(jù)集,從而完成整個銷售過程。4 圖書銷售分析系統(tǒng)的總體設(shè)計和實現(xiàn)4.1 系統(tǒng)的功能本系統(tǒng)的功能可以劃分為會員分析和圖書分析兩大部分(如圖4.1.1圖書小時分析系統(tǒng)功能結(jié)構(gòu)圖。圖書銷售分析系統(tǒng)會員分析圖書分析分析會員級別分析會員消費分析會員類型分析圖書推薦銷售趨勢分析銷售關(guān)聯(lián)分析圖書銷量分析圖書定價分析圖4.1.1圖書銷售分析系統(tǒng)功能結(jié)構(gòu)圖其中會員分析是對書店注冊會員的信息進行分析,具體功

28、包括:(1)會員級別分析:根據(jù)會員的個人信息來預(yù)測該會員最有可能成為哪級會員。(2)會員消費分析:根據(jù)會員的個人信息來預(yù)測該會員在書店的消費類型。(3)會員類型分析:根據(jù)會員的個人信息和消費記錄來對會員進行自動分類。(4)圖書推薦:根據(jù)會員的以往購書記錄來向推薦其他可能感興趣的圖書。其中圖書分析則是對書店圖書的信息進行分析,具體功能包括:(1)銷售趨勢分析:根據(jù)圖書的歷史銷售信息來預(yù)測未來的銷售額。(2)圖書銷量分:根據(jù)圖書的基本信息來預(yù)測其銷量。(3)銷售關(guān)聯(lián)分析:分析哪些圖書經(jīng)常會被一同銷售。(4)圖書定價分析:根據(jù)圖書的基本信息來估算定價。4.2 數(shù)據(jù)源設(shè)計4.2.1 數(shù)據(jù)庫設(shè)計4.2.

29、1.1 數(shù)據(jù)庫邏輯設(shè)計根據(jù)系統(tǒng)的需求分析定義系統(tǒng)中的實體,并采用E-R圖來(如圖2.2.1圖書銷售E-R圖)表現(xiàn)實體之間的邏輯關(guān)系。在關(guān)系圖中主要有會員和圖書兩個實體,會員買書的一些情況和推薦書的情況。圖書中包含了圖書的銷售量等相關(guān)信息。會員會員號姓名入會時間級別生日地區(qū)地址性別電話郵箱積分圖書國際標(biāo)準(zhǔn)圖書號圖書號光盤書名存儲量出版社出版日期價格上架時間頁數(shù)條碼號買書推薦書銷售數(shù)據(jù)銷售量會員號銷售時間推薦數(shù)據(jù)書號類型折扣情況級別折扣率NNNN級別號 圖4.2.1圖書銷售E-R圖 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計在邏輯設(shè)計的基礎(chǔ)上,進行了結(jié)構(gòu)設(shè)計,數(shù)據(jù)庫的設(shè)計主要有五個數(shù)據(jù)表和三個視圖,下面分別對五

30、個數(shù)據(jù)表和三個視圖進行說明。(1)會員表:主要是記錄會員的姓名、性別、地址、電話號碼、會員號、會員的級別、會員的入會時間。這些對視圖進行查詢有很大用處,同時對分析進行預(yù)測提供了可靠的信息資源。(2)圖書表:主要是記錄圖書的名字、出版社、出版時間、國際標(biāo)準(zhǔn)圖書號、內(nèi)帶光盤、存儲量、上架日期、條碼、價格、書的頁數(shù)(3)買書的記錄表:主要記錄會員買書的情況,里面記錄會員的會員號、買書的時間、買書消費額。(4)折扣表:主要是記錄會員的級別所打的折扣。表內(nèi)包括級別和折扣率。(5)圖書銷售情況表:主要記錄圖書銷售的情況。主要記錄圖書號、圖書的銷售額、圖書銷售的數(shù)量、圖書銷售的折扣。(6)圖書視圖:主要是進

31、行圖書與會員的綜合查詢,它包含了圖書的基本信息和銷售情況匯總。(7)圖書銷售視圖:主要是對圖書的銷售情況的綜合查詢,它包含了圖書的銷售細明信息。(8)圖書每周銷售視圖:主要是對圖書進行每周的銷售情況的綜合查詢,它包含了圖書每周銷售銷量的信息。以下是五個數(shù)據(jù)表:表4.2.1會員表、表4.2.2圖書表、表4.2.3買書的記錄表、表4.2.4折扣表、表4.2.5圖書銷售表。列名數(shù)據(jù)類型允許空IDIntNameNvarchar(20)LevelsSmallintYRegTimeSmalldatetimeYGenderBitYBirthdaySmalldatetimeYDegreeNvarchar(20

32、)YAreaNvarchar(20)YAddressNvarchar(256)YTelephoneNvarchar(50)YEmailNvarchar(50)YScoreIntY表4.2.1會員表列名數(shù)據(jù)類型允許空IDIntISBNNchar(10)NameNvarchar(256)CategoryIDIntYAuthorNvarchar(100)YPressNvarchar(50)YPublishDateSmalldatetimeYPriceSmallmoneyPagesSmallintYBarcodeNchar(13)CDBitYStorageIntYShelfDateSmalldatet

33、imeY表4.2.2圖書表列名數(shù)據(jù)類型允許空IDIntCustomerIDIntYSumSmallmoneyYTimesmalldatetime表4.2.3買書的記錄表列名數(shù)據(jù)類型允許空LevelsIntDiscountFloat表4.2.4折扣表列名數(shù)據(jù)類型允許空IDIntSellIDIntBookIDIntNumberIntDiscountFloatYSumSmallmoneyY表4.2.5圖書銷售表以下是三個視圖表:表4.2.6圖書視圖、表4.2.7圖書銷售視圖、表4.2.8圖書每周銷售視圖。列別名表輸出排序類型排序順序分組依據(jù)篩選器IDBookY 升序1Group ByNameBook

34、YGroup ByCategoryBookCategoryYGroup ByPressBookYGroup ByPriceBookYGroup ByRagesBookYGroup ByCDBookYGroup ByNumberSellNumberSellItemYSumSumSellSumSellItemYSumShelfDateBookYGroup By表4.2.6圖書視圖表4.2.6圖書視圖的綜合查詢的內(nèi)部代碼為:SELECT TOP(100) PERCENT dbo.Book.ID, dbo.Book.Name, dbo.BookCategory.Category, dbo.Book.P

35、ress, dbo.Book.Price, dbo.Book.Pages, dbo.Book.CD,SUM(dbo.SellItem.Number) AS SellNumber,SUM(dbo.SellItem.Sum) AS SellSum, dbo.Book.ShelfDateFROM dbo.Book INNER JOINdbo.BookCategory ON dbo.Book.CategoryID = dbo.BookCategory.ID INNER JOINdbo.SellItem ON dbo.Book.ID = dbo.SellItem.BookIDGROUP BY dbo.B

36、ook.ID, dbo.Book.Name, dbo.BookCategory.Category, dbo.Book.Press, dbo.Book.Price, dbo.Book.Pages, dbo.Book.CD,dbo.Book.ShelfDateORDER BY dbo.Book.ID列別名表輸出排序類型排序順序分組依據(jù)篩選器IDSellItemYIDSellIDSellYCustomerIDSellYTimeSellYBookIDSellItemYISBNBookYNameBookYPressBookYPriceBookYNumberSellItemYDiscountSellIte

37、mYSumSellItemY表4.2.7圖書銷售視圖表4.2.7圖書銷售視圖的內(nèi)部代碼和關(guān)系圖(圖2.2.2圖書銷售關(guān)系圖):SELECT dbo.SellItem.ID, dbo.Sell.ID AS SellID, dbo.Sell.CustomerID, dbo.Sell.Time, dbo.SellItem.BookID, dbo.Book.ISBN, dbo.Book.Name, dbo.Book.Press, dbo.Book.Price, dbo.SellItem.Number, dbo.SellItem.Discount, dbo.SellItem.SumFROM dbo.Se

38、ll INNER JOIN dbo.SellItem ON dbo.SellItem.SellID = dbo.Sell.ID INNER JOIN dbo.Book ON dbo.Book.ID = dbo.SellItem.BookID圖4.2.2圖書銷售關(guān)系圖列別名表輸出排序類型排序順序分組依據(jù)DATEPART(week,dbo.sell.Time)WeekY升序1Group ByIDBookY升序2Group BySumSellSumSellItemYSum表4.2.8圖書每周銷售視圖表2.2.8圖書每周銷售視圖的內(nèi)部代碼為:SELECT TOP (100) PERCENT DATEP

39、ART(week, dbo.Sell.Time) AS Week, dbo.Book.ID, SUM(dbo.SellItem.Sum) AS SellSumFROM dbo.Sell INNER JOIN dbo.SellItem ON dbo.Sell.ID = dbo.SellItem.SellID INNER JOIN dbo.Book ON dbo.SellItem.BookID = dbo.Book.IDGROUP BY DATEPART(week, dbo.Sell.Time), dbo.Book.IDORDER BY Week, dbo.Book.ID 設(shè)計好了以上的表和視圖是

40、為了對其中的數(shù)據(jù)進行預(yù)測和分析,這些創(chuàng)建給以后的實現(xiàn)部分做了很好的鋪墊。4.2.2 圖書銷售 Analysis Services 設(shè)計 數(shù)據(jù)源設(shè)計 在數(shù)據(jù)源設(shè)計運用了數(shù)據(jù)挖掘技術(shù),首先用“數(shù)據(jù)源向?qū)А睂?shù)據(jù)中表2.2.1會員表、表2.2.6圖書視圖、表2.2.7圖書銷售視圖、表2.2.8圖書每周銷售視圖加入項目的數(shù)據(jù)源試圖中。其中會員表中存儲了書店注冊會員的基本個人信息;同時為了支持?jǐn)?shù)據(jù)的分析,設(shè)計中還要向會員表中增加兩個計算列。兩個計算列分別為Age和DayConsume。它們的表達式分別為“YEAR(GETDATE()-YEAR(dbo.Customer.Birthday)”

41、和“CAST(Score AS Decimal)/DATEDIFF(DAY,RegTime,GETDATE()” 是用來計算會員的年齡和會員的積分除以其注冊天數(shù)以得到該會員的日平均消費金額。合理地使用計算列,能夠大大方便挖掘結(jié)構(gòu)和挖掘模型的創(chuàng)建,同時避免修改源數(shù)據(jù)庫中的基礎(chǔ)表格和視圖。在Analysis Services項目中也需要向圖書表中加入兩個計算器分別DaySellNumber和DaySellSum,計算表達式為:“SellNumber/DATEDIFF(DAY,ShelfDate,GETDATE()”、“SellSum/DATEDIFF(DAY,ShelfDate,GETDATE()

42、”。它們是用來計算圖書日均銷量。為了對會員購書的有關(guān)信息進行挖掘,在數(shù)據(jù)源視圖中還應(yīng)將會員表和圖書銷售視圖關(guān)聯(lián)起來。如圖4.2.3數(shù)據(jù)源視圖圖書銷售圖。如圖4.2.3數(shù)據(jù)源視圖圖書銷售圖數(shù)據(jù)源的設(shè)計對以后數(shù)據(jù)挖掘起到?jīng)Q定的作用。在本設(shè)計中使用了多個數(shù)據(jù)挖掘的方法。這些方法大大方便了界面的分析和預(yù)測。管理者通過預(yù)測的信息知道內(nèi)部圖書銷售的各個情況和了解會員的相關(guān)活動信息。 本系統(tǒng)設(shè)計的挖掘模型(1)貝葉斯挖掘模型:是用來對會員級別的分析。主要運用了“Microsoft Naïve Bayes”挖掘技術(shù)對數(shù)據(jù)源視圖中的會員表作為事例對Levels和DayConsume列作為

43、可預(yù)測列進行預(yù)測。(2)決策樹挖掘模型:來分析會員的消費水平最有可能處在哪個區(qū)間,主要運用“Microsoft 決策樹”挖掘技術(shù)對數(shù)據(jù)源視圖中的會員表作為事例對Levels進行忽略,而對DayConsume進行可預(yù)測。(3)聚類分析挖掘模型:是用來分析會員的年齡和學(xué)歷進行分析。是忽略Area、Levels、Gender,而Age和Degree作為輸入列對DayConsume進行預(yù)測。(4)關(guān)聯(lián)規(guī)則挖掘模型:用于分析會員與圖書之間的關(guān)聯(lián),進而向會員推薦其他可能感興趣圖書。在設(shè)計中用會員表作為事例表嵌套圖書銷售表,Gender、Age、Degree、Area作為輸入列,BookSell進行預(yù)測。(

44、5)時序挖掘模型:是用于圖書的分析,用每周銷售視圖來做事例,ID和 Week作為輸入鍵對SellSum進行預(yù)測。(6)神經(jīng)網(wǎng)絡(luò)挖掘模型:是預(yù)測新書的銷量,圖書表作為事例,Category、Press、Price、Pages和CD列進行輸入,對DaySellNumber進行預(yù)測。(7)順序分析挖掘模型:用于實現(xiàn)圖書銷售的關(guān)聯(lián)分析,會員表作為事例,圖書銷售表銷售表作為嵌套表,對Name進行預(yù)測。(8)線性回歸挖掘模型:是對圖書價格的預(yù)測,圖書表作為事例,Pages為輸入列,對Price進行預(yù)測。4.3系統(tǒng)界面設(shè)計4.3.1會員信息分析界面設(shè)計 對于會員信息分析的Windows窗體設(shè)計視圖如圖4.3

45、.1所示。在對應(yīng)的窗體類CustomerAnalysisForm.cs中定義了如下成員字段: protected SqlConnection _connDatabase; protected AdomdConnection _connAnalysis;protected AdomdCommand _cmd;其中前兩個數(shù)據(jù)連接對象分別指向SQL Server數(shù)據(jù)庫BookSell和Analysis Server數(shù)據(jù)庫,后一個數(shù)據(jù)命令對象則用于在Analysis Services數(shù)據(jù)庫上執(zhí)行DMX查詢對象的創(chuàng)建都在窗體的構(gòu)造函數(shù)中完成:public CustomerAnalysisForm(Sql

46、Connection connectionDatabase, AdomdConnection connectionAnalysis) _connDatabase = connectionDatabase; _connAnalysis = connectionAnalysis; _cmd = _connAnalysis.CreateCommand(); InitializeComponent(); 窗體在初始化和關(guān)閉將打開和關(guān)閉相應(yīng)的數(shù)據(jù)連接;窗體的初始化過程同時還使用SQL數(shù)據(jù)命令將所有會員的ID號載入到“會員編號”組合框(cmbcustomerID)中:private void Custom

47、erAnalysisForm_Load(object sender, EventArgs e) SqlCommand cmd1 = new SqlCommand("SELECT DISTINCT ID FROM Customer ORDER BY ID", _connDatabase); SqlDataReader reader1 = cmd1.ExecuteReader(); while (reader1.Read() cmbCustomerID.Items.Add(reader10); reader1.Close(); dgvLevels.AutoGenerateCol

48、umns = false; 圖4.3.1會員分析窗體CustomerAnalysisForm選擇會員編號并按下“載入會員信息”按鈕后,程序?qū)⒃俅瓮ㄟ^SQL命令來讀取會員的個人信息,并顯示在窗體上部的各個控件中: private void btnLoadInfo_Click(object sender, EventArgs e) if (cmbCustomerID.Text = "") MessageBox.Show("會員編號不能為空", "錯誤", MessageBoxButtons.OK, MessageBoxIcon.Error

49、); return; SqlCommand cmd1 = _connDatabase.CreateCommand(); cmd1.CommandText = "SELECT Birthday, Area, Degree, Gender, RegTime, Levels, Score FROM Customer WHERE ID=" + cmbCustomerID.Text; SqlDataReader reader1 = cmd1.ExecuteReader(); if (reader1.Read() dtpBirthday.Value = (DateTime)reader

50、10; if (reader11 != DBNull.Value) cmbArea.Text = reader11.ToString(); if (reader12 != DBNull.Value) cmbDegree.Text = reader12.ToString(); if (bool)reader13) rdbMale.Checked = true; else rdbFemale.Checked = true; dtpRegTime.Value = (DateTime)reader14; cmbLevel.Text = reader15.ToString(); nudScore.Val

51、ue = (int)reader16; reader1.Close(); 窗體下部是一個TabControl容器控件,它的4個TabPage頁分別用于實現(xiàn)會員的級別分析、消費分析、類型分析和圖書推薦功能。當(dāng)用戶按下“會員級別”標(biāo)簽頁中的“預(yù)測”按鈕后,程序首先根據(jù)相關(guān)輸入來構(gòu)造DXM預(yù)測查詢字符串,而后調(diào)用貝葉斯模型CustomerLevels來預(yù)測會員級別:private void btnPredictLevels_Click(object sender, EventArgs e) if (cmbArea.Text = "" | cmbDegree.Text = "") MessageBox.Show("地區(qū)或?qū)W歷不能為空", "錯誤", MessageBoxButtons.OK, M

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論