5
การออกแบบฐานข้อมูลสำหรับการบันทึกการตรวจสอบ
ทุกครั้งที่ฉันต้องการออกแบบฐานข้อมูลใหม่ฉันใช้เวลาค่อนข้างจะคิดเกี่ยวกับวิธีที่ฉันควรตั้งค่าสคีมาฐานข้อมูลเพื่อเก็บบันทึกการตรวจสอบของการเปลี่ยนแปลง มีบางคำถามที่ถูกถามถึงที่นี่เกี่ยวกับเรื่องนี้ แต่ฉันไม่เห็นด้วยว่ามีวิธีการที่ดีที่สุดสำหรับทุกสถานการณ์: การออกแบบฐานข้อมูลสำหรับการแก้ไข การออกแบบที่ดีที่สุดสำหรับตารางฐานข้อมูลการตรวจสอบบันทึกการเปลี่ยนแปลง แนวคิดเกี่ยวกับการออกแบบฐานข้อมูลเพื่อรวบรวมหลักฐานการตรวจสอบ ฉันยังสะดุดกับบทความที่น่าสนใจนี้เกี่ยวกับการดูแลบันทึกการเปลี่ยนแปลงของฐานข้อมูลที่พยายามแสดงรายการข้อดีข้อเสียของแต่ละวิธี มันเขียนได้ดีมากและมีข้อมูลที่น่าสนใจ แต่มันทำให้การตัดสินใจของฉันยากขึ้น คำถามของฉันคือ:มีการอ้างอิงที่ฉันสามารถใช้ได้หรืออาจเป็นหนังสือหรือบางอย่างเช่นแผนผังการตัดสินใจที่ฉันสามารถอ้างถึงตัดสินใจว่าฉันควรจะไปทางไหนโดยพิจารณาจากตัวแปรอินพุตบางตัวเช่น: ครบกําหนดของสคีมาฐานข้อมูล วิธีสอบถามข้อมูลจะถูกสอบถาม ความน่าจะเป็นที่จะต้องสร้างเร็กคอร์ดใหม่ มีความสำคัญมากกว่า: เขียนหรืออ่านประสิทธิภาพ ลักษณะของค่าที่บันทึกไว้ (สตริง, ตัวเลข, blobs) มีพื้นที่เก็บของว่าง แนวทางที่ฉันรู้คือ: 1. เพิ่มคอลัมน์สำหรับวันที่สร้างและแก้ไขและผู้ใช้ ตัวอย่างตาราง: รหัส value_1 value_2 VALUE_3 วันที่สร้าง MODIFIED_DATE สร้างโดย modified_by ข้อเสียที่สำคัญ: เราสูญเสียประวัติของการแก้ไข ไม่สามารถย้อนกลับหลังคอมมิชชัน 2. ใส่เฉพาะตาราง ตัวอย่างตาราง : รหัส value_1 value_2 VALUE_3 จาก ถึง ลบแล้ว (บูลีน) ผู้ใช้งาน ข้อเสียที่สำคัญ: จะทำให้คีย์ต่างประเทศทันสมัยอย่างไร? …