data model for data warehouse

28
LOGO 1 Data Warehousing บทที 5 แบบจําลองสําหรับคลังข้อมูล (Data Modeling for Data Warehouse)

Upload: raywadee-sakdulyatham

Post on 22-Mar-2016

234 views

Category:

Documents


6 download

DESCRIPTION

แบบจำลองข้อมูลของคลังข้อมูล (การออกแบบคลังข้อมูล)

TRANSCRIPT

Page 1: Data Model for Data Warehouse

LOGO

1

Data Warehousingบทท� 5 แบบจาลองสาหรบคลงขอมล

(Data Modeling for Data Warehouse)

Page 2: Data Model for Data Warehouse

Contents

รปแบบการออกแบบคลงขอมล2

แนวทางการออกแบบคลงขอมล3

คานยามของขอมลท�เกบลงคลงขอมล1

LOGO2

แนวทางการออกแบบคลงขอมล3

การออกแบบจาลองหลายมตจาก ER-diagram4

การออกแบบคยของตาราง5

Page 3: Data Model for Data Warehouse

การออกแบบ Dimensional Data Model

Relational Data Model แสดงความสมพนธท�มอยจรงของขอมลตางๆ ท�ม

อยในองคกร แตเน�องจากมความซบซอนของความสมพนธคอนขางมาก ทาให

การคนหาขอมลและคานวณผลลพธท�ตองการใชในการวเคราะหระบบธรกจ

เปนไปไดยาก

ดงน�น เพ�อความสะดวกในการใชขอมล จงมการคดคน Data Model แบบ

LOGO3

ดงน�น เพ�อความสะดวกในการใชขอมล จงมการคดคน Data Model แบบ

ใหม ท�เหมาะสาหรบการแสดงผลลพธท�ตองการใช เรยกวา “แบบจาลองขอมล

เชงมต (Dimensional Data Model)”

Page 4: Data Model for Data Warehouse

คานยามของขอมลตางๆ ท�เกบในคลงขอมล

สวนประกอบของคลงขอมล

Fact table

Measures

Dimensions (table)

LOGO4

Dimensions (table)

Attributes

Hierarchies

Page 5: Data Model for Data Warehouse

(1) ตาราง Fact

ตาราง Fact เปนตารางหลก ใชสาหรบเกบขอมลท�เก�ยวกบหวขอท�ผใชสารสนเทศสนใจ

LOGO5

โดยตารางน�จะเกบขอมลท�มการเปล�ยนแปลงตางๆ ในองคกร รวมถงขอมลเก�ยวกบสถานะ (State) ของส�งตางๆ ท�เก�ยวของกบองคกร

Page 6: Data Model for Data Warehouse

(1) ตาราง Fact

ในการออกแบบ Fact Table น�น ส�งท�เราตองคานงถง คอ

- Measure

- Dimension

- ความตองการในการวเคราะหขอมล

ซ�งในการสรางโครงสรางคราวๆ ของ Fact ท�เราสนใจ จะทาใหเรา

LOGO6

ซ�งในการสรางโครงสรางคราวๆ ของ Fact ท�เราสนใจ จะทาใหเราสามารถมองเหนภาพของโครงสรางของ Fact Table ท�เกดข�นได

** ตวอยางเชน ในการวเคราะหขอมล ยอดขายสนคาของรานคา ผบรหารตองการท�จะวเคราะห “ยอดขาย ตาม เวลา และประเภทสนคา”

Page 7: Data Model for Data Warehouse

(1) ตาราง Fact

ประเภท ช�อ คาท�เปนไปได (Possible Values)

Measure ยอดขาย จานวนจรงใดๆ

Dimension (1) ประเภทสนคา สนคาบรโภค, สนคาควบคม ฯลฯ

Dimension (2) วนท� วนท� 4 กนยายน 2550, เดอนกรกฏาคม ฯลฯ

LOGO7

จากตารางทาใหเราทราบวา

Measure ตวหน�งๆ น�น จะถกกาหนดมมมองดวย Dimension ใดบาง

คาท�เปนไปได (Possible Values) บอกเราไดวา ขอบเขตของคาท�สนใจสาหรบ Dimension คออะไรบาง และสามารถบอกไดวาคา Measure จะมลกษณะเปนอยางไร (เชน เปนจานวนจรง – มทศนยม หรอเปนจานวนเตม – ไมมทศนยม)

