ความแตกต่างระหว่าง Fact table กับ Dimension table?


114

เมื่ออ่านหนังสือเกี่ยวกับวัตถุทางธุรกิจฉันเจอตารางคำศัพท์และตารางมิติข้อมูล

ฉันพยายามทำความเข้าใจว่าอะไรคือความแตกต่างระหว่าง Dimension table และ Fact table?

ฉันอ่านบทความทางอินเทอร์เน็ตสองสามบทความ แต่ไม่สามารถเข้าใจได้ชัดเจน ..

ตัวอย่างง่ายๆที่จะช่วยให้ฉันเข้าใจได้ดีขึ้น?


แนวคิดนี้ค่อนข้างยาวในการอธิบายรายละเอียดที่ดีหากคุณมีปัญหาเฉพาะนอกเหนือจากคำจำกัดความพื้นฐานโปรดแจ้งให้เราทราบ
NoChance

1
โดยทั่วไปฉันพยายามทำความเข้าใจว่าตารางมิติสามารถเป็นตารางข้อเท็จจริงได้หรือไม่?

คำตอบ:


53

นี่คือการตอบโจทย์:

ฉันพยายามทำความเข้าใจว่าตารางมิติสามารถเป็นตารางข้อเท็จจริงได้หรือไม่?

คำตอบสั้น ๆ (INMO) คือ No นั่นเป็นเพราะตาราง 2 ประเภทถูกสร้างขึ้นด้วยเหตุผลที่แตกต่างกัน อย่างไรก็ตามจากมุมมองการออกแบบฐานข้อมูลตารางมิติอาจมีตารางพาเรนต์เป็นกรณีที่มีตารางข้อเท็จจริงซึ่งมีตารางมิติ (หรือมากกว่า) เป็นพาเรนต์เสมอ นอกจากนี้อาจมีการรวบรวมตารางข้อเท็จจริงในขณะที่ตารางมิติข้อมูลจะไม่รวม อีกเหตุผลหนึ่งคือไม่ควรอัปเดตตารางข้อเท็จจริงในขณะที่ตารางมิติสามารถอัปเดตได้ในบางกรณี

รายละเอียดเพิ่มเติม:

ตารางข้อเท็จจริงและมิติข้อมูลปรากฏในสิ่งที่เรียกกันทั่วไปว่าสคีมาดาว จุดประสงค์หลักของสคีมาแบบดาวคือการลดความซับซ้อนของชุดตารางปกติที่ซับซ้อนและรวมข้อมูล (อาจมาจากระบบที่แตกต่างกัน) ให้เป็นโครงสร้างฐานข้อมูลเดียวที่สามารถสืบค้นได้อย่างมีประสิทธิภาพ

ในรูปแบบที่ง่ายที่สุดประกอบด้วยตารางข้อเท็จจริง (ตัวอย่าง: StoreSales) และตารางมิติข้อมูลอย่างน้อยหนึ่งตาราง รายการมิติข้อมูลแต่ละรายการมีตารางข้อเท็จจริง 0,1 หรือมากกว่าที่เกี่ยวข้อง (ตัวอย่างของตารางมิติ: ภูมิศาสตร์รายการซัพพลายเออร์ลูกค้าเวลา ฯลฯ ) มันจะถูกต้องเช่นกันสำหรับมิติที่จะมีพาเรนต์ซึ่งในกรณีนี้โมเดลจะเป็นประเภท "เกล็ดหิมะ" อย่างไรก็ตามนักออกแบบพยายามหลีกเลี่ยงการออกแบบประเภทนี้เนื่องจากทำให้เกิดการรวมที่มีประสิทธิภาพช้ามากขึ้น ในตัวอย่างของ StoreSales มิติทางภูมิศาสตร์อาจประกอบด้วยคอลัมน์ (GeoID, ContenentName, CountryName, StateProvName, CityName, StartDate, EndDate)

ในแบบจำลอง Snow Flakes คุณสามารถมีตารางปกติ 2 ตารางสำหรับข้อมูลภูมิศาสตร์ ได้แก่ ตารางเนื้อหาตารางประเทศ

คุณสามารถดูตัวอย่างมากมายใน Star Schema นอกจากนี้ตรวจสอบนี้จะเห็นมุมมองทางเลือกในรูปแบบคีดาวInmon กับคิมบอลล์ Kimbal มีฟอรั่มที่ดีคุณอาจต้องการตรวจสอบที่นี่: คิมบอลล์ฟอรั่ม

แก้ไข: หากต้องการตอบความคิดเห็นเกี่ยวกับตัวอย่างสำหรับ 4NF:

  • ตัวอย่างตารางข้อเท็จจริงที่ละเมิด 4NF:

