OBIEE - สคีมา

Schema คือคำอธิบายเชิงตรรกะของฐานข้อมูลทั้งหมด ประกอบด้วยชื่อและคำอธิบายของระเบียนทุกประเภทรวมทั้งรายการข้อมูลและการรวมที่เกี่ยวข้องทั้งหมด เช่นเดียวกับฐานข้อมูล DW ยังต้องดูแลสคีมา ฐานข้อมูลใช้โมเดลเชิงสัมพันธ์ในขณะที่ DW ใช้ Star, Snowflake และ Fact Constellation schema (Galaxy schema)

สคีมาของดาว

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

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

ใน Star Schema ด้านบนมีตารางข้อเท็จจริง“ Sales Fact” อยู่ตรงกลางและรวมเข้ากับตารางมิติข้อมูล 4 ตารางโดยใช้คีย์หลัก ตารางมิติข้อมูลจะไม่ถูกทำให้เป็นมาตรฐานต่อไปและการรวมตารางนี้เรียกว่า Star Schema ใน DW

ตารางข้อเท็จจริงยังประกอบด้วยค่าการวัด - ดอลลาร์_soldและ units_sold

สคีมาเกล็ดหิมะ

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

ความแตกต่างระหว่างสคีมาของ Star และ Snowflakes คือตารางมิติจะถูกทำให้เป็นมาตรฐานเพิ่มเติม การทำให้เป็นมาตรฐานจะแยกข้อมูลออกเป็นตารางเพิ่มเติม เนื่องจากการทำให้เป็นมาตรฐานในสคีมา Snowflake ความซ้ำซ้อนของข้อมูลจึงลดลงโดยไม่สูญเสียข้อมูลใด ๆ ดังนั้นจึงง่ายต่อการบำรุงรักษาและประหยัดพื้นที่จัดเก็บ

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

รายละเอียด

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

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

กระบวนการกำหนดรายละเอียดประกอบด้วยสองขั้นตอน -

  • การกำหนดมิติข้อมูลที่จะรวม
  • การกำหนดตำแหน่งที่จะวางลำดับชั้นของข้อมูลแต่ละมิติ

เปลี่ยนขนาดอย่างช้าๆ

มิติที่เปลี่ยนแปลงอย่างช้าๆหมายถึงการเปลี่ยนแปลงมูลค่าของแอตทริบิวต์เมื่อเวลาผ่านไป เป็นหนึ่งในแนวคิดทั่วไปใน DW

ตัวอย่าง

Andy เป็นพนักงานของ XYZ Inc. เขาตั้งอยู่ครั้งแรกในนิวยอร์กซิตี้ในเดือนกรกฎาคม 2015 รายการต้นฉบับในตารางการค้นหาพนักงานมีบันทึกดังนี้ -

รหัสพนักงาน 10001
ชื่อ แอนดี้
สถานที่ นิวยอร์ก

ในเวลาต่อมาเขาได้ย้ายไปที่ LA, California ตอนนี้ XYZ Inc. ควรแก้ไขตารางพนักงานอย่างไรเพื่อให้สอดคล้องกับการเปลี่ยนแปลงนี้

สิ่งนี้เรียกว่าแนวคิด "การเปลี่ยนมิติอย่างช้าๆ"

มีสามวิธีในการแก้ปัญหาประเภทนี้ -

โซลูชันที่ 1

ระเบียนใหม่แทนที่ระเบียนเดิม ไม่มีร่องรอยของบันทึกเก่า

การเปลี่ยนมิติข้อมูลอย่างช้าๆข้อมูลใหม่จะเขียนทับข้อมูลเดิม กล่าวอีกนัยหนึ่งคือไม่มีการเก็บประวัติ

รหัสพนักงาน 10001
ชื่อ แอนดี้
สถานที่ แอลเอแคลิฟอร์เนีย
  • Benefit - นี่เป็นวิธีที่ง่ายที่สุดในการจัดการกับปัญหาการเปลี่ยนแปลงอย่างช้าๆเนื่องจากไม่จำเป็นต้องติดตามข้อมูลเก่า

  • Disadvantage - ข้อมูลทางประวัติศาสตร์ทั้งหมดสูญหาย

  • Use - ควรใช้โซลูชันที่ 1 เมื่อ DW ไม่จำเป็นต้องติดตามข้อมูลในอดีต