Page 8: Data Model for Data Warehouse

(1) ตาราง Fact

Dimension ชดหน�งๆ น�น อาจสามารถใชกาหนด Measure ไดหลายๆ ตวกได

อยางเชน Dimension ประเภทสนคา และเวลา อาจจะใชเพ�อกาหนดมมมองใหกบ

Measure จานวนสนคาท�ขาย ไดดวย โดยสามารถเพ�มเตม Measure ตวใหมไดดงน�

ประเภท ช�อ คาท�เปนไปได (Possible Values)

LOGO8

ประเภท ช�อ คาท�เปนไปได (Possible Values)

Measure (1) ยอดขาย จานวนจรงใดๆ

Measure (2) จานวนสนคาท�ขายได จานวนเตมใดๆ

Dimension (1) ประเภทสนคา สนคาบรโภค, สนคาควบคม ฯลฯ

Dimension (2) วนท� วนท� 4 กนยายน 2550, เดอนกรกฏาคม ฯลฯ

Page 9: Data Model for Data Warehouse

(2) ตาราง Dimension

Dimension คอ รปแบบท�เราตองการดขอมล

เรามกจะตองการดขอมลในชวงเวลาตางๆ ตามภมภาคตางๆ ตามแตละชนดสนคา แตละพนกงาน เปนตน

Dimension ถกกาหนดข�นโดยอาจจะม หรอไมม Hierarchies

รายป รายไตรมาส รายเดอน รายวน

LOGO9

รายป รายไตรมาส รายเดอน รายวน

กลมผลตภณฑ รายผลตภณฑ

ตาราง Dimension แตละตารางจะประกอบดวยหน�งคยหลก (Primary Key) ท�ใชสาหรบเกบขอมลอางองจากคยท�จดเกบไวใน Fact table

Page 10: Data Model for Data Warehouse

(3) Measures

Measures คอ คาท�ตองการอยากจะทราบ เพ�อนาไปใชประกอบการตดสนใจ

โดยท�วไปจะเปนคาทางตวเลข

มกจะเปนคาท�บวกรวมกนมา

LOGO10

มกจะเปนคาท�บวกรวมกนมา

ยอดขาย จานวนหนวยท�ขายได ผลกาไร คาใชจายอ�นๆ

Measures บางอยางก บวก รวมกนไมได

จานวนสนคาคงคลง จานวนของลกคา

Page 11: Data Model for Data Warehouse

รปแบบการออกแบบคลงขอมล

รปแบบของการออกแบบขอมลหลายมต

Star schema: รปแบบขอมลหลายมตแบบน� จะม Fact table เปนศนยกลางและสรางความสมพนธเช�อมไปยงกลมของ Dimension tables

LOGO11

tables

Snowflake schema: เปนรปแบบของการจด Star schema ใหสละสลวยข�น โดยท�บางมตของขอมลใน Dimension table จะไดรบการปรบฐานใหเปนขอมลท�มขนาดเลกลง

Page 12: Data Model for Data Warehouse

การออกแบบคลงขอมลแบบ Star schema

LOGO12

Page 13: Data Model for Data Warehouse

การออกแบบคลงขอมลแบบ Snowflake schema

LOGO13

Page 14: Data Model for Data Warehouse

ขอมลสาหรบการเลอกใชงาน Schema

Star schema Snowflake schema

จานวนแถว มากกวา นอยกวา

งายตอการเขาใจ งายกวา ยากกวา

จานวนตาราง นอยกวา มากกวา

LOGO14

จานวนตาราง นอยกวา มากกวา

ความซบซอนในการประมวลผล Query

งายกวา ยากกวา

การคนหามตขอมล เรวกวา งายกวา

Page 15: Data Model for Data Warehouse

การออกแบบคลงขอมลDesigning of a Data Warehouse

หลงจากท�ไดทางานวเคราะหความตองการผใช และทาการจาแนกขอมล (Fact/Dimension/Measure) แลวน�น ในข�นตอนน�จะเปนการออกแบบโครงสรางของฟลดท�จาเปนของตารางท�ง 2 กลมน�น

ซ�งอาจจะประมวลเปน 2 วธ ดงน�

LOGO15

