Data Dictionary · สำหรับเจ้าของกิจการ

Data Dictionary คืออะไร

"พจนานุกรมข้อมูล" ที่บอกว่าแต่ละช่องในระบบ หมายถึงอะไร เก็บแบบไหน จำเป็นไหม— ทำให้ทุกคน (และ AI) เข้าใจตรงกัน ระบบจึงไม่มั่ว ต่อยอดง่าย มีตัวอย่างตารางจริงทุกหัวข้อ

อ่านยังไง

บทความนี้พาคุณรู้จัก Data Dictionary จากศูนย์ จนทำของระบบตัวเองได้. แต่ละหัวข้อมี คำอธิบายภาษาคน + ตัวอย่างธุรกิจไทย + ตารางจริงให้ดู· เครื่องหมาย เขียว= ทำแบบนี้ดี, แดง= จุดพลาดที่พบบ่อย · ปิดท้ายมี checklist + ข้อควรระวัง + วิธีเอาไปสั่ง AI

คืออะไรหน้าตาจริงชนิดข้อมูลตั้งชื่อฟิลด์วิธีทำเองเอาไปสั่ง AIเช็กลิสต์ข้อควรระวังคำถามที่พบบ่อย
Data Dictionary คืออะไร พจนานุกรมข้อมูล

เปรียบเหมือน "พจนานุกรม" ของระบบ— เปิดดูแล้วรู้ทันทีว่าแต่ละช่องเก็บข้อมูลอะไร หมายความว่ายังไง เก็บเป็นแบบไหน (ข้อความ/ตัวเลข/วันที่) และจำเป็นต้องกรอกไหม. มันคือ ข้อตกลงกลางที่ทุกคนในทีมอ้างอิงร่วมกัน ไม่ใช่ต่างคนต่างเข้าใจ

ตัวอย่างจริงร้านขายของออนไลน์มีช่อง "ระดับลูกค้า" บางคนพิมพ์ VIPบางคนพิมพ์ วีไอพีบางคนพิมพ์ premium→ พอจะนับว่ามี VIP กี่คน นับไม่ได้เพราะข้อมูลมั่ว. ถ้ามี Data Dictionary กำหนดไว้ตั้งแต่แรกว่าช่องนี้ "เลือกได้แค่ silver/gold/vip" ปัญหานี้จะไม่เกิด

ประโยชน์
ทุกคนเข้าใจตรงกัน· ลดบั๊กจากข้อมูลมั่ว · ต่อยอด/ส่งต่องานให้คนอื่น (หรือ AI) ได้ทันที ไม่ต้องเดา
ถ้าไม่มี
ข้อมูลปนกันมั่ว · รายงานผิด · เพิ่มฟีเจอร์ทีหลังแล้วพังเพราะไม่รู้ว่าช่องเดิมเก็บอะไร
เทียบให้เห็นภาพ
มุมมองความหมาย
พจนานุกรมเปิดดูคำ → รู้ความหมาย + วิธีใช้
Data Dictionaryเปิดดูช่องข้อมูล → รู้ว่าเก็บอะไร + รูปแบบ + จำเป็นไหม
1 ช่องข้อมูล อธิบายด้วย 4 อย่างนี้
ชื่อ
ชื่อช่อง เช่น phone
ความหมาย
เก็บอะไร เช่น "เบอร์โทรลูกค้า"
ชนิด
เก็บแบบไหน เช่น ข้อความ / ตัวเลข
รูปแบบ
หน้าตาที่ถูก เช่น 10 หลัก ขึ้นต้น 0
สรุป:Data Dictionary = ตารางที่รวบ "ทุกช่องข้อมูล" ในระบบ พร้อมคำอธิบาย ไว้ที่เดียว
หน้าตา Data Dictionary จริง ตาราง "ลูกค้า"

นี่คือหน้าตาจริงของ Data Dictionary หนึ่งตาราง — สมมติเป็นตาราง "ลูกค้า"ของร้านค้าออนไลน์. แต่ละแถวคือ 1 ช่องข้อมูล อธิบายครบว่าเก็บอะไร ชนิดไหน หน้าตาเป็นยังไง จำเป็นต้องกรอกหรือไม่ และหมายเหตุพิเศษ. ระบบจริงจะมีหลายตารางแบบนี้ (ลูกค้า, ออเดอร์, สินค้า ฯลฯ)

