數(shù)據(jù)倉(cāng)庫(kù)的構(gòu)建和ETL課程設(shè)計(jì).doc
《數(shù)據(jù)倉(cāng)庫(kù)的構(gòu)建和ETL課程設(shè)計(jì).doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)倉(cāng)庫(kù)的構(gòu)建和ETL課程設(shè)計(jì).doc(19頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
Northwind數(shù)據(jù)倉(cāng)庫(kù)的構(gòu)建和ETL 課程設(shè)計(jì)與實(shí)驗(yàn)報(bào)告 課程設(shè)計(jì)與實(shí)驗(yàn)教學(xué)目的與基本要求 數(shù)據(jù)倉(cāng)庫(kù)與知識(shí)工程課程設(shè)計(jì)與實(shí)驗(yàn)是學(xué)習(xí)數(shù)據(jù)倉(cāng)庫(kù)與知識(shí)工程的重要環(huán)節(jié),通過(guò)課程設(shè)計(jì)與實(shí)驗(yàn),可以使學(xué)生全面地了解和掌握數(shù)據(jù)倉(cāng)庫(kù)與知識(shí)工程課程的基本概念、原理及應(yīng)用技術(shù),使學(xué)生系統(tǒng)科學(xué)地受到分析問(wèn)題和解決問(wèn)題的訓(xùn)練,提高運(yùn)用理論知識(shí)解決實(shí)際問(wèn)題的能力。 使學(xué)生在后繼課的學(xué)習(xí)中,能夠利用數(shù)據(jù)倉(cāng)庫(kù)與數(shù)據(jù)挖掘技術(shù)及實(shí)踐經(jīng)驗(yàn),解決相應(yīng)的實(shí)際問(wèn)題,并能在今后的學(xué)習(xí)和工作中,結(jié)合自己的專業(yè)知識(shí),開(kāi)發(fā)相應(yīng)的數(shù)據(jù)倉(cāng)庫(kù)與數(shù)據(jù)挖掘應(yīng)用程序。培養(yǎng)學(xué)生將已掌握的理論與實(shí)踐開(kāi)發(fā)相結(jié)合的能力,以及在應(yīng)用方面的思維能力和實(shí)踐動(dòng)手能力。 課程設(shè)計(jì)與實(shí)驗(yàn)一 數(shù)據(jù)倉(cāng)庫(kù)的構(gòu)建和ETL (一)目的 1.理解數(shù)據(jù)庫(kù)與數(shù)據(jù)倉(cāng)庫(kù)之間的區(qū)別與聯(lián)系; 2.掌握數(shù)據(jù)倉(cāng)庫(kù)建立的基本方法及其相關(guān)工具的使用。 3.掌握ETL實(shí)現(xiàn)的基本方法及其相關(guān)工具的使用。 (二)內(nèi)容 1. 以SQL Server為系統(tǒng)平臺(tái),設(shè)計(jì)、建立創(chuàng)建數(shù)據(jù)倉(cāng)庫(kù)NorthwindDW(根據(jù)課程設(shè)計(jì)內(nèi)容)。 2. 將業(yè)務(wù)數(shù)據(jù)庫(kù)Northwind的數(shù)據(jù)經(jīng)過(guò)ETL導(dǎo)入(或加載)到數(shù)據(jù)倉(cāng)庫(kù)NorthwindDW。 3. 將數(shù)據(jù)倉(cāng)庫(kù)NorthwindDW事實(shí)表的前100個(gè)記錄導(dǎo)出到Excel中。 (三)數(shù)據(jù)倉(cāng)庫(kù)設(shè)計(jì)要求 Northwind數(shù)據(jù)庫(kù)存儲(chǔ)了一個(gè)貿(mào)易公司的訂單數(shù)據(jù)、產(chǎn)品數(shù)據(jù)、顧客數(shù)據(jù)、員工數(shù)據(jù)、供貨商數(shù)據(jù)等,假設(shè)貿(mào)易公司的經(jīng)營(yíng)者迫切的需要準(zhǔn)確地把握貿(mào)易公司經(jīng)營(yíng)情況,跟蹤市場(chǎng)趨勢(shì),更加合理地制定商品采購(gòu)、營(yíng)銷和獎(jiǎng)勵(lì)政策。具體的分析需求是: l 分析某商品在某地區(qū)的銷售情況 l 分析某商品在某季度的銷售情況 l 分析某年銷售多少金額的產(chǎn)品給顧客 l 分析某員工的銷售業(yè)績(jī) 任務(wù):確定主題域、確定系統(tǒng)(或主題)的邊界。設(shè)計(jì)數(shù)據(jù)模型(星型模型)的事實(shí)表和維表。 實(shí)驗(yàn)步驟一、主題需求分析: 主題域:訂單主題,商品主題,員工主題; 訂單相關(guān)邊界:Orders,Order Details,Employees; 商品相關(guān)邊界:Products, Order Details; 員工相關(guān)邊界:Employees,Orders; 實(shí)驗(yàn)步驟二、構(gòu)建數(shù)據(jù)模型以及相應(yīng)的事實(shí)表和維度表: 1.原始關(guān)系圖: 2.去除不需要的表和與需求分析無(wú)關(guān)的字段: 5.根據(jù)信息分析包以及表間關(guān)系圖設(shè)計(jì)具體維度表和事實(shí)表: Orders事實(shí)表結(jié)構(gòu)以及主鍵字段: 字段名稱 數(shù)據(jù)類型 功能描述 原表名 原字段 EmployeeID Int 員工號(hào)碼 Employees EmployeeID ProductID Int 產(chǎn)品號(hào)碼 Products ProductID CustomerID nchar 顧客號(hào)碼 Customers CustomerID OrderDate datetime 訂購(gòu)日期 Orders OrderDate UnitPrice money 產(chǎn)品單價(jià) Order Details UnitPrice Total money 單項(xiàng)總價(jià) 無(wú) Quantity * UnitPrice*Discount Quantity smallint 訂購(gòu)數(shù)量 Order Details Quantity Discount real 折扣 Order Details Discount 主鍵字段:EmployeeID, ProductID, CustomerID, OrderDate Employee 員工維度表結(jié)構(gòu)以及主鍵字段: 字段名稱 數(shù)據(jù)類型 功能描述 原表名 原字段 EmployeeID Int 員工號(hào)碼 Employees EmployeeID FirstName nvarchar 員工名 Employees FirstName LastName nvarchar 員工姓 Employees LastName 主鍵字段:EmployeeID Product產(chǎn)品維度表結(jié)構(gòu)以及主鍵字段: 字段名稱 數(shù)據(jù)類型 功能描述 原表名 原字段 ProductID Int 產(chǎn)品號(hào)碼 Products ProductID ProductName nvarchar 產(chǎn)品名稱 Products ProductName UnitPrice money 單價(jià) Products UnitPrice 主鍵字段:ProductID Customer顧客維度表結(jié)構(gòu)以及主鍵字段: 字段名稱 數(shù)據(jù)類型 功能描述 原表名 原字段 CustomerID nchar 顧客號(hào)碼 Customers CustomerID ContactName nvarchar 顧客姓名 Customers ContactName Address nvarchar 大致地區(qū) Customers City+Region+Country 主鍵字段:CustomerID Time時(shí)間維度表結(jié)構(gòu)以及主鍵字段: 字段名稱 數(shù)據(jù)類型 功能描述 原表名 原字段 OrderDate datetime 日期 Orders OrderDate Year nvarchar 年 無(wú) OrderDate拆分 Quarter nvarchar 季度 無(wú) OrderDate拆分運(yùn)算 Month nvarchar 月 無(wú) OrderDate拆分 主鍵字段:OrderDate Region地區(qū)維表結(jié)構(gòu) 字段名稱 數(shù)據(jù)類型 功能描述 原表名 原字段 Address nvarchar 大致地區(qū) Customers Address City nvarchar 城市 無(wú) Address拆分 Country nvarchar 國(guó)家 無(wú) Address拆分 Region nvarchar 地區(qū) 無(wú) Address拆分 主鍵字段:Address 6. 下圖顯示了Northwind數(shù)據(jù)庫(kù)的星型雪花架構(gòu)結(jié)構(gòu)圖: Employees維表 Orders事實(shí)表 Products維表 EmployeeID employeeID ProductID FirstName ProductID Productname LastName CustomerID UnitPrice orderDate Total Quantity UnitPrice Discount Customers維表 CustomerID ContactName City Region Country 實(shí)驗(yàn)步驟三、創(chuàng)建數(shù)據(jù)倉(cāng)庫(kù)并抽取轉(zhuǎn)換導(dǎo)入數(shù)據(jù): 1.首先打開(kāi)SQL Server Business Intelligence Development Studio, 創(chuàng)建一個(gè)新的SQL Server Integration Services項(xiàng)目,并取名為northwind 2.點(diǎn)擊確定后生成以下界面。 3.接下來(lái)在菜單欄中點(diǎn)擊[項(xiàng)目]選擇SSIS導(dǎo)入和導(dǎo)出向?qū)?,在彈出?lái)的窗口里選擇SQL Native Client 10.0 作為數(shù)據(jù)源,數(shù)據(jù)庫(kù)下拉選擇已裝好的Northwind數(shù)據(jù)庫(kù),點(diǎn)擊下一步。 4.進(jìn)入數(shù)據(jù)目標(biāo)的操作界面,這里需要新建一個(gè)數(shù)據(jù)倉(cāng)庫(kù),以后數(shù)據(jù)經(jīng)過(guò)ETL過(guò)程后,數(shù)據(jù)存放到這個(gè)數(shù)據(jù)倉(cāng)庫(kù)中。 5.選擇數(shù)據(jù)的復(fù)制方式,如下圖所示,有兩種方式,一種是直接將表復(fù)制過(guò)去,這種方式不是很靈活,對(duì)多表連接存在一定的局限性。這里采用的第二種方法。 6.接下來(lái)輸入SQL語(yǔ)句,目前進(jìn)行提取和轉(zhuǎn)換的是事實(shí)表orders,sql語(yǔ)句必須寫正確,要不然會(huì)影響后面的導(dǎo)入數(shù)據(jù)。點(diǎn)擊分析可以查看是否有誤,沒(méi)有的話即可進(jìn)入下一步。 7.接下來(lái)可以編輯表之間的映射關(guān)系。當(dāng)時(shí)我想把表名改成其他更形象具體的名字,可是不知道為什么,如果把【查詢】改了之后,后面的數(shù)據(jù)加載就會(huì)有問(wèn)題。這也是一個(gè)有待解決的問(wèn)題。 8.點(diǎn)擊完成后即可以完成本次表格的導(dǎo)入。 9接下來(lái)如下圖箭頭所示,準(zhǔn)備sql任務(wù)以結(jié)束,進(jìn)入數(shù)據(jù)流階段。按照選擇屏幕左邊的工具箱,拖出來(lái)數(shù)據(jù)流源的OLE DB源和數(shù)據(jù)流目標(biāo)的OLE DB目標(biāo)兩個(gè)元件到界面上。 10. 右擊OLE DB源選擇編輯,OLE DB連接管理器那一定要看清楚是對(duì)什么進(jìn)行的編輯,如果是源,就要選source..。然后再對(duì)目標(biāo)進(jìn)行編輯,需要新建一個(gè)表來(lái)進(jìn)行映射。 11.直到所有的與事實(shí)表相關(guān)的維表全部編輯完,右擊右側(cè)的你剛剛生成的包,設(shè)為啟動(dòng)項(xiàng),再運(yùn)行程序。 12.調(diào)試成功的話所有的元件底色都會(huì)變成綠色,如圖所示: 13.此時(shí)回到NorthDW數(shù)據(jù)倉(cāng)庫(kù)中可以發(fā)現(xiàn),全部的表已成功導(dǎo)入完畢,接下來(lái)回到數(shù)據(jù)庫(kù)系統(tǒng)中給所生成的各表手動(dòng)建立主鍵約束以及關(guān)系設(shè)置,全部操作完成之后本次數(shù)據(jù)倉(cāng)庫(kù)抽取-轉(zhuǎn)換-導(dǎo)入數(shù)據(jù)宣告完成。 Orders事實(shí)表 Product維表 Employee維表 Customer維表 實(shí)驗(yàn)步驟四、導(dǎo)出指定內(nèi)容數(shù)據(jù)至Excel表格: 1. 執(zhí)行事實(shí)表Sales的數(shù)據(jù)導(dǎo)出至excel操作,首先右鍵單擊NorthwindDW數(shù)據(jù)倉(cāng)庫(kù),在彈出的菜單下依次點(diǎn)擊任務(wù)->導(dǎo)出數(shù)據(jù)。 2. 接著在需要復(fù)制的數(shù)據(jù)源處選擇SQL Native Client 10.0,數(shù)據(jù)庫(kù)選擇NorthDW,點(diǎn)擊下一步。 3. 選擇目標(biāo)為Microsoft Excel,自行設(shè)置文件存放路徑,Excel版本推薦選擇97-2005,然后點(diǎn)擊下一步,選擇編寫查詢以指定要傳輸?shù)臄?shù)據(jù)。 4. 接著使用SQL語(yǔ)句寫出想要導(dǎo)出來(lái)的表以及相應(yīng)的內(nèi)容即可。本次目標(biāo)是導(dǎo)出Sales事實(shí)表的前100行 5. 點(diǎn)擊下一步后即可生成對(duì)應(yīng)的Excel文件,導(dǎo)出任務(wù)成功,事實(shí)表前100個(gè)記錄。 6. 實(shí)驗(yàn)結(jié)果: 1. 確定主題域、確定系統(tǒng)(或主題)的邊界。完成了NorthDW的星型雪花結(jié)構(gòu)設(shè)計(jì),確定全部維表和事實(shí)表。 2.設(shè)計(jì)、建立創(chuàng)建數(shù)據(jù)倉(cāng)庫(kù)NorthDW。 3.將業(yè)務(wù)數(shù)據(jù)庫(kù)Northwind的數(shù)據(jù)經(jīng)過(guò)ETL導(dǎo)入(或加載)到數(shù)據(jù)倉(cāng)庫(kù)NorthDW。 4.將數(shù)據(jù)倉(cāng)庫(kù)NorthDW事實(shí)表的前100個(gè)記錄導(dǎo)出到Excel中。 實(shí)驗(yàn)問(wèn)題和總結(jié): 本次實(shí)驗(yàn)花了我很多的心思和心血,主要是覺(jué)得自己基礎(chǔ)太薄弱。實(shí)驗(yàn)的最終結(jié)果由于時(shí)間關(guān)系跟自己最初想做的不太一樣。主要是在開(kāi)始花掉了太多的時(shí)間,但是整個(gè)流程自己還是了解得挺好了,所以說(shuō)做出一個(gè)更好的東西出來(lái)也只是時(shí)間問(wèn)題。 在做的過(guò)程中,遇到了很多小問(wèn)題。 1. 創(chuàng)建數(shù)據(jù)倉(cāng)庫(kù)表的時(shí)候,到底是從原有的數(shù)據(jù)庫(kù)中復(fù)制還是用sql語(yǔ)句創(chuàng)建復(fù)制。剛開(kāi)始我是用的sql語(yǔ)句復(fù)制,當(dāng)時(shí)就因?yàn)橐粋€(gè)小小的圓點(diǎn)問(wèn)題耽擱了很多時(shí)間,沒(méi)有解決出來(lái),就嘗試用原有數(shù)據(jù)庫(kù)中的表復(fù)制,但是問(wèn)題就來(lái)了,多個(gè)表連接再映射沒(méi)法做,最后還是通過(guò)sql語(yǔ)句實(shí)現(xiàn)的。 2. 表映射完后,對(duì)數(shù)據(jù)的加載也出現(xiàn)了問(wèn)題。剛開(kāi)始老不成功,最后發(fā)現(xiàn)時(shí)表重復(fù)的原因,因?yàn)樽约悍磸?fù)新建了很多個(gè)項(xiàng)目和相同的表,只要把書庫(kù)倉(cāng)庫(kù)中的同名表刪掉就可以加載了。 導(dǎo)出數(shù)據(jù)的時(shí)候也出現(xiàn)了問(wèn)題,后來(lái)發(fā)現(xiàn)原來(lái)我的表名和關(guān)鍵字重復(fù)了,只需要將數(shù)據(jù)倉(cāng)庫(kù)的order表重新命名就好了。 3. 4. 生成數(shù)據(jù)倉(cāng)庫(kù)表的關(guān)系圖的時(shí)候,由于兩張表的customerID數(shù)據(jù)類型不同,則不能添加主外鍵關(guān)系,本來(lái)想直接在數(shù)據(jù)庫(kù)里改的,但是不允許修改,就只能借助數(shù)據(jù)轉(zhuǎn)換工具,但是數(shù)據(jù)轉(zhuǎn)換現(xiàn)在還沒(méi)有研究成功。 5. 其實(shí)還想做更多的任務(wù),比如字段的拼接,由于時(shí)間關(guān)系這次沒(méi)有做,但是下來(lái)會(huì)花時(shí)間來(lái)做做。 遇到的問(wèn)題肯定不止這一點(diǎn)點(diǎn),但都是些很小的問(wèn)題,通過(guò)自己的研究和同學(xué)的幫助最終做出一個(gè)勉強(qiáng)的東西,但是下來(lái)我會(huì)接著研究的,因?yàn)橥ㄟ^(guò)學(xué)習(xí),感覺(jué)數(shù)據(jù)倉(cāng)庫(kù)還是挺有趣的。- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 數(shù)據(jù)倉(cāng)庫(kù) 構(gòu)建 ETL 課程設(shè)計(jì)
鏈接地址:http://m.jqnhouse.com/p-6693954.html