ซ�งอาจจะประมวลเปน 2 วธ ดงน�

1. การออกแบบแบบจาลองหลายมตจากขอมลการวเคราะหในแนวทางของท�ง Query oriented approach และ Business oriented approach

2. การออกแบบแบบจาลองหลายมตจาก ER-diagram

Page 16: Data Model for Data Warehouse

การออกแบบคลงขอมล จาก ER-diagram

Step 0: เพ�มตารางขอมลมตขอมลท�เก�ยวกบเวลา

Step 1: จาแนกประเภทของ entities

Step 2: กาหนดลาดบช�นของขอมล

Step 3: การออกแบบมตของขอมล

LOGO16

Step 3: การออกแบบมตของขอมล

Step 4: การออกแบบ Schema

Page 17: Data Model for Data Warehouse

Step 1: การจาแนกประเภทของ Entities

1. Transaction entities

คอตารางท�เกบขอมลท�เก�ยวของกบเหตการณตางๆ ท�เกดข�นในองคกร

อนไดแก

- ขอมลท�เก�ยวกบการทาธรกรรมตางๆ ท�เกดข�นในองคกร

(business transaction)

LOGO17

(business transaction)

- ขอมลท�เก�ยวกบเหตการณท�เกดข�นในองคกร

ส�งสาคญคอ แตละจดของขอมลจะมความสมพนธกบเวลา

Page 18: Data Model for Data Warehouse

Step 1: การจาแนกประเภทของ Entities

2. Component entities

คอตารางท�เกบขอมลคาอธบายของฟลดบางฟลด ในตารางท�จดอยในประเภท Transaction entities

โดยสวนใหญความสมพนธระหวางตารางในกลม Component entities กบ Transaction entities มนอยในรป 1-M

LOGO18

Transaction entities มนอยในรป 1-M

นอกจากน�ขอมลท�จดเกบอยในตารางในกลม Component entities น�มกใชสาหรบแทนความหมายของ ใคร, อะไร, ท�ไหน, อยางไร

ดงน�น ตารางขอมลมตขอมลท�เก�ยวกบเวลา ท�เพ�มใน Step 0 กถอวาเปน Component entity ประเภทหน�ง

Page 19: Data Model for Data Warehouse

Step 1: การจาแนกประเภทของ Entities

3. Classification entities

คอตารางท�เกบความหมายของตารางท�อยในกลมของ Component entities

โดยสวนใหญความสมพนธระหวางตารางในกลม Classification entities กบ Component entities มนอยในรป 1-M

ขอมลของตารางในกลมน� สามารถนามาใชสาหรบการจดลาดบช�น (Hierarchy)

LOGO19

ขอมลของตารางในกลมน� สามารถนามาใชสาหรบการจดลาดบช�น (Hierarchy) ของขอมล

ในบางกรณ ตารางใดตารางหน�งอาจจาแนกอยใน entities ไดหลายประเภท ดงน�งจงตองมการจดลาดบความสาคญของประเภท entities

Page 20: Data Model for Data Warehouse

Step 2: การกาหนดลาดบช�นของขอมล

ในข�นตอนน� เปนข�นตอนท�สาคญในการสรางแบบจาลองมตของขอมล (Dimensional model)

การกาหนดลาดบช�นของขอมล หมายถง การกาหนดระดบความละเอยดของการประมวลผลขอมลสารสนเทศ

LOGO20

ถาหากจดเกบขอมลท�มการจาแนกขอมลสรปท�ละเอยดมากๆ ไวในฐานขอมล จะทาใหส�นเปลองพ�นท�ในการจดเกบ

แตในขณะเดยวกน ถาไมจดเกบขอมลท�ละเอยดไว ขอมลในสวนท�ถกยบหรอสรปรวม กจะสญหาย ไมสามารถเรยกคนได

Page 21: Data Model for Data Warehouse

Step 3: การสรางแบบจาลองมตขอมล

ข�นตอนท� 1 เลอกความสมพนธในรปลาดบช�นของขอมลท�สรปไวใน Step 2 มาพจารณาทละความสมพนธ

ข�นตอนท� 2 ทาการกาหนดฟลดใหกบ Component entities โดยการยบลาดบช�น

ข�นตอนท� 3 จาก Component entities ท�พบในข�นตอนท� 2 ใหพจารณา

LOGO21

