"พจนานุกรมข้อมูล" ที่บอกว่าแต่ละช่องในระบบ หมายถึงอะไร เก็บแบบไหน จำเป็นไหม— ทำให้ทุกคน (และ AI) เข้าใจตรงกัน ระบบจึงไม่มั่ว ต่อยอดง่าย มีตัวอย่างตารางจริงทุกหัวข้อ
บทความนี้พาคุณรู้จัก Data Dictionary จากศูนย์ จนทำของระบบตัวเองได้. แต่ละหัวข้อมี คำอธิบายภาษาคน + ตัวอย่างธุรกิจไทย + ตารางจริงให้ดู· เครื่องหมาย เขียว= ทำแบบนี้ดี, แดง= จุดพลาดที่พบบ่อย · ปิดท้ายมี checklist + ข้อควรระวัง + วิธีเอาไปสั่ง AI
เปรียบเหมือน "พจนานุกรม" ของระบบ— เปิดดูแล้วรู้ทันทีว่าแต่ละช่องเก็บข้อมูลอะไร หมายความว่ายังไง เก็บเป็นแบบไหน (ข้อความ/ตัวเลข/วันที่) และจำเป็นต้องกรอกไหม. มันคือ ข้อตกลงกลางที่ทุกคนในทีมอ้างอิงร่วมกัน ไม่ใช่ต่างคนต่างเข้าใจ
| มุมมอง | ความหมาย |
|---|---|
| พจนานุกรม | เปิดดูคำ → รู้ความหมาย + วิธีใช้ |
| Data Dictionary | เปิดดูช่องข้อมูล → รู้ว่าเก็บอะไร + รูปแบบ + จำเป็นไหม |
phoneนี่คือหน้าตาจริงของ Data Dictionary หนึ่งตาราง — สมมติเป็นตาราง "ลูกค้า"ของร้านค้าออนไลน์. แต่ละแถวคือ 1 ช่องข้อมูล อธิบายครบว่าเก็บอะไร ชนิดไหน หน้าตาเป็นยังไง จำเป็นต้องกรอกหรือไม่ และหมายเหตุพิเศษ. ระบบจริงจะมีหลายตารางแบบนี้ (ลูกค้า, ออเดอร์, สินค้า ฯลฯ)
| ชื่อฟิลด์ | ความหมาย | ชนิด | รูปแบบ / ตัวอย่าง | จำเป็น | หมายเหตุ |
|---|---|---|---|---|---|
customer_id | รหัสลูกค้า (ระบบสร้างให้) | รหัส (id) | C-000148 | ใช่ | ห้ามซ้ำ · ระบบออกเอง |
name | ชื่อ-นามสกุลลูกค้า | ข้อความ | สมหญิง ใจดี | ใช่ | ยาวไม่เกิน 120 ตัว |
phone | เบอร์โทรติดต่อ | ข้อความ | 0812345678 | ใช่ | เก็บเป็นข้อความ! กัน 0 หาย |
email | อีเมล | ข้อความ | som@mail.com | ไม่ | ต้องมี @ · ตัวพิมพ์เล็ก |
tier | ระดับลูกค้า | ตัวเลือก (enum) | silver / gold / vip | ใช่ | เลือกจาก 3 ค่านี้เท่านั้น · ตั้งต้น silver |
created_at | วันที่สมัครสมาชิก | วันที่-เวลา | 2026-06-22 09:14 | ใช่ | เก็บเวลามาตรฐาน (UTC) |
tierต้องทำเป็นเมนูเลือก ไม่ใช่ช่องพิมพ์อิสระ"ชนิดข้อมูล" คือการบอกว่าช่องนี้เก็บข้อมูล แบบไหน— เหมือนกล่องใส่ของที่ออกแบบมาต่างกัน. เลือกชนิดผิดตั้งแต่แรก = เจอปัญหาทีหลังแก้ยาก. นี่คือ 7 ชนิดหลักที่เจ้าของกิจการควรรู้จัก พร้อม จุดพลาดที่พบบ่อย
| ชนิด | เก็บอะไร | ตัวอย่าง | จุดพลาดที่พบบ่อย |
|---|---|---|---|
| ข้อความ text | ตัวอักษรทั่วไป | ชื่อ, ที่อยู่, หมายเหตุ | เอาตัวเลขที่ต้อง คำนวณ/เรียงลำดับมาเก็บเป็นข้อความ → บวกไม่ได้ เรียงแล้ว "10" มาก่อน "2" |
| ตัวเลข number | จำนวนที่เอาไปคำนวณ | จำนวนชิ้น = 12 | เอาเบอร์โทรมาเก็บเป็นตัวเลข → เลข 0 หน้าหาย(08x → 8x) |
| เงิน money / decimal | จำนวนเงิน ทศนิยม 2 | 1,250.50 บาท | ใช้ทศนิยมลอย (float) → เศษสตางค์ตกหล่นยอดเพี้ยน · ต้องใช้ decimal |
| วันที่ date / datetime | วัน หรือ วัน-เวลา | 2026-06-22 | เก็บเป็นข้อความ "22/6/69" → เรียง/คำนวณวันไม่ได้ |
| ใช่/ไม่ boolean | มีแค่ 2 ค่า | จ่ายแล้ว = ใช่ | ใช้คำว่า "Y/N/-/ว่าง" ปนกัน → งง |
| ตัวเลือก enum | เลือกจากชุดที่กำหนด | สถานะ: รอ/ส่งแล้ว/ยกเลิก | เปิดให้พิมพ์มืออิสระ → สะกดไม่ตรง นับไม่ได้ |
| รหัส id | ตัวระบุไม่ซ้ำ | C-000148 | ไม่มี id → แยกลูกค้าชื่อซ้ำไม่ออก |
ชื่อช่องข้อมูลที่ดี = สั้น สื่อความหมาย ไม่กำกวม. นิยมเขียนแบบ snake_case(ตัวพิมพ์เล็กล้วน คั่นคำด้วยขีดล่าง _) เพราะระบบ/AI อ่านง่าย ไม่มีช่องว่างให้พลาด. และทุกช่องควรระบุ "ค่าที่อนุญาต" + "ค่าตั้งต้น" ไว้ด้วย
dateเฉย ๆ — วันที่อะไร? วันสมัคร? วันสั่ง? วันจ่าย? ทุกคนเดากันไปคนละทาง. เปลี่ยนเป็น created_at(วันที่สร้างรายการ) ชัดเจนทันที ไม่ต้องถามใครcreated_at · total_amount · is_paid · customer_iddate · ยอด1 · flag · ช่องA · Customer Name(กำกวม/มีเว้นวรรค)| ชื่อกำกวม | เปลี่ยนเป็น | ทำไม |
|---|---|---|
date | created_at | ชี้ชัดว่าวันที่สร้าง |
amount | total_amount | ยอดรวม ไม่ใช่ยอดย่อย |
status | order_status | สถานะของอะไร ชัดขึ้น |
tel | phone | มาตรฐาน อ่านออกทุกคน |
flag | is_paid | ใช่/ไม่ ขึ้นต้น is_ ชัดเจน |
tier | อนุญาต: silver, gold, vip | ตั้งต้น: silver |
order_status | อนุญาต: รอ, ส่งแล้ว, ยกเลิก | ตั้งต้น: รอ |
ไม่ต้องเป็นโปรแกรมเมอร์ก็ทำได้ — แค่เปิดตาราง (Google Sheets / Excel ก็พอ) แล้วทำตาม 3 ขั้นนี้ ทีละช่อง. ทำเสร็จคุณจะมี "พิมพ์เขียวข้อมูล" ของธุรกิจที่เอาไปสร้างระบบจริง หรือส่งให้ AI สร้างให้ก็ได้
| ขั้น | ทำอะไร | ตัวอย่าง (ตาราง "ออเดอร์") |
|---|---|---|
| 1 | ลิสต์สิ่งที่ต้องเก็บ จดทุกอย่างที่อยากรู้เกี่ยวกับเรื่องนี้ | เลขออเดอร์, ลูกค้า, สินค้า, จำนวน, ยอดรวม, สถานะ, วันที่สั่ง |
| 2 | นิยามทีละช่อง เขียนชื่อฟิลด์ + ความหมายให้ชัด | order_id= เลขออเดอร์ · total_amount= ยอดที่ต้องจ่าย |
| 3 | ระบุชนิด + รูปแบบ + จำเป็นไหม เลือกชนิดข้อมูล + ตัวอย่าง + บังคับหรือไม่ | total_amount→ เงิน (decimal) · 1,250.00 · จำเป็น |
| ฟิลด์ | ความหมาย | ชนิด | จำเป็น |
|---|---|---|---|
order_id | เลขออเดอร์ | รหัส | ใช่ |
total_amount | ยอดที่ต้องจ่าย | เงิน | ใช่ |
order_status | สถานะออเดอร์ | ตัวเลือก | ใช่ |
note | หมายเหตุเพิ่มเติม | ข้อความ | ไม่ |
นี่คือพลังจริงของ Data Dictionary — แปะตารางนี้ให้ AI (เช่น Claude Code) แล้วมัน สร้างตารางฐานข้อมูล ฟอร์มกรอก และการตรวจสอบความถูกต้อง (validation) ให้ตรงเป๊ะตามที่คุณนิยามไว้. เพราะคุณบอกชัดทุกช่อง AI จึงไม่ต้องเดา ไม่หลุดประเด็น งานออกมาตรงใจตั้งแต่รอบแรก
| ✓ทุกช่องมี ชื่อ + ความหมายที่อ่านแล้วเข้าใจทันที ไม่กำกวม |
| ✓ระบุ ชนิดข้อมูลถูกต้อง (เงิน=decimal · เบอร์=ข้อความ · วันที่=date) |
| ✓มี รูปแบบ/ตัวอย่างจริงให้ดู ว่าหน้าตาที่ถูกต้องเป็นยังไง |
| ✓บอกชัดว่าช่องไหน จำเป็นช่องไหนกรอกหรือไม่ก็ได้ |
| ✓ช่องตัวเลือก (enum) ระบุ ค่าที่อนุญาต + ค่าตั้งต้นครบ |
| ✓ทุกตารางมี รหัส (id)ที่ไม่ซ้ำ ไว้อ้างอิง |
| ✓เก็บไว้ ที่เดียวทุกคนเปิดดูได้ อัปเดตเมื่อระบบเปลี่ยน |