เครื่องมืออนุมาน Schema

การเชื่อมต่อใหม่ทุกครั้งเริ่มต้นเหมือนกัน: API ส่งก้อน JSON กลับมา และคุณต้องมีโมเดลไว้เก็บมัน การพิมพ์ 20 ฟิลด์ด้วยมือนั้นน่าเบื่อและเกิดข้อผิดพลาดได้ง่าย เครื่องมือนี้แจงออบเจ็กต์ JSON ตัวอย่าง เลือกชนิดคอลัมน์ให้แต่ละคีย์ และสร้างสคีมาที่พร้อมวางในรูปแบบที่คุณต้องการ: SQL CREATE TABLE, สคีมา Mongoose หรือนิยามโมเดล Sequelize

วิธีอนุมานสคีมาจาก JSON

  1. 1

    วางออบเจ็กต์ตัวอย่าง

    ใส่ออบเจ็กต์ JSON หนึ่งตัว หรืออาร์เรย์ของออบเจ็กต์ (ระบบจะอ่านออบเจ็กต์แรกในอาร์เรย์) ใช้เรกคอร์ดที่สมบูรณ์ซึ่งกรอกทุกฟิลด์ เพื่อให้ทุกคอลัมน์ได้รับชนิด

  2. 2

    เลือกรูปแบบผลลัพธ์

    SQL CREATE TABLE (สไตล์ Postgres / MySQL / SQLite), Mongoose สำหรับแอป Node.js ที่ใช้ MongoDB หรือ Sequelize สำหรับแอป Node.js แบบเชิงสัมพันธ์

  3. 3

    ตั้งชื่อตารางหรือโมเดล

    กำหนดชื่อตารางในผลลัพธ์ SQL หรือชื่อสคีมาหรือโมเดลในผลลัพธ์ Mongoose และ Sequelize

  4. 4

    คัดลอกสคีมาที่สร้างขึ้น

    วางลงในไฟล์ migration หรือไฟล์โมเดลได้เลยเพื่อใช้เป็นจุดเริ่มต้น

ชนิดถูกอนุมานอย่างไร

การอนุมานเป็นการคาดเดาที่ดีที่สุด เครื่องมืออ่านค่าต่าง ๆ ของออบเจ็กต์ตัวอย่างหนึ่งตัว แล้วเลือกชนิดคอลัมน์ให้แต่ละคีย์จากค่าที่เห็น มันไม่เปรียบเทียบเรกคอร์ดและไม่เดาว่าฟิลด์ใดเป็นทางเลือก ดังนั้นจงให้ออบเจ็กต์ที่สมบูรณ์และเป็นตัวแทนแก่มัน

การจับคู่ชนิด

ค่า JSON ชนิด SQL ชนิด Mongoose ชนิด Sequelize
42 (จำนวนเต็ม) INTEGER Number DataTypes.INTEGER
3.14 (ทศนิยม) DECIMAL(10,2) Number DataTypes.FLOAT
"สวัสดี" (สตริงสั้น) VARCHAR(255) String DataTypes.STRING
สตริงยาวเกิน 255 อักขระ TEXT String DataTypes.STRING
"2026-04-18T10:00:00Z" TIMESTAMP Date DataTypes.DATE
"2026-04-18" DATE Date DataTypes.DATEONLY
true / false BOOLEAN Boolean DataTypes.BOOLEAN
null TEXT String DataTypes.STRING
[1, 2, 3] (อาร์เรย์) JSON Object DataTypes.JSON
{ "nested": ... } (ออบเจ็กต์) JSON Object DataTypes.JSON

สิ่งที่ผลลัพธ์ SQL เพิ่มให้

SQL CREATE TABLE จะเริ่มด้วยคีย์หลักแบบเพิ่มค่าอัตโนมัติเสมอ:

id INTEGER PRIMARY KEY AUTOINCREMENT,

ผลลัพธ์ Mongoose และ Sequelize จะไม่เพิ่มฟิลด์ id เพราะไลบรารีทั้งสองสร้างให้คุณอยู่แล้ว

ค่าเริ่มต้นและข้อจำกัดที่ควรจำ

  • อ่านออบเจ็กต์เดียว ถ้าคุณวางอาร์เรย์ ระบบจะตรวจเฉพาะสมาชิกตัวแรก ดังนั้นฟิลด์ของมันจึงกำหนดทั้งสคีมา
  • คีย์ที่ขาดหายคือคอลัมน์ที่ไม่มี ฟิลด์ที่ไม่มีในออบเจ็กต์ตัวอย่างจะไม่ปรากฏในผลลัพธ์เลย
  • ออบเจ็กต์และอาร์เรย์ที่ซ้อนกันจะกลายเป็นคอลัมน์ JSON เดียว เครื่องมือไม่แตกมันออกเป็นตารางย่อย สคีมาย่อย หรือคีย์นอก
  • ไม่มีการสร้างข้อจำกัดใด ๆ คอลัมน์ถูกสร้างโดยไม่มี NOT NULL ความไม่ซ้ำ หรือดัชนี ดังนั้นทั้งหมดจึงยอมรับค่า null จนกว่าคุณจะรัดกุมขึ้น

