28 พ.ย. 2568·อ่าน 2 นาที

แนวทางการตั้งชื่อฐานข้อมูลสำหรับแผงแอดมินให้อ่านง่าย

ใช้แนวทางตั้งชื่อฐานข้อมูลสำหรับแผงแอดมินเพื่อให้หน้าจอที่สร้างอัตโนมัติอ่านง่าย: กฎตั้งชื่อตารางและฟิลด์ ชุด enum ความสัมพันธ์ และเช็คลิสต์ด่วน

แนวทางการตั้งชื่อฐานข้อมูลสำหรับแผงแอดมินให้อ่านง่าย

คำถามที่พบบ่อย

Why do database names affect how an admin panel looks and feels?

ใช้ชื่อที่อ่านว่าเรากำลังอธิบายสิ่งที่ระเบียนเป็น ไม่ใช่ว่ามันกำลังทำอะไร ตารางที่ชื่อว่า ticket หรือ invoice จะกลายเป็นเมนูที่ชัดเจน ขณะที่ชื่ออย่าง processing มักสับสนเมื่อขั้นตอนงานเปลี่ยนไป

Should we use snake_case or camelCase for tables and columns?

เลือกสไตล์เดียวแล้วยึดตามนั้นตลอด สำหรับฐานข้อมูลโดยทั่วไป snake_case มักอ่านง่ายและทำให้ป้ายชื่อและฟิลเตอร์ที่สร้างอัตโนมัติออกมาสม่ำเสมอ

How do we decide when abbreviations are OK?

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

Should table names be singular or plural?

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

What’s a simple rule for primary keys and foreign keys?

กฎง่าย ๆ คือ ให้ใช้ id เป็น primary key ของทุกตาราง และใช้ foreign key แบบ something_id วิธีนี้ทำให้ความสัมพันธ์คาดเดาได้และฟอร์มที่สร้างโดยระบบดูสอดคล้องกัน

How should we name many-to-many join tables so the UI stays readable?

สำหรับตาราง join ล้วนให้ตั้งชื่อตามทั้งสองเอนทิตีตามรูปแบบเดียวกัน เช่น user_role หรือ product_tag หากความสัมพันธ์มีฟิลด์เพิ่มเติมและมีความหมายของตัวเอง ให้ตั้งชื่อเป็นนามธรรม เช่น membership หรือ assignment เพื่อให้ UI อ่านได้เป็นธรรมชาติ

What field naming patterns produce clean columns and filters?

ใช้คำลงท้ายที่คาดเดาได้ตามประเภทข้อมูล เช่น _at สำหรับ timestamp, _count สำหรับเคาน์เตอร์ สำหรับ boolean ให้ใช้ is_ หรือ has_ เพื่อให้ checkbox อ่านเป็นประโยคได้ทันทีในหน้าจอที่สร้างอัตโนมัติ

Is it better to use one status enum or several boolean flags?

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

How do we name multiple relations to the same table without confusion?

หลีกเลี่ยงชื่อทั่วไปอย่าง owner_id หรือ type เมื่อมีความหมายต่างกันในแต่ละตาราง ให้ใช้ชื่อที่บอกบทบาทชัดเจน เช่น created_by_user_id, approved_by_user_id, หรือ payment_method เพื่อให้ฟิลด์และฟิลเตอร์อธิบายตัวเองได้

When should we rename a table or column, and how do we avoid breaking things in AppMaster?

ควรเปลี่ยนชื่อในช่วงต้นก่อนที่หน้าจอ ฟิลเตอร์ และรายงานจะพึ่งพาคำเดิม ใน AppMaster ให้แก้ชื่อใน Data Designer แล้ว regenerate แอป เพื่อให้ UI และ API สอดคล้องกันและไม่เบี้ยวตามเวลา

ง่ายต่อการเริ่มต้น
สร้างบางสิ่งที่ น่าทึ่ง

ทดลองกับ AppMaster ด้วยแผนฟรี
เมื่อคุณพร้อม คุณสามารถเลือกการสมัครที่เหมาะสมได้

เริ่ม
แนวทางการตั้งชื่อฐานข้อมูลสำหรับแผงแอดมินให้อ่านง่าย | AppMaster