ข�นตอนท� 3 จาก Component entities ท�พบในข�นตอนท� 2 ใหพจารณาความสมพนธในลาดบช�นตอไป

ข�นตอนท� 4 ทาการเลอกความสมพนธในรปลาดบช�นของขอมลท�สรปไวใน Step 2 มาพจารณาเพ�มเตม จนกระท�งพจารณาทกความสมพนธ

Page 22: Data Model for Data Warehouse

Step 4: การออกแบบ Schema

ในท�น�สามารถแบงวธการออกแบบ Schema ออกไดเปน 2 แบบ คอ

4.1 Star schema

4.2 Snowflake schema

LOGO22

4.2 Snowflake schema

(**ไดจากการทา Normalizing Star schema)

Page 23: Data Model for Data Warehouse

Step 4: การออกแบบ Schema

4.1 Star schema สามารถสรางมาไดจาก ER diagram ดงน�

ตาราง Fact ตารางประเภทน�สามารถสรางมาจากตารางท�ถกจดใหอยในประเภท Transaction entities โดยคยหลกของตารางน�จะเปนคยท�ประกอบมาจากคยหลกของตารางประเภท Component entities

ตาราง Dimension ตารางประเภทน�สามารถสรางมาจากตารางท�ถกจดให

LOGO23

ตาราง Dimension ตารางประเภทน�สามารถสรางมาจากตารางท�ถกจดใหอยในประเภท Component entities

เกณฑ (Measure) คอขอมลสรปของแตละตาราง Fact ซ�งขอมลเหลาน� มกเปนเปาหมายและวตถประสงคขององคกร

Page 24: Data Model for Data Warehouse

Step 4: การออกแบบ Schema

4.2 Snowflake schema สามารถสรางมาไดจาก ER diagram ดงน�

โดยสามารถสรางจาก Star schema ดวยการแตกการยบรวมลาดบช�น หรอ Normalizing

ตาราง Fact ตารางประเภทน�สามารถสรางมาจากตารางท�ถกจดใหอยในประเภท Transaction entities โดยคยหลกของตารางน�จะเปนคยท�รวมคย

LOGO24

ประเภท Transaction entities โดยคยหลกของตารางน�จะเปนคยท�รวมคยอ�นๆ ท�อางถง Component entities

ตาราง Dimension ตารางประเภทน�สามารถสรางมาจากตารางท�ถกจดใหอยในประเภท Component entities

**ลาดบช�นของตาราง Dimension ยงคงอย

Page 25: Data Model for Data Warehouse

สรป: Step 4

Snowflake schema เปนวธการออกแบบท�ไมพงประสงคนก เน�องจากในข�นตอนของการดงขอมลจากคลงขอมล เพ�อนามาวเคราะหแบบ Online น�น จะเปนตองทาการ Join ตารางมากมาย เพ�อใหสรางรายงานไดตรงตามความตองการ

LOGO25

การกระจายขอมลออกเปนลาดบช�นน�น มขอดคอ เขาใจงาย สาหรบผท�มพ�นฐานการออกแบบฐานขอมลปฏบตการประจาวน (OLTP database)

Page 26: Data Model for Data Warehouse

การออกแบบคยของตาราง

คยหลกของตาราง Dimension และตาราง Fact ในคลงขอมล มกจะถกกาหนดคยหลกข�นมาใหมแทนท�คยหลกเดม ท�เรยกวา Business keyท�งน� เน�องจาก

ขอมลท�นามาเกบรวบรวมในคลงขอมล มกเปนขอมลท�มาจากหลายแหลง ซ�งมโอกาสท�คย/ขอมลแตละแหลงอาจมมาตรฐานในการ

LOGO26

ขอมลท�นามาเกบรวบรวมในคลงขอมล มกเปนขอมลท�มาจากหลายแหลง ซ�งมโอกาสท�คย/ขอมลแตละแหลงอาจมมาตรฐานในการจดเกยไมเหมอนกน

คยหลกในตาราง Fact มกเปนคยท�ประกอบดวยคยจานวนมาก ทาใหเกดการเสยเวลาในการทา index ขอมล

Page 27: Data Model for Data Warehouse

การออกแบบคยของตาราง

LOGO27

Page 28: Data Model for Data Warehouse

LOGO

28

Do you have any Question ??