ตาราง: ลูกค้า (customers) Data Dictionary
ชื่อฟิลด์ความหมายชนิดรูปแบบ / ตัวอย่างจำเป็นหมายเหตุ
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)
อ่านได้ว่า:เปิดตารางนี้ คนใหม่ (หรือ AI) เข้าใจทันทีว่าจะสร้างฟอร์มลูกค้ายังไง ช่องไหนบังคับ ช่อง tierต้องทำเป็นเมนูเลือก ไม่ใช่ช่องพิมพ์อิสระ
ชนิดข้อมูลพื้นฐานที่ต้องรู้ Data Types

"ชนิดข้อมูล" คือการบอกว่าช่องนี้เก็บข้อมูล แบบไหน— เหมือนกล่องใส่ของที่ออกแบบมาต่างกัน. เลือกชนิดผิดตั้งแต่แรก = เจอปัญหาทีหลังแก้ยาก. นี่คือ 7 ชนิดหลักที่เจ้าของกิจการควรรู้จัก พร้อม จุดพลาดที่พบบ่อย

7 ชนิดข้อมูลหลัก
ชนิดเก็บอะไรตัวอย่างจุดพลาดที่พบบ่อย
ข้อความ
text
ตัวอักษรทั่วไปชื่อ, ที่อยู่, หมายเหตุเอาตัวเลขที่ต้อง คำนวณ/เรียงลำดับมาเก็บเป็นข้อความ → บวกไม่ได้ เรียงแล้ว "10" มาก่อน "2"
ตัวเลข
number
จำนวนที่เอาไปคำนวณจำนวนชิ้น = 12เอาเบอร์โทรมาเก็บเป็นตัวเลข → เลข 0 หน้าหาย(08x → 8x)
เงิน
money / decimal
จำนวนเงิน ทศนิยม 21,250.50 บาทใช้ทศนิยมลอย (float) → เศษสตางค์ตกหล่นยอดเพี้ยน · ต้องใช้ decimal
วันที่
date / datetime
วัน หรือ วัน-เวลา2026-06-22เก็บเป็นข้อความ "22/6/69" → เรียง/คำนวณวันไม่ได้
ใช่/ไม่
boolean
มีแค่ 2 ค่าจ่ายแล้ว = ใช่ใช้คำว่า "Y/N/-/ว่าง" ปนกัน → งง
ตัวเลือก
enum
เลือกจากชุดที่กำหนดสถานะ: รอ/ส่งแล้ว/ยกเลิกเปิดให้พิมพ์มืออิสระ → สะกดไม่ตรง นับไม่ได้
รหัส
id
ตัวระบุไม่ซ้ำC-000148ไม่มี id → แยกลูกค้าชื่อซ้ำไม่ออก
กฎทอง 2 ข้อ:(1) อะไรที่ "ไม่เอาไปบวกลบ" ให้เก็บเป็น ข้อความ(เบอร์โทร เลขบัตร รหัสไปรษณีย์) · (2) เงินใช้ decimal เสมอห้าม float
ตั้งชื่อฟิลด์ให้ดี Field Naming

ชื่อช่องข้อมูลที่ดี = สั้น สื่อความหมาย ไม่กำกวม. นิยมเขียนแบบ snake_case(ตัวพิมพ์เล็กล้วน คั่นคำด้วยขีดล่าง _) เพราะระบบ/AI อ่านง่าย ไม่มีช่องว่างให้พลาด. และทุกช่องควรระบุ "ค่าที่อนุญาต" + "ค่าตั้งต้น" ไว้ด้วย

ตัวอย่างจริงช่องชื่อ dateเฉย ๆ — วันที่อะไร? วันสมัคร? วันสั่ง? วันจ่าย? ทุกคนเดากันไปคนละทาง. เปลี่ยนเป็น created_at(วันที่สร้างรายการ) ชัดเจนทันที ไม่ต้องถามใคร

ดี
created_at · total_amount · is_paid · customer_id
แย่
date · ยอด1 · flag · ช่องA · Customer Name(กำกวม/มีเว้นวรรค)
ก่อน → หลัง
ชื่อกำกวมเปลี่ยนเป็นทำไม
datecreated_atชี้ชัดว่าวันที่สร้าง
amounttotal_amountยอดรวม ไม่ใช่ยอดย่อย
statusorder_statusสถานะของอะไร ชัดขึ้น
telphoneมาตรฐาน อ่านออกทุกคน
flagis_paidใช่/ไม่ ขึ้นต้น is_ ชัดเจน
ระบุค่าที่อนุญาต + ค่าตั้งต้น
tierอนุญาต: silver, gold, vipตั้งต้น: silver
order_statusอนุญาต: รอ, ส่งแล้ว, ยกเลิกตั้งต้น: รอ
อ่านได้ว่า:ชื่อชัด + ระบุค่าที่อนุญาต/ตั้งต้น = ระบบสร้างเมนูเลือกให้เอง คนกรอกไม่ต้องคิด ข้อมูลไม่มีทางมั่ว
วิธีทำ Data Dictionary ของระบบตัวเอง 3 ขั้น