ข้อมูลการขาย (ID, BranchID, SalesPersonID, ItemID, Amount, TimeID)

  • ตัวอย่างตารางข้อเท็จจริงที่ไม่ละเมิด 4NF:

AggregatedSales (BranchID, TotalAmount)

นี่คือความสัมพันธ์ใน 4NF

ตัวอย่างสุดท้ายค่อนข้างไม่ธรรมดา


1
ตารางข้อเท็จจริงบางรายการแสดงข้อมูลระดับธุรกรรม บางส่วนแสดงถึงข้อมูลที่รวบรวม ตารางข้อเท็จจริงใน Star Schema ไม่จำเป็นต้องเป็น 3NF ตัวอย่างเช่น Sales Fact อาจมีข้อมูลเช่น (ID, BranchID, Amount, SalesPerson, Time) ซึ่งเป็นการละเมิด 3NF, BCNF และ 4NF เนื่องจากการพึ่งพาพนักงานขายและสาขาดังนั้นจึงไม่เป็นความจริงที่ตารางข้อเท็จจริงทั่วไปอยู่ใน 4NF
NoChance

265

ใน Data Warehouse Modeling สคีมาดาวและสคีมาเกล็ดหิมะประกอบด้วยตารางFactและDimension

ตารางข้อเท็จจริง:

  • ประกอบด้วยคีย์หลักทั้งหมดของมิติข้อมูลและข้อมูลหรือมาตรการที่เกี่ยวข้อง (เป็นคุณสมบัติที่สามารถคำนวณได้) เช่นปริมาณที่ขายจำนวนที่ขายและยอดขายเฉลี่ย

ตารางมิติ:

  • ตารางมิติให้ข้อมูลเชิงอธิบายสำหรับการวัดทั้งหมดที่บันทึกไว้ในตารางข้อเท็จจริง
  • ขนาดค่อนข้างเล็กมากเมื่อเปรียบเทียบกับตารางข้อเท็จจริง
  • มิติข้อมูลที่นิยมใช้ ได้แก่ บุคคลผลิตภัณฑ์สถานที่และเวลา

ป้อนคำอธิบายภาพที่นี่

แหล่งที่มาของภาพ


54
สิ่งนี้มีประโยชน์มากกว่าคำตอบที่ยอมรับ
Booji Boy

16
ภาพมีค่าหนึ่งพันคำ ฉันไม่เข้าใจอะไรเลยเมื่ออ่านคำตอบอื่น ๆ แต่คำตอบนี้ช่วยฉันได้
The One

ขนาดดูค่อนข้างใหญ่เมื่อเทียบกับตารางข้อเท็จจริงในแผนภาพเนื่องจากมีข้อมูลที่อธิบายได้มากกว่า และพวกเขามีมากขึ้นในจำนวนที่มากเกินไป
สีฟ้าเมฆ

2
@Blue Clouds: คุณต้องตระหนักว่า Fact-Table มีรายการเดียวสำหรับทุกการรวมกันของ for dim (อย่างน้อยถ้ามีข้อมูล) ในขณะที่มิติข้อมูลสถานที่ตั้งสูงสุดจะมีรายการเดียวสำหรับทุกสถานที่ที่เป็นไปได้ (เช่น 50 จุดขาย) และจะไม่ค่อยเติบโตเมื่อมีการเพิ่มตำแหน่งใหม่ตารางข้อเท็จจริงอาจเพิ่มขึ้นในแต่ละวันตามสถานที่ตั้ง x รายการ x สาขา ดังนั้นข้อเท็จจริงจะได้รับจำนวนมากอย่างรวดเร็ว
Daniel

1
@ Kalana ใช่ตารางข้อเท็จจริงสามารถอยู่ได้โดยไม่ต้องมีคีย์หลัก ตัวอย่างเช่นตารางการขายที่มีคอลัมน์, cust_id, date_ordered, จำนวน, เวลา, สถานที่สามารถมีบันทึกทั้งหมดเหมือนกันหากเขา / เธอสั่งซื้อในวันเดียวกัน / สถานที่เดียวกัน / จำนวนเดียวกันสองครั้ง
Manikandan Kbk DIP

113

ดูเหมือนจะเป็นคำตอบที่ง่ายมากในการแยกความแตกต่างระหว่างตารางข้อเท็จจริงและตารางมิติข้อมูล!