เคล็ดลับให้ผลลัพธ์เรียบร้อยขึ้น

  • ใช้เรกคอร์ดที่กรอกครบถ้วน ฟิลด์ที่เป็น null ในตัวอย่างของคุณจะถูกกำหนดชนิดเป็นข้อความ/สตริง ซึ่งมักไม่ใช่สิ่งที่คุณต้องการ
  • เปลี่ยนชื่อคำสงวนหลังจากสร้าง ฟิลด์อย่าง type, order หรือ user จะต้องใส่เครื่องหมายคำพูดใน SQL
  • มองผลลัพธ์เป็นโครงร่าง ปรับความยาว VARCHAR และความแม่นยำ DECIMAL เพิ่มดัชนี ทำเครื่องหมายคอลัมน์เป็น NOT NULL และเลือกคีย์จริงก่อนนำขึ้นใช้งาน

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

ออบเจ็กต์หรืออาร์เรย์ที่ซ้อนกันจะถูกจับคู่เป็นคอลัมน์ JSON เดียว (JSON ใน SQL และ Sequelize, ฟิลด์ชนิด Object ใน Mongoose) เครื่องมือไม่แตกโครงสร้างที่ซ้อนกันออกเป็นตารางย่อยหรือสคีมาย่อย ดังนั้นหากจำเป็นคุณต้องแผ่หรือทำ normalize เอง

ไม่ ถ้าคุณวางอาร์เรย์ของออบเจ็กต์ ระบบจะตรวจเฉพาะออบเจ็กต์แรก และคีย์ของมันเป็นตัวกำหนดสคีมา โปรดตรวจให้แน่ใจว่าเรกคอร์ดแรกนั้นมีทุกฟิลด์ที่คุณสนใจ พร้อมค่าจริงในแต่ละฟิลด์

ไม่ แต่ละคอลัมน์ถูกสร้างพร้อมชนิดเท่านั้น ดังนั้นผลลัพธ์จึงไม่มีคีย์นอก ข้อจำกัดความไม่ซ้ำ ดัชนี หรือประโยค NOT NULL จงเพิ่มด้วยมือ เพราะสิ่งเหล่านี้เข้ารหัสเจตนาที่เครื่องมือไม่อาจกู้คืนได้จากตัวอย่าง

เลือก SQL CREATE TABLE สำหรับ migration ฐานข้อมูลเชิงสัมพันธ์, Mongoose Schema สำหรับแอป Node.js บน MongoDB หรือ Sequelize Model สำหรับแอป Node.js บนฐานข้อมูลเชิงสัมพันธ์ผ่าน ORM ของ Sequelize

เครื่องมือที่เกี่ยวข้อง

ตารางอ้างอิง ASCII

ตาราง ASCII ครบตั้งแต่ 0 ถึง 127 พร้อมค่าเลขฐานสิบ ฐานสิบหก ฐานแปด ฐานสอง และรูปแบบการอ้างอิงอักขระแบบตัวเลขของ HTML รวม NUL, LF และ DEL

อ้างอิงตัวอักษร HTML

รายการที่สามารถค้นหาได้ขององค์ประกอบ HTML พร้อมรหัสชื่อและรหัสตัวเลข รวมถึงฟังก์ชันสำเนาด้วยคลิกเดียวสำหรับตัวอักษรพิเศษและสัญลักษณ์ต่างๆ

ตารางอ้างอิงแป้นพิมพ์ลัด

ค้นหาแป้นพิมพ์ลัดเริ่มต้นตามเอกสารของ VS Code, Chrome และ Bash ที่ใช้ GNU Readline บน macOS, Windows และ Linux

ตัวตรวจสอบอีเมล

ตรวจสอบที่อยู่อีเมล: ตรวจไวยากรณ์ RFC 5322 ค้นหา MX เรกคอร์ดแบบเรียลไทม์ พร้อมรายละเอียดส่วนท้องถิ่น โดเมน และความยาว ไม่มีการส่งอีเมลใด ๆ

ตัวตรวจสอบความถูกต้องของ JSON

ตรวจสอบไวยากรณ์ JSON และตรวจจับเครื่องหมายจุลภาคต่อท้าย เครื่องหมายอัญประกาศที่ผิด คีย์ซ้ำ และโครงสร้างที่ผิดรูปแบบ พร้อมระบุตำแหน่งข้อผิดพลาดอย่างแม่นยำ

ตัวลดรูปพีชคณิตบูลีน

ประเมินนิพจน์บูลีนสำหรับทุกชุดอินพุตและดูตารางค่าความจริงที่สมบูรณ์ รองรับตัวแปรสูงสุดห้าตัวและตัวดำเนินการ &, |, !, ^

เครื่องมือนี้มีให้บริการในภาษาอื่น