ระยะการวิจัย PHASE_1

Database Architecture

เอกสารออกแบบระบบ
? Guideline

Database Architecture

Evidence-centered • Longitudinal • Versioned • Research-ready

Data lifecycle

Source of Truth
SOURCEForms, chat, files, observation

นักศึกษา อาจารย์ ระบบ และ authoritative sources

RAWImmutable capture

คำตอบต้นฉบับ ไฟล์ hash metadata และ event envelope

QUALITYValidate & verify

Schema, consent, duplicate, range, provenance

CANONICALOperational truth

Approved sessions, scores, evidence, feedback, rules

FEATURESDerived data

Growth, risk, engagement, adoption, workload

MARTSDashboard data

Student, supervisor, agent and admin marts

RESEARCHDe-identified snapshots

Analysis-ready longitudinal datasets

identity

profilesorganizationscohortsroles & assignments

supervision

contextssessionslesson_plansobservations & feedback

survey

instrumentsquestion_itemsresponse_sessionsresponse_values

evidence

evidence_itemsversionsconsentverification & links

competency

frameworksindicatorsrubric_versionsscore ledger

development

issuesrecommendationsaction_plansfollow_ups

normative + knowledge

documents & versionsdocument_unitsrules & applicabilitychunks & vectors

agent + event

runs & stepstool_callseval_resultsaudit & security_events

analytics

student_featurescohort_progresswatchlistagent_quality

research

participant_maplongitudinal_datasetexperimentsanalysis_exports

governance

approvalsretentiondata_quality_ruleschange_requests

storage

lesson plansobservation evidencenormative documentsresearch exports

Truth classification

ประเภทตัวอย่างกฎการเขียน
Authoritativeคะแนนอนุมัติ ระเบียบที่เผยแพร่ สถานะฝึกสอนมนุษย์/ระบบที่ได้รับอำนาจเท่านั้น
ObservedObservation, transcript segment, verified evidenceเก็บ source, observer, evidence และ version
Self-reportedReflection, confidence, support needคงคำตอบต้นฉบับและแยก AI summary
Derived / InferredRisk, growth, AI diagnosis, recommendationต้องมี formula/model/version/confidence/provenance

Supabase-first physical design

PG

PostgreSQL

Core transactions, constraints, RLS, versions และ SQL analytics

S3

Storage

Evidence files with signed URLs, consent and retention metadata

V

pgvector + Full-text

Hybrid retrieval ภายใต้ metadata, permission และ effective-date filters

MV

Materialized views

Dashboard reads from marts—not raw transaction tables

Design rule: Agent ไม่มีสิทธิ์ SQL อิสระและไม่เขียน Authoritative records โดยตรง ทุก write ผ่าน narrow tool → domain service → validation → approval → commit

ทำไมหน้านี้แสดงกฎ ไม่ใช่รายชื่อตาราง

หน้านี้อธิบายกฎที่ฐานข้อมูลบังคับ ไม่ได้แสดงสถานะของฐานข้อมูลจริง

รายชื่อตารางเปลี่ยนทุกครั้งที่มีการย้ายโครงสร้าง และการคัดลอกมาไว้ที่นี่จะล้าสมัยทันที สิ่งที่ไม่เปลี่ยนคือกฎที่ฐานข้อมูลบังคับ

กฎที่อยู่ในโค้ดถูกข้ามได้ด้วยการเขียนเส้นทางใหม่ กฎที่อยู่ในฐานข้อมูลถูกข้ามไม่ได้แม้จะเขียนโค้ดผิด

กฎที่บังคับอยู่ที่ชั้นฐานข้อมูล 6 ข้อ

กฎที่บังคับอยู่ที่ชั้นฐานข้อมูล

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