โซลูชันที่ 2

บันทึกใหม่ถูกป้อนลงในตารางมิติข้อมูลพนักงาน ดังนั้นพนักงานแอนดี้จึงถือว่าเป็นสองคน

มีการเพิ่มระเบียนใหม่ลงในตารางเพื่อแสดงข้อมูลใหม่และทั้งระเบียนเดิมและระเบียนใหม่จะปรากฏขึ้น ระเบียนใหม่ได้รับคีย์หลักของตัวเองดังนี้ -

รหัสพนักงาน 10001 10002
ชื่อ แอนดี้ แอนดี้
สถานที่ นิวยอร์ก แอลเอแคลิฟอร์เนีย
  • Benefit - วิธีนี้ช่วยให้เราจัดเก็บข้อมูลประวัติทั้งหมด

  • Disadvantage- ขนาดโต๊ะโตเร็วขึ้น เมื่อจำนวนแถวของตารางสูงมากพื้นที่และประสิทธิภาพของตารางอาจเป็นปัญหา

  • Use - ควรใช้โซลูชันที่ 2 เมื่อจำเป็นสำหรับ DW เพื่อเก็บข้อมูลในอดีต

โซลูชันที่ 3

บันทึกเดิมในมิติข้อมูลพนักงานได้รับการแก้ไขเพื่อให้สอดคล้องกับการเปลี่ยนแปลง

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

รหัสพนักงาน ชื่อ ตำแหน่งเดิม ตำแหน่งใหม่ วันที่ย้าย
10001 แอนดี้ นิวยอร์ก แอลเอแคลิฟอร์เนีย กรกฎาคม 2558
  • Benefits- สิ่งนี้จะไม่เพิ่มขนาดของตารางเนื่องจากมีการอัปเดตข้อมูลใหม่ สิ่งนี้ช่วยให้เราสามารถเก็บข้อมูลทางประวัติศาสตร์

  • Disadvantage - วิธีนี้จะไม่เก็บประวัติทั้งหมดเมื่อมีการเปลี่ยนแปลงค่าแอตทริบิวต์มากกว่าหนึ่งครั้ง

  • Use - ควรใช้โซลูชัน 3 เมื่อ DW จำเป็นต้องเก็บข้อมูลการเปลี่ยนแปลงในอดีตเท่านั้น

Normalization

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

วัตถุประสงค์ของการทำให้เป็นมาตรฐาน

  • ใช้เพื่อกำจัดข้อมูลบางประเภท (ซ้ำซ้อน / จำลองแบบ) เพื่อปรับปรุงความสอดคล้อง

  • ให้ความยืดหยุ่นสูงสุดเพื่อตอบสนองความต้องการข้อมูลในอนาคตโดยการรักษาตารางที่สอดคล้องกับประเภทออบเจ็กต์ในรูปแบบที่เรียบง่าย

  • สร้างแบบจำลองข้อมูลที่ชัดเจนและอ่านได้

ข้อดี

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

ข้อเสีย

แบบสอบถามในฐานข้อมูลทำงานช้าเนื่องจากต้องทำการรวมเพื่อดึงข้อมูลที่เกี่ยวข้องจากตารางปกติหลาย ๆ ตาราง

คุณต้องเข้าใจโมเดลข้อมูลเพื่อที่จะทำการเชื่อมต่อระหว่างตารางต่างๆได้อย่างเหมาะสม

ตัวอย่าง

ในตัวอย่างข้างต้นตารางในบล็อกสีเขียวแสดงถึงตารางปกติของตารางที่อยู่ในบล็อกสีแดง ตารางในบล็อกสีเขียวมีความซ้ำซ้อนน้อยกว่าและมีจำนวนแถวน้อยลงโดยไม่สูญเสียข้อมูลใด ๆ