Database Architecture
Evidence-centered • Longitudinal • Versioned • Research-ready
Data lifecycle
Source of Truthนักศึกษา อาจารย์ ระบบ และ authoritative sources
คำตอบต้นฉบับ ไฟล์ hash metadata และ event envelope
Schema, consent, duplicate, range, provenance
Approved sessions, scores, evidence, feedback, rules
Growth, risk, engagement, adoption, workload
Student, supervisor, agent and admin marts
Analysis-ready longitudinal datasets
identity
profilesorganizationscohortsroles & assignmentssupervision
contextssessionslesson_plansobservations & feedbacksurvey
instrumentsquestion_itemsresponse_sessionsresponse_valuesevidence
evidence_itemsversionsconsentverification & linkscompetency
frameworksindicatorsrubric_versionsscore ledgerdevelopment
issuesrecommendationsaction_plansfollow_upsnormative + knowledge
documents & versionsdocument_unitsrules & applicabilitychunks & vectorsagent + event
runs & stepstool_callseval_resultsaudit & security_eventsanalytics
student_featurescohort_progresswatchlistagent_qualityresearch
participant_maplongitudinal_datasetexperimentsanalysis_exportsgovernance
approvalsretentiondata_quality_ruleschange_requestsstorage
lesson plansobservation evidencenormative documentsresearch exportsTruth classification
| ประเภท | ตัวอย่าง | กฎการเขียน |
|---|---|---|
| Authoritative | คะแนนอนุมัติ ระเบียบที่เผยแพร่ สถานะฝึกสอน | มนุษย์/ระบบที่ได้รับอำนาจเท่านั้น |
| Observed | Observation, transcript segment, verified evidence | เก็บ source, observer, evidence และ version |
| Self-reported | Reflection, confidence, support need | คงคำตอบต้นฉบับและแยก AI summary |
| Derived / Inferred | Risk, growth, AI diagnosis, recommendation | ต้องมี formula/model/version/confidence/provenance |
Supabase-first physical design
PostgreSQL
Core transactions, constraints, RLS, versions และ SQL analytics
Storage
Evidence files with signed URLs, consent and retention metadata
pgvector + Full-text
Hybrid retrieval ภายใต้ metadata, permission และ effective-date filters
Materialized views
Dashboard reads from marts—not raw transaction tables
ทำไมหน้านี้แสดงกฎ ไม่ใช่รายชื่อตาราง
หน้านี้อธิบายกฎที่ฐานข้อมูลบังคับ ไม่ได้แสดงสถานะของฐานข้อมูลจริง
รายชื่อตารางเปลี่ยนทุกครั้งที่มีการย้ายโครงสร้าง และการคัดลอกมาไว้ที่นี่จะล้าสมัยทันที สิ่งที่ไม่เปลี่ยนคือกฎที่ฐานข้อมูลบังคับ
กฎที่อยู่ในโค้ดถูกข้ามได้ด้วยการเขียนเส้นทางใหม่ กฎที่อยู่ในฐานข้อมูลถูกข้ามไม่ได้แม้จะเขียนโค้ดผิด
กฎที่บังคับอยู่ที่ชั้นฐานข้อมูล 6 ข้อ
กฎที่บังคับอยู่ที่ชั้นฐานข้อมูล
- ทุกตารางที่มีข้อมูลส่วนบุคคลเปิดการรักษาความปลอดภัยระดับแถว · บทบาทของแอปพลิเคชันไม่มีสิทธิ์ข้ามการรักษาความปลอดภัยระดับแถว · บังคับที่ฐานข้อมูล ทั้งเปิดและบังคับใช้
- ร่องรอยเพิ่มได้อย่างเดียว · แก้และลบไม่ได้ แม้ด้วยบทบาทของแอปพลิเคชัน · เพิกถอนสิทธิ์แก้และลบที่ระดับตาราง
- ความยินยอมสองชั้นก่อนเก็บผลงานของผู้เรียน · ต้องมีทั้งความยินยอมของผู้ปกครองและการยินยอมของผู้เยาว์ · ทริกเกอร์ปฏิเสธการเพิ่มแถวเมื่อเงื่อนไขไม่ครบ
- ห้ามเก็บกระบวนการคิดภายในและข้อความสั่งงานเต็ม · ข้อจำกัดสองตัวบนตารางร่องรอย และตัวสแกนรายวันตรวจซ้ำทุกแถวใหม่ · ข้อจำกัดที่ระดับตาราง ประกอบกับงานสแกนเบื้องหลัง
- การลบตามคำขอของเจ้าของข้อมูลสะท้อนถึงสรุปที่อ้างข้อมูลนั้น · ข้ออ้างที่อ้างหลักฐานที่ถูกลบกลายเป็นล้าสมัย ไม่ใช่หายไปเงียบ · กระบวนงานในฐานข้อมูล เรียกด้วยสิทธิ์ที่จำกัดเส้นทางค้นหา
- ชุดวิเคราะห์เห็นได้เฉพาะมุมมองที่ลบข้อมูลระบุตัวบุคคลแล้ว · ตารางดิบเข้าถึงไม่ได้จากบทบาทของงานวิเคราะห์ · สิทธิ์ที่ให้เฉพาะมุมมอง ไม่ให้ตารางต้นทาง