ไม่ต้องเป็นโปรแกรมเมอร์ก็ทำได้ — แค่เปิดตาราง (Google Sheets / Excel ก็พอ) แล้วทำตาม 3 ขั้นนี้ ทีละช่อง. ทำเสร็จคุณจะมี "พิมพ์เขียวข้อมูล" ของธุรกิจที่เอาไปสร้างระบบจริง หรือส่งให้ AI สร้างให้ก็ได้

ก๊อปไปเริ่มเลยเปิด Google Sheets ใหม่ วางหัวคอลัมน์นี้ที่แถวบนสุด แล้วเติมทีละแถว — 1 ช่องข้อมูล = 1 แถว:
ชื่อฟิลด์ · ความหมาย · ชนิด · รูปแบบ/ตัวอย่าง · จำเป็น · ค่าที่อนุญาต · ค่าตั้งต้น · หมายเหตุ
3 ขั้น ทำเองได้เลย
ขั้นทำอะไรตัวอย่าง (ตาราง "ออเดอร์")
1ลิสต์สิ่งที่ต้องเก็บ
จดทุกอย่างที่อยากรู้เกี่ยวกับเรื่องนี้
เลขออเดอร์, ลูกค้า, สินค้า, จำนวน, ยอดรวม, สถานะ, วันที่สั่ง
2นิยามทีละช่อง
เขียนชื่อฟิลด์ + ความหมายให้ชัด
order_id= เลขออเดอร์ · total_amount= ยอดที่ต้องจ่าย
3ระบุชนิด + รูปแบบ + จำเป็นไหม
เลือกชนิดข้อมูล + ตัวอย่าง + บังคับหรือไม่
total_amount→ เงิน (decimal) · 1,250.00 · จำเป็น
ผลลัพธ์ที่ได้ (1 แถวต่อ 1 ช่อง)
ฟิลด์ความหมายชนิดจำเป็น
order_idเลขออเดอร์รหัสใช่
total_amountยอดที่ต้องจ่ายเงินใช่
order_statusสถานะออเดอร์ตัวเลือกใช่
noteหมายเหตุเพิ่มเติมข้อความไม่
อ่านได้ว่า:วน 3 ขั้นนี้ให้ครบทุกตาราง (ลูกค้า/สินค้า/ออเดอร์...) = ได้ Data Dictionary ทั้งระบบ พร้อมเอาไปใช้
เอาไปสั่ง AI ให้สร้างระบบ Prompt + Claude Code

นี่คือพลังจริงของ Data Dictionary — แปะตารางนี้ให้ AI (เช่น Claude Code) แล้วมัน สร้างตารางฐานข้อมูล ฟอร์มกรอก และการตรวจสอบความถูกต้อง (validation) ให้ตรงเป๊ะตามที่คุณนิยามไว้. เพราะคุณบอกชัดทุกช่อง AI จึงไม่ต้องเดา ไม่หลุดประเด็น งานออกมาตรงใจตั้งแต่รอบแรก

ตัวอย่างจริงเจ้าของร้านวาง Data Dictionary ตาราง "ลูกค้า" ให้ Claude Code → ได้ทั้งหน้าฟอร์มเพิ่มลูกค้า (ช่อง tier เป็นเมนูเลือก silver/gold/vip ให้อัตโนมัติ), ระบบกันเบอร์โทรกรอกผิด, และตารางเก็บข้อมูลในฐานข้อมูล ครบในคำสั่งเดียว

ผลที่ได้
ตาราง DB + ฟอร์ม + validation + เมนูเลือก (enum) ตรงตามที่นิยาม ไม่ต้องอธิบายซ้ำ
ตัวอย่าง Prompt สั้น ๆ
# แปะ Data Dictionary แล้วสั่งแบบนี้ สร้างตาราง "ลูกค้า" ตาม Data Dictionary ด้านล่างให้หน่อย: - ทำ ตารางในฐานข้อมูลตามชนิด ที่ระบุ (เงินใช้ decimal, วันที่ ใช้ datetime) - ทำ ฟอร์มเพิ่มลูกค้าช่อง tier เป็นเมนูเลือก silver/gold/vip - ใส่ validation: phone 10 หลัก, email ต้องมี @, ช่องที่จำเป็น ห้ามเว้นว่าง [วาง Data Dictionary ตรงนี้]
อ่านได้ว่า:Data Dictionary ทำให้ prompt สั้นแต่ครบ — AI มีข้อมูลพอที่จะสร้างให้ถูกตั้งแต่แรก ไม่ต้องแก้วน. นี่คือเหตุผลที่ระบบดีทุกตัวเริ่มจากพจนานุกรมข้อมูลที่ชัดเจน

