หลักสูตรความผิดพลาด 101
10 โมดูล
5 สัปดาห์ที่ผ่านมา

ผู้ออกแบบโมเดลข้อมูล

คลิกเพื่อคัดลอก

การสร้างฐานข้อมูลโดยใช้ตัวออกแบบโมเดลข้อมูล


การออกแบบฐานข้อมูล

ถึงเวลาออกแบบฐานข้อมูลของคุณเองแล้ว ในการทำเช่นนี้ ไปที่แท็บ Database บนแผงด้านซ้าย

Data models designer

โมเดลข้อมูล

ข้อมูลในฐานข้อมูลถูกจัดเก็บในรูปแบบของตารางพิเศษ (แบบจำลอง) และสังเกตได้ว่าเรามีรุ่นหนึ่งแล้ว เป็นส่วนหนึ่งของโมดูลการให้สิทธิ์และรวมอยู่ในทุกโครงการตามค่าเริ่มต้น ด้วยเหตุนี้จึงมีการสร้างผู้ใช้ใหม่ของแอปพลิเคชันและจัดการผู้ใช้ที่มีอยู่ แต่เราจะไม่ศึกษาตอนนี้เราจะสร้างแบบจำลองของเราเอง

ลองนึกภาพว่าเรากำลังพัฒนาบริการแผนที่ มาสร้างแบบจำลองที่มีข้อมูลเกี่ยวกับประเทศกัน ในการสร้างคุณต้องคลิกขวาในพื้นที่ว่างของผืนผ้าใบแล้วเลือก Create empty model.

ในการสร้างเราต้องระบุชื่อรุ่นเท่านั้น เราจะจัดการกับการสร้างอุปกรณ์ปลายทางและส่วนต่อประสานผู้ใช้โดยอัตโนมัติในโมดูลเพิ่มเติมของหลักสูตร

Create new model

ฟิลด์แบบจำลอง

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

ID (integer) - ตัวระบุเฉพาะ คีย์หลัก ซึ่งจะถูกสร้างขึ้นโดยอัตโนมัติสำหรับแต่ละรายการใหม่ในตารางและมีจุดมุ่งหมายเพื่อให้แน่ใจว่าไม่มีรายการที่ซ้ำกัน โดยรหัสที่คุณสามารถระบุเรกคอร์ดในตารางได้โดยไม่ซ้ำกัน ค่าของมันเริ่มต้นที่ 1 และเพิ่มขึ้นทีละ 1 โดยอัตโนมัติสำหรับแต่ละรายการใหม่

CreatedAt (datetime) - เวลาที่เรกคอร์ดถูกสร้างขึ้นในตาราง

UpdatedAt (datetime) - เวลาที่รายการถูกแก้ไขครั้งล่าสุด

DeletedAt (datetime) - เวลาที่รายการถูกลบ แน่นอน เฉพาะในกรณีที่ใช้การลบแบบนุ่มนวลเท่านั้น นั่นคือการลบดังกล่าวเมื่อบันทึกถูกทำเครื่องหมายว่าลบแล้วเท่านั้นและกรองตามคำขอเข้าถึง แต่ในขณะเดียวกันก็ยังคงอยู่ในตาราง ซึ่งแตกต่างจากการลบจำนวนมาก ซึ่งจะลบข้อมูลทั้งหมด

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

การเลือกประเภทฟิลด์ไม่ควรเป็นปัญหา String เหมาะสำหรับชื่อ และ Text สำหรับคำอธิบายข้อมูล

Add model field

นอกจากนี้ยังมีสวิตช์อีกสี่ตัว:

Multiple values ​​(Array) - ใช้อาร์เรย์แทนรายการเดียว

Not null - ฟิลด์ที่ระบุต้องไม่ว่างเปล่า ต้องประกอบด้วยข้อมูลเสมอ

Unique - ค่าของฟิลด์ต้องไม่ซ้ำกัน ในรูปแบบนี้ไม่มีเรกคอร์ดสองเรกคอร์ดที่มีค่าของฟิลด์นี้เหมือนกัน

Index - ระบุว่าจะมีการสร้างดัชนีพิเศษสำหรับฟิลด์นี้เพื่อเพิ่มความเร็วในการค้นหา

โดยทั่วไปแล้ว การทำเครื่องหมายถูกเฉพาะในกรณีที่จำเป็นจริงๆ เท่านั้น ตัวอย่างเช่น เราสามารถทำเครื่องหมาย Not null และ Unique สำหรับชื่อประเทศ โดยสมมติว่าไม่มีประเทศใดที่ไม่มีชื่อ หรือมี 2 ประเทศที่มีชื่อเดียวกัน อย่างไรก็ตาม เป็นความคิดที่ดีที่จะควบคุมสิ่งนี้ในขั้นตอนของการสร้างตรรกะของแอปพลิเคชัน และไม่กำหนดข้อจำกัดในฐานข้อมูลเอง

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

ความสัมพันธ์ของตัวแบบข้อมูล

ข้อมูลในฐานข้อมูลไม่ได้มีอยู่โดยลำพังในรูปแบบของตารางที่กระจัดกระจาย พวกเขาเกี่ยวข้องกันในทางใดทางหนึ่ง กุญแจสำคัญในการพัฒนาแบบจำลองข้อมูลคือการกำหนดความสัมพันธ์เหล่านี้และสร้างความสัมพันธ์

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

Data models relations

การเชื่อมต่อมี 3 ประเภท:

ตัวต่อตัว (has one) . แต่ละระเบียนในตารางจะถูกแมปกับหนึ่งระเบียนจากตารางที่เกี่ยวข้อง ตัวอย่างง่ายๆ คือบุคคลและหนังสือเดินทางของพวกเขา เรามั่นใจได้เสมอว่าการเชื่อมต่อนี้ไม่เหมือนใคร หนังสือเดินทางสามารถมีผู้ถือได้เพียงหนึ่งคน และแต่ละคนสามารถมีหนังสือเดินทางที่ถูกต้องได้เพียงหนึ่งเล่ม

หนึ่งต่อหลาย (has many) . แต่ละระเบียนในหนึ่งตารางสามารถมีได้หลายระเบียนในอีกตารางหนึ่ง ฐานข้อมูลของเราเป็นตัวอย่างที่คล้ายกัน ประเทศสามารถมีเมืองต่างๆ ได้หลายเมือง แต่แต่ละเมืองสามารถเป็นของประเทศเดียวเท่านั้น นี่คือการเชื่อมต่อที่เราจะทำ

หลายต่อหลาย ความสัมพันธ์ที่หลายระเบียนจากตารางหนึ่งสามารถสอดคล้องกับหลายระเบียนจากอีกตารางหนึ่งได้ ยกตัวอย่างง่ายๆ เช่น ความสัมพันธ์ระหว่างครูกับนักเรียน ครูแต่ละคนสามารถสอนนักเรียนหลายคนได้ เช่นเดียวกับนักเรียนแต่ละคนสามารถเรียนรู้จากครูหลายคน

Was this article helpful?
ยังคงมองหาคำตอบ?