ปรับฐานข้อมูลของคุณให้เป็นปกติ
หากคุณเคยทำงานกับฐานข้อมูลอยู่สักระยะหนึ่งโอกาสที่คุณได้ยินคำว่า normalization อาจมีคนถามคุณว่า "ฐานข้อมูลดังกล่าวเป็นแบบอย่างหรือไม่?" หรือ "อยู่ใน BCNF ?" การทำให้เป็นมาตรฐานมักถูกปัดทิ้งเป็นความหรูหราที่นักวิชาการเพียงอย่างเดียวเท่านั้นที่มีเวลา อย่างไรก็ตามการรู้หลักการของการทำให้เป็นมาตรฐานและนำไปใช้กับงานออกแบบฐานข้อมูลประจำวันของคุณจริงๆไม่ใช่สิ่งที่ซับซ้อนและสามารถปรับปรุงประสิทธิภาพของ DBMS ได้อย่างมาก
ในบทความนี้เราจะแนะนำแนวคิดเรื่องการทำให้เป็นบรรทัดฐานและดูแบบฟอร์มปกติทั่วไป
Normalization คืออะไร?
การทำให้เป็นมาตรฐานคือกระบวนการของการจัดข้อมูลในฐานข้อมูลได้อย่างมีประสิทธิภาพ มีสองเป้าหมายของกระบวนการ normalization คือการขจัดข้อมูลที่ซ้ำซ้อน (เช่นการจัดเก็บข้อมูลเดียวกันในมากกว่าหนึ่งตาราง) และทำให้แน่ใจว่าการ อ้างอิงข้อมูลมี ความสมเหตุสมผล (เฉพาะการจัดเก็บข้อมูลที่เกี่ยวข้องในตารางเท่านั้น) ทั้งสองอย่างนี้มีเป้าหมายที่คุ้มค่าเนื่องจากลดปริมาณพื้นที่ที่ฐานข้อมูลใช้และตรวจสอบให้แน่ใจว่ามีการจัดเก็บข้อมูลอย่างมีเหตุผล
แบบฟอร์มปกติ
ชุมชนฐานข้อมูลได้พัฒนาชุดหลักเกณฑ์เพื่อให้มั่นใจว่าฐานข้อมูลเป็นแบบปกติ เหล่านี้เรียกว่ารูปแบบปกติและมีหมายเลขจากแบบฟอร์ม (รูปแบบที่ต่ำสุดของการทำให้เป็นบรรทัดฐานหรือเรียกว่ารูปแบบปกติเป็นครั้งแรกหรือ 1NF) ถึงห้า (รูปแบบปกติที่ห้าหรือ 5NF) ในการใช้งานจริงคุณมักจะเห็น 1NF, 2NF และ 3NF พร้อมกับโอกาส 4NF แบบฟอร์มที่ 5 ปกติจะไม่ค่อยเห็นและจะไม่ถูกกล่าวถึงในบทความนี้
ก่อนที่เราจะเริ่มอภิปรายเกี่ยวกับรูปแบบปกติสิ่งสำคัญคือต้องชี้ให้เห็นว่านี่เป็นแนวทางและหลักเกณฑ์เท่านั้น บางครั้งก็จำเป็นที่จะหลงทางจากพวกเขาเพื่อตอบสนองความต้องการทางธุรกิจที่เป็นประโยชน์ อย่างไรก็ตามเมื่อมีการเปลี่ยนแปลงเกิดขึ้นสิ่งสำคัญอย่างยิ่งในการประเมินผลกระทบใด ๆ ที่อาจมีต่อระบบและบัญชีของคุณสำหรับความไม่สอดคล้องที่เป็นไปได้ ที่กล่าวว่าขอสำรวจรูปแบบปกติ
แบบฟอร์มปกติครั้งแรก (1NF)
รูปแบบปกติเป็นครั้งแรก (1NF) กำหนดกฎพื้นฐานสำหรับฐานข้อมูลที่มีการจัดระเบียบ:
- กำจัดคอลัมน์ซ้ำซ้อนจากตารางเดียวกัน
- สร้างตารางที่แยกต่างหากสำหรับแต่ละกลุ่มของข้อมูลที่เกี่ยวข้องและระบุแต่ละแถวที่มีคอลัมน์ที่ไม่ซ้ำกันหรือชุดของคอลัมน์ ( คีย์หลัก )
แบบฟอร์มปกติที่สอง (2NF)
รูปแบบปกติที่สอง (2NF) กล่าวเพิ่มเติมถึงแนวคิดการนำ ข้อมูลที่ซ้ำซ้อน :
- ตอบสนองความต้องการทั้งหมดของแบบฟอร์มปกติแรก
- ลบส่วนย่อยของข้อมูลที่ใช้กับหลายแถวของตารางและวางไว้ในตารางที่แยกต่างหาก
- สร้างความสัมพันธ์ระหว่างตารางใหม่เหล่านี้กับรุ่นก่อนโดยใช้ คีย์ต่างประเทศ
แบบฟอร์มปกติที่สาม (3NF)
รูปแบบปกติที่สาม (3NF) ไปอีกขั้นหนึ่ง:
- ตอบสนองทุกความต้องการของแบบฟอร์มปกติที่สอง
- ลบคอลัมน์ที่ไม่ขึ้นอยู่กับคีย์หลัก
ฟอร์มปกติ Boyce-Codd (BCNF หรือ 3.5NF)
แบบฟอร์ม Boyce-Codd ปกติเรียกว่า "สามและครึ่ง (3.5) รูปแบบปกติ" เพิ่มอีกหนึ่งความต้องการ:
- ตอบสนองความต้องการทั้งหมดของแบบฟอร์มปกติที่สาม
- ทุกปัจจัยต้องเป็น กุญแจสำคัญของผู้สมัคร
แบบฟอร์มปกติที่ 4 (4NF)
ในที่สุดรูปแบบปกติที่สี่ (4NF) มีข้อกำหนดเพิ่มเติมอย่างใดอย่างหนึ่ง:
- ตอบสนองความต้องการทั้งหมดของแบบฟอร์มปกติที่สาม
- ความสัมพันธ์อยู่ใน 4NF หากไม่มี การพึ่งพาหลายค่า
โปรดจำไว้ว่าคำแนะนำเรื่อง normalization เหล่านี้เป็นข้อมูลสะสม สำหรับฐานข้อมูลที่อยู่ใน 2NF ก่อนอื่นต้องปฏิบัติตามเกณฑ์ทั้งหมดของฐานข้อมูล 1NF
ฉันควรทำให้ถูกต้องหรือไม่?
แม้ว่าการทำให้ปกติของฐานข้อมูลเป็นความคิดที่ดี แต่ก็ไม่ใช่ความต้องการที่แน่นอน ในความเป็นจริงมีบางกรณีที่จงใจละเมิดกฎเกณฑ์ของการฟื้นฟูเป็นแนวทางที่ดี สำหรับข้อมูลเพิ่มเติมในหัวข้อนี้อ่าน ฉันควรจะปรับฐานข้อมูลของฉันให้เป็นปกติหรือไม่?
ถ้าคุณต้องการให้แน่ใจว่าฐานข้อมูลของคุณเป็นแบบปกติให้เริ่มต้นด้วยการเรียนรู้ วิธีใส่ฐานข้อมูลของคุณลงในแบบฟอร์ม First Normal