StepCoding

แนวทางการกำหนด Characteristic

อ่าน [1135] หมวดหมู่: โครงสร้างต่าง ๆ ของ MySQL

เมื่อเรารู้จักกับ characteristic กันแล้วว่ามีอะไรบ้าง สำหรับผู้ที่เพิ่งจะเริ่มต้นอาจจะสงสัยว่าจะรู้ได้อย่างไรว่า field ไหนควรจะกำหนด characteristic ใดให้กับมัน ดังนั้นผมจึงมีแนวคิดในการกำหนด characteristic ให้กับ field ต่าง ๆ ดังนี้

การกำหนดให้ field ไม่สามารถเป็นค่าว่าง (NULL) ได้

สิ่งนี้เป็นสิ่งสำคัญอย่างมากในการออกแบบโครงสร้างของตารางข้อมูล ซึ่ง field ใด ๆ ที่ถูกกำหนดเป็น NOT NULL นั้นจะไม่สามารถเป็นค่าว่างได้เลย ซึ่งเราจะเห็นได้จากการเพิ่มข้อมูลโดยไม่กำหนดค่าใด ๆ ให้กับ field นั้น ๆ มันจะแจ้งเรากลับมาว่าค่าของ field นั้น ๆ ไม่สามารถเป็นค่าว่างได้

ดังนั้นเราควรจะกำหนด NOT NULL ให้กับ field ที่จำเป็นต้องกำหนดค่าให้กับมันตลอด ไม่สามารถเป็นค่าว่างได้

การกำหนด UNSIGNED ให้กับ field ชนิด Number

ถ้าเราต้องการให้ field ใด ๆ ที่เป็นชนิด Number สามารถเป็นค่าบวกได้อย่างเดียว ห้ามเป็นค่าติดลบเลย เราก็สามารถกำหนด UNSIGNED ให้กับ field นั้น ๆ ได้เลย

การกำหนด ZEROFILL ให้กับ field ชนิด Number

การกำหนด ZEROFILL นั้น สามารถใช้ได้กับ field ชนิด Number ที่เป็นค่าบวกเท่านั้น เช่น ถ้าเรากำหนด field zip_code อาจจะมี zip_code บางที่ขึ้นต้นด้วย 0 เช่น 02101 ถ้าเราไม่กำหนดให้ field นั้น ๆ เป็น ZEROFILL มันจะเก็บเป็นแบบ 2101 เท่านั้น แต่ถ้าเรากำหนดเป็น ZEROFILL มันก็จะเก็บ 0 ข้างหน้าไว้ด้วย ดังนั้นข้อมูลที่ได้คือ 02101 ซึ่งเป็นข้อมูลตามจริง

การกำหนดค่าเริ่มต้น DEFAULT ให้กับ field ต่าง ๆ

การกำหนดค่าเริ่มต้นจะหมายถึงในกรณีที่เราเพิ่ม record ใหม่เข้าไป แต่ไม่ได้ใส่ค่าให้กับ field นั้น ๆ มันจะเอาค่าที่เรากำหนดเป็น default มาเติมให้ field นั้น ๆ แทน

ผู้สนับสนุน