อาจช่วยให้นึกถึงมิติเป็นสิ่งของหรือวัตถุ สิ่งต่างๆเช่นผลิตภัณฑ์สามารถดำรงอยู่ได้โดยไม่ต้องมีส่วนร่วมในกิจกรรมทางธุรกิจ มิติคือคำนามของคุณ เป็นสิ่งที่สามารถดำรงอยู่ได้โดยไม่ขึ้นกับเหตุการณ์ทางธุรกิจเช่นการขาย สินค้าพนักงานอุปกรณ์ล้วนเป็นสิ่งที่มีอยู่ มิติทำบางสิ่งบางอย่างหรือมีบางอย่างที่ทำ

พนักงานขายลูกค้าซื้อ. พนักงานและลูกค้าเป็นตัวอย่างของมิติที่พวกเขาทำ

มีการขายสินค้าพวกเขายังเป็นขนาดที่พวกเขามีบางอย่างที่ทำกับพวกเขา

ข้อเท็จจริงคือคำกริยา รายการในตารางข้อเท็จจริงจะทำเครื่องหมายเหตุการณ์ที่ไม่ต่อเนื่องซึ่งเกิดขึ้นกับบางสิ่งจากตารางมิติข้อมูล การขายสินค้าจะถูกบันทึกไว้ในตารางข้อเท็จจริง เหตุการณ์การขายจะสังเกตได้จากสินค้าที่ขายพนักงานคนไหนขายและลูกค้าคนไหนซื้อ ผลิตภัณฑ์พนักงานและลูกค้าเป็นมิติข้อมูลทั้งหมดที่อธิบายเหตุการณ์การขาย

นอกจากนี้ตารางข้อเท็จจริงยังมีข้อมูลเชิงปริมาณบางประเภท ปริมาณที่ขายราคาต่อรายการราคารวมและอื่น ๆ

ที่มา: http://arcanecode.com/2007/07/23/dimensions-versus-facts-in-data-warehousing/


5
การเขียนที่ยอดเยี่ยมใช้เวลาเพียง 5 นาทีในการทำความเข้าใจแนวคิด
user1951

สรุป: มิติเป็นคุณลักษณะของเหตุการณ์ข้อเท็จจริง DAFE. คุณกำลังทำอะไรอยู่ DAFE?
youcantryreachingme

4
ใช่นั่นคือสิ่งที่ฉันจำได้ มันกลับกันสิ่งที่คุณคิด คุณคิดว่าข้อเท็จจริงถูกกำหนดไว้ในหินและมิติต่างๆเป็นแบบไดนามิกตามคำพูดนั้นเอง แต่มันตรงกันข้าม: ตารางสลัวพื้นฐานเป็นรายการค้นหาที่ค่อนข้างคงที่และตารางข้อเท็จจริงพื้นฐานคือข้อมูลที่มีชีวิตที่ถูกป้อน
ขีดเส้นใต้

1
นี่เป็นคำอธิบายที่ฉันชอบและทำให้คลิกเข้ามาในหัวขอบคุณ!
อรชุนอรุณ

9

ฉันพบว่าคำตอบนี้เข้าใจง่ายขึ้นจากมุมมองของผู้ที่ไม่รู้จักคำศัพท์ DB / DW มากนัก

http://databases.about.com/od/datamining/a/Facts-Vs-Dimensions.htm

ฉันจะแนะนำให้ทำตามขั้นตอนนี้ก่อนจากนั้นจึงอ่านคำตอบของ Emmad Kareem เพื่อความละเอียดยิ่งขึ้น หวังว่าจะเป็นประโยชน์


1
คำอธิบายแรกที่ชัดเจนทั้งหมด ตัวอย่างที่มีประโยชน์มากในภาษาการวางที่เรียบง่ายโดยเปิดเผยรายละเอียด ตอนนี้ฉันได้รับมันในที่สุด
sharon

ดีมาก ... ฉันคิดว่าคุณพูดถูก ... อ่านอันนั้นก่อน คำตอบทั้งหมดมีประโยชน์ ... แต่คำตอบนี้มีวิธีการออกเสียงแนวคิดในแง่ 'มนุษย์' มากขึ้น
Code Novice

4

คำอธิบายง่ายๆสุด ๆ :

ตารางข้อมูล: ตารางข้อมูลที่แมปรหัสการค้นหาเข้าด้วยกัน โดยปกติจะเป็นหนึ่งในตารางหลักที่เป็นศูนย์กลางของแอปพลิเคชันของคุณ

ตารางมิติ: ตารางการค้นหาที่ใช้ในการจัดเก็บค่า (เช่นชื่อเมืองหรือรัฐ) ที่ทำซ้ำบ่อยๆในตารางข้อเท็จจริง


3

