Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

การประมวลผลตารางข้อเท็จจริงคืออะไร?


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

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

ในคลังสินค้า Referential Integrity (RI) กำหนดว่าสำหรับ Foreign Key แต่ละรายการในตารางข้อเท็จจริง รายการจะดำเนินต่อไปในตารางมิติที่เทียบเท่ากัน หากคุณมีการขายในตารางข้อเท็จจริงสำหรับหมายเลขผลิตภัณฑ์ 323442 คุณต้องมีสินค้าในตารางมิติข้อมูลผลิตภัณฑ์ด้วยหมายเลขเดียวกัน มิฉะนั้น คุณจะไม่รู้ว่าคุณขายอะไร คุณมีการขายสำหรับสิ่งที่ดูเหมือนจะเป็นผลิตภัณฑ์ที่ไม่มีอยู่จริง

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

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

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

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

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