Data Dictionary ที่ดีมีอะไรบ้าง

ทุกช่องมี ชื่อ + ความหมายที่อ่านแล้วเข้าใจทันที ไม่กำกวม
ระบุ ชนิดข้อมูลถูกต้อง (เงิน=decimal · เบอร์=ข้อความ · วันที่=date)
มี รูปแบบ/ตัวอย่างจริงให้ดู ว่าหน้าตาที่ถูกต้องเป็นยังไง
บอกชัดว่าช่องไหน จำเป็นช่องไหนกรอกหรือไม่ก็ได้
ช่องตัวเลือก (enum) ระบุ ค่าที่อนุญาต + ค่าตั้งต้นครบ
ทุกตารางมี รหัส (id)ที่ไม่ซ้ำ ไว้อ้างอิง
เก็บไว้ ที่เดียวทุกคนเปิดดูได้ อัปเดตเมื่อระบบเปลี่ยน

ข้อควรระวัง

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

Data Dictionary คืออะไร แบบเข้าใจง่ายที่สุด?
คือ "พจนานุกรมของข้อมูล"— ตารางที่รวบรวมทุกช่องข้อมูลในระบบไว้ที่เดียว แล้วอธิบายว่าแต่ละช่องเก็บอะไร เก็บเป็นแบบไหน (ข้อความ/ตัวเลข/วันที่) และจำเป็นต้องกรอกไหม. เปิดดูแล้วทุกคนเข้าใจตรงกัน ไม่ต้องเดา ไม่ต้องถามกันไปมา
ธุรกิจเล็ก ๆ จำเป็นต้องทำ Data Dictionary ไหม?
จำเป็น โดยเฉพาะถ้าจะสร้างระบบ/แอป หรือใช้ AI ช่วยสร้าง. ใช้เวลาทำแค่ครั้งเดียว แต่ช่วย กันข้อมูลมั่ว ลดบั๊ก และทำให้สั่ง AI ได้ตรงเป๊ะ. ธุรกิจเล็กยิ่งได้ประโยชน์ เพราะคนน้อย ถ้าข้อมูลพังจะแก้ลำบากกว่า. เริ่มจากตารางสำคัญ ๆ ก่อน เช่น ลูกค้า กับ ออเดอร์ ก็พอ
ทำ Data Dictionary ด้วยเครื่องมืออะไร?
เริ่มจาก Google Sheets หรือ Excel ก็พอแล้ว— สร้างตารางที่มีคอลัมน์: ชื่อฟิลด์ / ความหมาย / ชนิด / รูปแบบ / จำเป็น / หมายเหตุ. ไม่ต้องใช้โปรแกรมพิเศษ ไม่ต้องเขียนโค้ด. ขอแค่ชัดเจนและเก็บไว้ที่เดียวที่ทุกคนเปิดดูได้
ทำไมเบอร์โทรต้องเก็บเป็น "ข้อความ" ไม่ใช่ "ตัวเลข"?
เพราะถ้าเก็บเป็นตัวเลข ระบบจะตัด เลข 0 ข้างหน้าออก(08x กลายเป็น 8x) เนื่องจากตัวเลขไม่มีเลข 0 นำหน้า. หลักง่าย ๆ คือ อะไรที่ไม่เอาไปบวกลบคูณหาร ให้เก็บเป็นข้อความ— เบอร์โทร เลขบัตรประชาชน รหัสไปรษณีย์ เลขบัญชี ทั้งหมดนี้เก็บเป็นข้อความ
พี่ปุ้ย ปริวรรตน์ อรุโณทยานันท์ ผู้คิดและเขียนเว็บ Skills Lab
คิด เขียน และเป็นเจ้าของไอเดียเว็บนี้โดย พี่ปุ้ย ปริวรรตน์ อรุโณทยานันท์
ผู้เชี่ยวชาญวางระบบองค์กร & AI — สอนเจ้าของกิจการสร้างระบบของตัวเองมากกว่า 400 คน
ประวัติพี่ปุ้ย ·  ดูคอร์ส →
กลับห้องสมุดออกแบบ