ในรูปแบบที่ง่ายที่สุดฉันคิดว่าตารางมิติก็เหมือนกับตาราง 'Master' ซึ่งจะเก็บรายการ 'รายการ' ทั้งหมดไว้

ตารางข้อเท็จจริงคือตารางธุรกรรมที่อธิบายธุรกรรมทั้งหมด นอกจากนี้ข้อมูลรวม (จัดกลุ่ม) เช่นยอดขายรวมตามพนักงานขายยอดขายรวมตามสาขา - ตารางประเภทดังกล่าวอาจมีอยู่ในรูปแบบตารางข้อเท็จจริงที่เป็นอิสระ


2

ตารางมิติตาราง มิติคือตารางที่มีคุณลักษณะของการวัดที่เก็บไว้ในตารางข้อเท็จจริง ตารางนี้ประกอบด้วยลำดับชั้นประเภทและตรรกะที่สามารถใช้เพื่อสำรวจในโหนด

ตารางข้อเท็จจริงประกอบด้วยการวัดกระบวนการทางธุรกิจและมีคีย์ต่างประเทศสำหรับตารางมิติข้อมูล

ตัวอย่าง - หากกระบวนการทางธุรกิจคือการผลิตอิฐ

จำนวนอิฐโดยเฉลี่ยที่ผลิตโดยคน / เครื่องหนึ่งคน - การวัดกระบวนการทางธุรกิจ


1
  1. ตารางข้อเท็จจริงส่วนใหญ่ประกอบด้วยข้อมูลทางธุรกิจและคีย์ต่างประเทศที่อ้างถึงคีย์หลักในตารางมิติข้อมูล ตารางมิติข้อมูลส่วนใหญ่ประกอบด้วยแอตทริบิวต์เชิงอธิบายที่เป็นช่องข้อความ
  2. ตารางมิติประกอบด้วยคีย์ตัวแทนคีย์ธรรมชาติและชุดแอตทริบิวต์ ในทางตรงกันข้ามตารางข้อเท็จจริงจะมีคีย์ต่างประเทศการวัดและขนาดที่เสื่อมสภาพ
  3. ตารางมิติข้อมูลให้ข้อมูลเชิงบรรยายหรือเชิงบริบทสำหรับการวัดตารางข้อเท็จจริง ในทางกลับกันตารางข้อเท็จจริงเป็นการวัดผลขององค์กร
  4. เมื่อเปรียบเทียบขนาดของสองตารางตารางข้อเท็จจริงจะใหญ่กว่าตารางมิติ ในตารางเปรียบเทียบจะมีการนำเสนอมิติข้อมูลมากกว่าตารางข้อเท็จจริง ในตารางข้อเท็จจริงมีการสังเกตจำนวนข้อเท็จจริงน้อยกว่า
  5. ต้องโหลดตารางมิติข้อมูลก่อน ในขณะที่โหลดตารางข้อเท็จจริงควรต้องดูที่ตารางมิติข้อมูล เนื่องจากตารางข้อเท็จจริงมีมาตรการข้อเท็จจริงและคีย์ต่างประเทศที่เป็นคีย์หลักในตารางมิติข้อมูล

อ่านเพิ่มเติม: ตารางมิติข้อมูลและตารางข้อเท็จจริง | ความแตกต่างระหว่าง | ตารางมิติเทียบกับตารางข้อเท็จจริงhttp://www.differencebetween.net/technology/hardware-technology/dimension-table-and-fact-table/#ixzz3SBp8kPzo


-3

ตารางมิติข้อมูล: ไม่มีอะไรนอกจากเราสามารถเก็บรักษาข้อมูลเกี่ยวกับวันที่ที่เรียกว่าเป็นตารางมิติได้

ตัวอย่าง: Time Dimension, Product Dimension

ตารางข้อเท็จจริง: ไม่มีอะไรนอกจากเราสามารถรักษาข้อมูลเกี่ยวกับเมตริกหรือข้อมูลการคำนวณล่วงหน้าได้

ตัวอย่าง: Sales Fact, Order Fact

สคีมาติดดาว: ลิงก์ตารางข้อเท็จจริงหนึ่งรายการที่มีรูปแบบตารางมิติเป็นสคีมาเริ่มต้น

ป้อนคำอธิบายภาพที่นี่


2
(ดูเหมือนว่าโพสต์นี้จะไม่ได้ให้คำตอบที่มีคุณภาพสำหรับคำถามโปรดแก้ไขคำตอบของคุณหรือเพียงแค่โพสต์เป็นความคิดเห็นสำหรับคำถาม)
sɐunıɔןɐqɐp
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.