Computer >> คอมพิวเตอร์ >  >> ซอฟต์แวร์ >> ซอฟต์แวร์

พื้นฐานของการปรับฐานข้อมูลให้เป็นมาตรฐาน

หากคุณทำงานกับฐานข้อมูลมาระยะหนึ่งแล้ว คุณอาจเคยได้ยินคำว่านอร์มัลไลเซชัน บางทีอาจมีคนถามคุณว่า "ฐานข้อมูลนั้นเป็นมาตรฐานหรือไม่" หรือ "อยู่ใน BCNF หรือไม่" การทำให้เป็นมาตรฐานมักถูกมองว่าเป็นความฟุ่มเฟือยเฉพาะนักวิชาการเท่านั้นที่มีเวลา อย่างไรก็ตาม การรู้หลักการของการทำให้เป็นมาตรฐานและนำไปใช้กับงานออกแบบฐานข้อมูลประจำวันของคุณนั้นไม่ได้ซับซ้อนขนาดนั้น และสามารถปรับปรุงประสิทธิภาพของ DBMS ของคุณได้อย่างมาก

ในบทความนี้ เราจะแนะนำแนวคิดเรื่องนอร์มัลไลเซชันและดูคร่าวๆ เกี่ยวกับรูปแบบปกติที่พบบ่อยที่สุด

การทำให้เป็นมาตรฐานคืออะไร?

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

รูปแบบปกติ

ชุมชนฐานข้อมูลได้พัฒนาชุดแนวทางปฏิบัติเพื่อให้แน่ใจว่าฐานข้อมูลนั้นเป็นมาตรฐาน สิ่งเหล่านี้เรียกว่ารูปแบบปกติและถูกนับจากหนึ่ง (รูปแบบต่ำสุดของการทำให้เป็นมาตรฐานเรียกว่ารูปแบบปกติที่หนึ่งหรือ 1NF) ถึงห้า (รูปแบบปกติที่ห้าหรือ 5NF) ในการใช้งานจริง คุณมักจะเห็น 1NF, 2NF และ 3NF พร้อมกับ 4NF เป็นครั้งคราว รูปแบบปกติที่ห้านั้นไม่ค่อยพบเห็นและจะไม่ถูกกล่าวถึงในบทความนี้

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

First Normal Form (1NF)

รูปแบบปกติครั้งแรก (1NF) กำหนดกฎพื้นฐานสำหรับฐานข้อมูลที่มีการจัดระเบียบ:

  • กำจัดคอลัมน์ที่ซ้ำกันออกจากตารางเดียวกัน
  • สร้างตารางแยกกันสำหรับแต่ละกลุ่มของข้อมูลที่เกี่ยวข้องกัน และระบุแต่ละแถวด้วยคอลัมน์หรือชุดของคอลัมน์ที่ไม่ซ้ำ (คีย์หลัก)

Second Normal Form (2NF)

รูปแบบปกติที่สอง (2NF) กล่าวถึงแนวคิดของการลบข้อมูลที่ซ้ำกัน:

  • ตรงตามข้อกำหนดทั้งหมดของแบบฟอร์มปกติครั้งแรก
  • ลบชุดย่อยของข้อมูลที่นำไปใช้กับหลายแถวของตารางและวางไว้ในตารางแยกกัน
  • สร้างความสัมพันธ์ระหว่างตารางใหม่เหล่านี้กับรุ่นก่อนผ่านการใช้คีย์นอก

แบบฟอร์มปกติที่สาม (3NF)

รูปแบบปกติที่สาม (3NF) ก้าวไปอีกขั้นที่สำคัญ:

  • ตรงตามข้อกำหนดทั้งหมดของแบบฟอร์มปกติที่สอง
  • ลบคอลัมน์ที่ไม่ขึ้นอยู่กับคีย์หลัก

Boyce-Codd Normal Form (BCNF หรือ 3.5NF)

แบบฟอร์มปกติของ Boyce-Codd หรือที่เรียกว่า "รูปแบบปกติที่สามและครึ่ง (3.5)" เพิ่มข้อกำหนดอีกหนึ่งข้อ:

  • ตรงตามข้อกำหนดทั้งหมดของแบบฟอร์มปกติที่สาม
  • ดีเทอร์มีแนนต์ทุกตัวต้องเป็นคีย์ตัวเลือก

ฟอร์มปกติที่สี่ (4NF)

สุดท้าย แบบฟอร์มปกติที่สี่ (4NF) มีข้อกำหนดเพิ่มเติมหนึ่งข้อ:

  • ตรงตามข้อกำหนดทั้งหมดของแบบฟอร์มปกติที่สาม
  • ความสัมพันธ์อยู่ใน 4NF หากไม่มีการอ้างอิงแบบหลายค่า

โปรดจำไว้ว่า แนวทางการปรับมาตรฐานเหล่านี้เป็นแบบสะสม สำหรับฐานข้อมูลที่จะอยู่ใน 2NF นั้นต้องเป็นไปตามเกณฑ์ทั้งหมดของฐานข้อมูล 1NF ก่อน

ฉันควรทำให้เป็นมาตรฐานหรือไม่

แม้ว่าการปรับฐานข้อมูลให้เป็นมาตรฐานมักจะเป็นความคิดที่ดี แต่ก็ไม่ใช่ข้อกำหนดที่แน่นอน มีบางกรณีที่จงใจละเมิดกฎของการทำให้เป็นมาตรฐานเป็นแนวปฏิบัติที่ดี

หากคุณต้องการให้แน่ใจว่าฐานข้อมูลของคุณถูกทำให้เป็นมาตรฐาน ให้เริ่มด้วยการเรียนรู้วิธีใส่ฐานข้อมูลของคุณลงใน First Normal Form