Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
แบบจ าลองขอมลส าหรบคลงขอมล
Data Modeling for Data warehouse
Data Model
Relational Data Model
Logical Data Model
Physical Data Model
Dimensional Data Model
แบบจ าลองขอมล (Data Model)
Data Model หมายถง สงทใชเพอจ าลองใหเหนโครงสรางของสงใดสงหนงทมอยหรอก าลงจะเกดขน
Data Model หมายถง สงทท าใหทราบวาขอมลขององคกรมอะไรบาง มโครงสรางอยางไร และมความสมพนธกนอยางไร
แบบจ าลองขอมล (Data Model)
แบบจ าลองปจจบนทนยมส าหรบ Data Warehouse มอย 2 แบบคอ
Relational Data Model
Dimensional Data Model
Relational Data Model->Staging Database และ Data Warehouse Database
Dimensional Data Model -> Data Mart
วตถประสงคการใชแบบจ าลองขอมล (Data Model) ในการพฒนาคลงขอมล
เพอใชแสดงภาพโครงสรางขอมล
เพอใชเปนเครองมอในการสอสารท าความเขาใจเกยวกบบคลากรในองคกร
เพอใชเปนเครองมอสอสารภายในทมงานผพฒนาองคกร
เพอน าไปขยายผลสวนอนของการพฒนาคลงขอมลตอไป
แนวทางการสรางแบบจ าลองขอมลในคลงขอมล
ยดหลก Iterative Process กระบวนการพฒนาแบบตอเนอง
เชนแบบ Spiral Model
เรมจากการพฒนา Logical Data Model แลวจงเรมพฒนา Physical Data Model
Logical Data Model
กระบวนการมดงน
1. ศกษาความตองการของผใชงาน รวมถงเรองราวขอเทจจรงตางๆของ
องคกร
2. ออกแบบ Logical Data Model
3. ตรวจสอบ Logical Data Model ทไดออกแบบไว ตรวจสอบรวมกบผใชงานขอมล รวมถงการใหผใชไดทดลองน าขอมลทมอยไปใชงาน
Physical Data Model
กระบวนการมดงน
1. ศกษาและพจารณา Logical Data Model ทสมบรณแลว ตามทไดออกแบบไวเพอหาแนวทางในการสราง Physical Data Model
2. สราง Physical Data Model
3. ทดสอบ Physical Data Model โดยทดลองน าเอาตวอยางขอมลไปวเคราะหตามวธการตางๆ
Relational Data Model
Relational Data Model ท าหนาทแสดงโครงสรางของขอมลทมอยจรงในองคกร และแสดงความสมพนธระหวางขอมลเหลานน และหนาททส าคญทสดของ Relational Data Model คอการบอกเลาขอเทจจรง เรองราว และกจกรรมตางๆเกยวกบธรกจขององคกร
Relational Data Model
การออกแบบ Logical Relational Data Model ดวยหลกการ
Abstractionท าได 4 แนวทางคอ
Classification Abstraction
Aggregation Abstraction
Association Abstraction
Generalization Abstraction หรอ Specialization Abstraction
การออกแบบ Logical Relational Data Model ดวยหลกการ Abstraction
Relational Data Model
1. Classification Abstraction คอ กระบวนการจดกลมหรอจดประเภทของสงของตางๆ ซงจะเรยกรวมวา วตถ (object) ใหอยในกลมของวตถ (Class)
คณสมบตหมายถง Attributes
คณสมบตในการแยกแยะวตถ ใหมความแตกตางกนจากวตถตวอนๆคอ Primary key
การออกแบบ Logical Relational Data Model ดวยหลกการ Abstraction
Relational Data Model
Class พนกงาน
นาย ก นาย ข นางสาว ค
เปน เปน เปน เปน
นาง ง
ผลลพธของการท า Classification Abstraction
การออกแบบ Logical Relational Data Model ดวยหลกการ Abstraction
Relational Data Model
Class พนกงาน รหสพนกงาน
แผนภาพแสดง Class พนกงาน
ชอพนกงาน เพศ สถานะภาพแตงงาน
การออกแบบ Logical Relational Data Model ดวยหลกการ Abstraction
Relational Data Model
2. Aggregation Abstraction คอ กระบวนการในการหาความสมพนธระหวาง Class ในลกษณะการรวมกนของ Class
คอ การแสดงการเปนสวนประกอบของคลาสชดหนงในคลาสตวหนง
รปการท า Aggregation Abstraction
Class ชวโมงเรยน
Class นกเรยน Class หองเรยน
Class ครผสอน
รหสพนกงาน
รหสวชา
เวลาเรยน
เลขทหองเรยน
รหสครผสอน
ชอครผสอน
ชอนกเรยน
0.1 1.1 1..M
การออกแบบ Logical Relational Data Model ดวยหลกการ Abstraction
Relational Data Model
3. Association Abstraction คอ การบรรยายความสมพนธระหวาง Class ตางๆ ทเราสนใจ ซงเปนความสมพนธทบอกความเกยวพนของ Class คหนงทไมใชการประกอบกนขนแตเปนความสมพนธท Class ทงสองนนมระดบของ Class ในระดบเดยวกน
Class ลก Class แม เปนแมของ
Class ผงซกฟอก ถกผลตโดย
Class โรงงาน
Class วชาเรยน
Classนกเรยน
Class อาจารย
เรยน
สอน
การเขยนสญลกษณของ Association Abstraction
Class บตรประชาชน Class ประชาชน
เปนแมของ Class แม
ม
Class ลก
Class วชาเรยน
Class นกเรยน
Class อาจารย
เรยน
สอน
1.m
1.m
1.1 0.m
1.1 0.1
1.1 0.m
Association Abstraction พรอมกบรายละเอยดของ Cardinality
การออกแบบ Logical Relational Data Model ดวยหลกการ Abstraction
Relational Data Model
4. Generalization Abstraction หรอ Specialization Abstraction คอ กลมของ วตถ อาจเรยกวา เซตเราสามารถเรยก คลาส วาเปน เซตของวตถกระบวนการของเซตไดแก union , intersection
รปGeneralization Abstraction
เปน เปน
Class บคคล
Class นกเรยน Class พนกงาน
รป Specialization Abstraction
จ าแนกเปน จ าแนกเปน
บคคล
นกเรยน พนกงาน
รป Generalization Abstraction พรอมกบการบรรยาย attributes
บคคล
นกเรยน
พนกงาน
รหสบคคล
ชอ
อาย
ต าแหนง ระดบชนเรยน
Logical Data Model
เปน Data Model ทเนนการเลาเรองราวของธรกจรปแบบของโครงสรางขอมล
Logical Data Model และ Physical Data Model
รป Logical Data Model ทมความสมพนธสมบรณ
Officer
Administrative Administrator
Location Person Activity
Building Teacher Student
Classroom Learning
Role of
1.1 has 0.1
does
0.m 1.1
uses
0.m 0.m
Teaches in Studies in
1.m 1.1
1.1 0.m
uses
Consist of
1.m
1.m
รป Logical Data Model ส าหรบ Subject Area การประชาสมพนธโรงเรยน
Location Person Activity
Outsider Officer Campaigning
uses does
Create
Support
0.m 0.m 0.m 1.1
1.m 0.m
0.m 1.m
รป Logical Data Model ทผานการรวมเรยบรอยแลว
Outsider
Officer
Administrator
Campaigning
Administrative
Location Person Activity
Building Teacher Student
Learning
Classroom
Support Create
Has role of
Users does
Teaches in
Studies in
Consist of
Users 1.m
1.m
1.1 0.m
1.m
0.m
1.m
1.m
0.m 0.m 0.m
0.m 0.m
1.1
1.1
1.1
0.m
0.1
ตวอยาง ER - Diagram
Mother Son
has 1..1 0..m Mother Id
Mother Name Son Id
Son Name
การออกแบบ Physical Data Model ดวยER - Diagram
หลกการแปลง Association Abstraction และ Aggregation Abstraction ใหเปน E-R Diagram
แปลงทกๆ Class ทมสวนเกยวของกบ Association Abstraction และ Aggregation Abstraction ใหเปน Entity โดยระบสวนทเปน primary key
แปลงความสมพนธใน Abstraction ใหอยในรป Relation ถาเปน Aggregation ใหใชชอของความสมพนธเปน consists of และถาเปน Associationใหใชชอความสมพนธเดม
หลกการแปลง Association Abstraction และ Aggregation Abstraction ใหเปน E-R Diagram
ในกรณของ Aggregation Abstraction ใหใส Cardinality ในฝงของ entity ทแปลงมาจาก Aggregated Class ใหเปน 1..1 และใหคง Cardinality ของ entity ทแปลงมาจาก Composite Classไวคงเดม
ในกรณของ Aggregation Abstraction ใหใช PK ของ Aggregation Class เปน FK ของทกๆ Composite Class
การแปลง Aggregation Abstraction ใหเปน E-R Diagram
Company Id
Company Name
Company Description
Staff Id
Staff Name
Department Id
Department Department Staff
Company
1.n 1.n
รป Aggregation Abstraction
Company
Company Name Company Description
Department
Company Id
Department Id
Staff
Company Id Staff Id
Consists of
Consists of
1..1
1..1
1..n
1..n
Department Name
Staff Name
Company Id
การแปลง Aggregation Abstraction ใหเปน E-R Diagram
Supervisor
Subject
Student Teacher
Subject Id
Subject Name
Teacher Id
Teacher Name
Supervisor Id
Supervisor
Name
Student Id
Student
Name
is studied by
Teaches in
supervises 1..1
0..n
1..n
0..1
1..n
0..1
รปตวอยางของ Association Abstraction
Teacher
Subject
Supervisor
Student-Subject
Student
Teaches in
Student Id Student Name
Supervisor Id Supervisor Name
Supervisor Id Subject Name
Subject Id
Student Id Subject Id Supervisor Id
Subject Id
Supervisor Id
Teacher Id
Teacher Name
1..1
1..n
1..1
1..1
1..n
0..1
0..1
1..n
รป การแปลง Association ใหเปน E-R Diagram
Teaches in
Teaches in
Teaches in
หลกการแปลง Generalization ใหเปน E-R Diagram
แปลงทกๆ Class ทมสวนเกยวของกบ Generalization ใหเปน Entity โดยใหน า PK ของ Super Classมาเปน PK ของทก Subclass
แปลงความสมพนธใน Generalization ใหอยในรป Relation โดยใชชอของความสมพนธเปน “is a”
หลกการแปลง Generalization ใหเปน E-R Diagram
สราง Cardinality โดยใช Cardinality ของ super class เปน 1..1 และ Cardinality ของทกๆ subclass เปน 0..1
ใหน า PK ของทก subclass ไปเปน FK ดวย
Legal Case
Financial Legal Case
Criminal Legal Case
Years of Poisoning
Legal Case Id
Legal Case Name
Fee
รปตวอยาง Generalization Abstraction
การแปลง Generalization ใหเปน E-R Diagram
Criminal Legal Case Financial Legal Case
Legal Case Id Fee Years of Poisoning
Legal Case Id
1..1 1..1 Is a Is a
Legal Case
Legal Case Id Legal Case Name
0..1 0..1
การออกแบบ Data Model เพอเออตอการเกบประวตศาสตรของขอมล
Surrogate Key
สงทจ าเปนส าหรบการออกแบบ Logical และ Physical
รหส (เปน Primary Key)
DM8801
ค าอธบาย แกวน าส าหรบเดก
น าหนก
12 g.
แบบ
คละส
รหส (เปน Primary Key)
9908
ค าอธบาย แกวน าส าหรบเดก
หนวยสนคา โหล
ราคาเตม 26
ราคาลดชวงเทศกาล
24
Entity-Relationship vs. Dimensional Models
One table per entity
Minimize data redundancy
Optimize update
The Transaction Processing Model
One fact table for data organization
Maximize understandability
Optimized for retrieval
The data warehousing model
รายละเอยดของฐานขอมลส าหรบคลงขอมล ขอมลในคลงขอมลกคอขอมลธรกรรมของหนวยงาน ดงนนจงจ าเปนจะตองมเครองมอส าหรบแยกขอมลออกจากฐานขอมลองคการมาเกบไว ขอมลเหลานจ าเปนจะตองมเมตาเดตา (metadata) ส าหรบใชพรรณนา ลกษณะของขอมล ตนก าเนด รปแบบ ขดจ ากดในการใช และ ลกษณะอน ๆ ของขอมลทใชในการก าหนดวาจะใชขอมลนนอยางไร
รายละเอยดของฐานขอมลส าหรบคลงขอมล (ตอ)
1. Dimensional Modeling เปนชอเรยกของเทคนคในการท าใหฐานขอมลงายตอการท าความเขาใจ โดยการมองภาพของฐานขอมลเปนลกบาศกทม 3,4,5 มต หรอมากกวานน ท าใหสามารถจตนาการทมลกษณะเหมอนลกเตาคอสามารถตดขอมลมาวเคราะหดในชวงใดกได และหมนขอมลดไดจากทกๆดานของลกเตา
ตวอยางเชน เราขายสนคา (product) ในหลายๆท (market) แลในชวงเวลาตางๆกน (time) เราสามารถสราง Dimensional Modeling ไดโดยให label คอ product, market และ time อยบนแตละดานของลก บาศกทเปน 3 มต แตละจดภายในลกบาศกเกดจากการตดของ coordinate ซงม label อยทขอบของลกบาศก ดงนนจดตางๆภายในลกบาศกคอผลลพธทางดานธรกจทพจารณาจากทง 3 เรองคอ สนคา, ทขายสนคา, เวลา พรอมๆกน
รายละเอยดของฐานขอมลส าหรบคลงขอมล (ตอ)
2. Star Join Schema เปนชอหนงของ dimensional model ซงเปนชอทใชกนมานานเนองจาก diagram มรปรางคลายดาว ซงมตารางใหญ 1 ตารางอยตรงกลางซงเรยกวา fact table และมตารางเลกๆทมความสมพนธกบตารางหลกนนอยรอบๆ เรยกวา dimensional table ซงตารางหลกนเปนตารางเดยวทใช multiple join เพอเชอมตอกบตารางอนๆ แตตารางอนๆทอยรอบๆจะมเพยงแค single join เพอเชอมเขากบตารางหลกเทานน
รายละเอยดของฐานขอมลส าหรบคลงขอมล (ตอ)
2.1 fact table ขอมลทเกบอยใน fact table เรยกวา grain of fact table แตละ เรคคอรดใน fact table จะแสดงถง ยอดขายทงหมดของสนคาหนงทขายไดในสถานททแหงหนงในหนงวน fact table จะเปนทเกบขอมลทวดไดของธรกจหนงๆ เชนขอมลทเปนตวเลข ขอมลทวดไดแตละตวนมาจากการ intersection กนของทกๆ dimensions
รายละเอยดของฐานขอมลส าหรบคลงขอมล (ตอ)
2.2 dimensional table เกบค าอธบายของแตละ dimension ของธรกจเอาไว ซงค าอธบายเหลานจะชวยในการอธบายถงสมาชกในทกๆ dimension และใน dimension table จะประกอบดวยหลายๆ attributes ซง attribute ทดจะตองเปนตวอกษรและแตละ attribute ตองแยกออกจากกน
รายละเอยดของฐานขอมลส าหรบคลงขอมล (ตอ)
การพจารณา Measure Dimension และ การออกแบบ Fact Table ในการออกแบบ Fact Table สงทตองค านงถงคอ Measure, Dimension
การออกแบบ Dimensional Data Model
Measure
Dimension Facts
Fact Table
Dimensional Data Model
ขอม ลท ต อ งการ ใช เ พ อการว ด ท ง ใน เ ช งป รมาณ (Quantitative) และเชงคณภาพ (Qualitative) ของสงใดสงหนง เชน ยอดขายรวม ก าไร คาธรรมเนยม เปนตน ซงจะมชนดของขอมลเปนตวเลขเสมอ
Measures
Dimension Tables
Contain text and descriptive information
1 in a 1-M relationship
Generally the source of interesting constraints
Typically contain the attributes for the SQL answer set.
ขอมลทเปนมมมองใหแก Measure เพอประโยชนในการวเคราะหขอมล เชน เวลา จงหวด อ าเภอ เปนตน
Dimension Tables
Facts
Contains two or more foreign keys
Tend to have huge numbers of records
Useful facts tend to be numeric and additive
ชดของคาทเกดจากการจบคกนของ Dimension และ Measure ทท าใหเกดคาใดคาหนงทมความหมายสามารถวดคาได และบอกเลาขอเทจจรงอยางใดอยางหนง
ตวอยาง Measure Dimension Facts and Fact Table
OrderDate Supplier ProductType Amount
25/02/2553 พะเยาการคา คอมพวเตอร 36,000
25/02/2553 ทวกจเจรญ เครองใชไฟฟา
58,000
28/02/2553 พะเยาพาณชย
สนคาบรโภค 22,000
Dimension Measure
Fact ชดท1
Fact ชดท2
Fact ชดท3
สามารถสราง E-R Diagram เพอแสดงความสมพนธระหวาง Measure Dimension และ Fact Table ได โดยอาศยหลกการเชนเดยวกบการออกแบบ Logical Data Model
การออกแบบ Dimensional Data Model
Star schema หมายถง Dimensional Data Model ทม Fact table ขนาดใหญเพยงหนงเดยวอยตรงกลาง
Star schema
Shop
Shop Id
Shop Name
Date
Date Id
Date/Month/Year
Product
Product Id
Product Name
Sales
Product Id Date Id
Shop Id
Sales Amount
is dimension of
is dimension of is dimension of
1..1
1..1 1..1
0..n
0..n 0..n
รป E-R Diagram ทแสดง Fact Table Measure and Dimension ทมความสมพนธกนแบบ Star Schema
Star Schema
Shop Id Shop Name
001 ABC
002 DEF
003 GHI
Product Id Product Name
112 BICUIT A
113 ICE CREAM B
114 CAKE C
Date Id
2130 10/Jan/2001
2165 11/Jan/2001
2174 12/Jan/2001
Shop Id Product Id Date Id Sales Amount
001 112 2130 800
001 113 2156 900
002 114 2156 700
003 115 2156 600
Dimension :Shop Dimension :Product
Fact :Sales
Dimension :Date
Date/Month/Year
ตวอยางขอมลใน Star Schema
Snowflakes Schema หมายถง Dimensional Data Model ทม Fact table ขนาดใหญเพยงหนงเดยวอยตรงกลางและม Dimension table จ านวนหนงอยรายรอบเพอก าหนดมมมองทจะมตอ Measure ใน fact table โดยจ านวนมมมองทมองไดจะเทากบจ านวน Dimension
Snowflakes Schema
Date
Shop Id
Date/Month/Year
Region
Region Id
Region Name Sales
Region Id
Date Id
Shop Id
Sales Amount
รปตวอยางของ E-R Diagram ทแสดง Fact Table Measure and Dimension
Shop
Shop Id
Shop Name
Region Id
Product
Product Id
Product Name
Product Type
Product Type Id
Product Type Name
Product Type
Product Type Id
Shop Id
is dimension of
is dimension of
is dimension of
is dimension of
is dimension of
1..1
0..n
1..1
1..1
1..1
1..1
0..n
0..n
0..n
0..n
Snowflakes Schema
11 AREA51
12 Hollywood
Region Id Shop Id Shop Name
11 001 ABC
22 002 DEF
22 003 GHI
Shop Id Product Id Date Id Sales Amount
001 112 2130 800
001 113 2156 900
002 113 2156 700
003 114 2156 600
Date Id Date Month Year
2130 10/Jan/2001
2165 11/Jan/2001
2174 12/Jan/2001
Product Type
Product Id
Product Name
1 112 Biscuit A
2 113 Ice Cream B
1 114 Cake C
Product Type
Product Type Name
1 Snack
2 Ice Cream
Region Id Region Name
Dimension: shop
Fact: sales
Dimension: Date
Dimension: Product
Dimension Hierarchies
store storeId cityId tId mgr
s5 sfo t1 joe
s7 sfo t2 fred
s9 la t1 nancycity cityId pop regId
sfo 1M north
la 5M south
region regId name
north cold region
south warm region
sType tId size location
t1 small downtown
t2 large suburbs
store sType
city region
snowflake schema constellations