02 สร้างโมเดลข้อมูล · ผู้สอน
อธิบายเหตุผลของการออกแบบ schema และกู้คืนกรณีรัน DDL ไม่ครบ
macOS terminal: Run workshop commands in Terminal using zsh or bash.
ตารางเวลา
20 นาที
แนวการบรรยาย
- รูปแบบการคิวรีมาก่อน
ORDER BYเพราะคีย์นี้เปลี่ยนภายหลังตามใจไม่ได้ - ทศนิยมแบบ exact ช่วยเลี่ยงความคลาดเคลื่อนของ floating point กับตัวเงินและความน่าจะเป็น
- นิพจน์เวลาล่าสุดนำหน้าคีย์ของ event ตามด้วย token/condition ID เพื่อการจัดกลุ่ม
- materialized view แบบ incremental รวมข้อมูลเฉพาะ event ที่เป็น midpoint ของ BBO เท่านั้น ส่วนการเทรดยังแยกอยู่
- การไม่มี partition เป็นความตั้งใจ เส้นทางนี้ไม่ได้สาธิตวงจรการเก็บรักษาข้อมูล
ปัญหาที่พบบ่อย
- รันไม่ครบ: ทุกคำสั่งใช้
IF NOT EXISTSให้รันบล็อกทั้งหมดใหม่ - MV มีอยู่แต่ตารางเป้าหมายไม่มี: ลบเฉพาะ MV แล้วรันขั้นที่ 2 ใหม่
- ผู้เรียนใช้ฐานข้อมูลอื่น: ตรวจสอบว่า
.env.polymarketระบุpolymarket
รีเซ็ต
สำหรับการซ้อมที่ใช้แล้วทิ้งเท่านั้น:
DROP DATABASE IF EXISTS polymarket;แล้วรันบล็อก SQL ของผู้เรียนทั้งสองบล็อกใหม่ อย่ารันคำสั่งนี้กับบริการของผู้เรียนโดยไม่ได้รับ การยืนยันอย่างชัดเจนจากเจ้าตัว