ความแตกต่างระหว่าง Normalization และ Denormalization

Anonim

การเทียบมาตรฐานกับฐานข้อมูล Denormalization

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

การสร้างมาตรฐานคือกระบวนการที่ดำเนินการเพื่อลดความซ้ำซ้อนที่มีอยู่ในข้อมูลในฐานข้อมูลเชิงสัมพันธ์ขั้นตอนนี้จะแบ่งตารางขนาดใหญ่เป็นตารางเล็ก ๆ และมีจำนวนน้อยลง (เรียกว่า "รูปแบบปกติ") ตารางเล็ก ๆ เหล่านี้จะสัมพันธ์กัน d ถึงกันและกันผ่านความสัมพันธ์ที่กำหนดไว้อย่างชัดเจน ในฐานข้อมูลที่ได้รับการรับรองเป็นอย่างดีการปรับเปลี่ยนหรือแก้ไขข้อมูลจะต้องมีการปรับเปลี่ยนเฉพาะตารางเดียว แบบฟอร์ม First Normal (1NF) แบบฟอร์มปกติที่สอง (2NF) และแบบฟอร์มปกติที่สาม (3NF) ได้รับการแนะนำโดย Edgar F. Codd Boyce-Codd Normal Form (BCNF) ได้รับการแนะนำในปีพ. ศ. 2517 โดย Codd และ Raymond F. Boyce มีการกำหนดรูปแบบปกติที่สูงขึ้น (4NF, 5NF และ 6NF) แต่ไม่ค่อยมีการใช้งาน

ตารางที่สอดคล้องกับ 1NF ยืนยันว่าจริงแสดงถึงความสัมพันธ์ (เช่นไม่มีบันทึกที่ทำซ้ำ) และไม่มีแอตทริบิวต์ใด ๆ ที่เกี่ยวข้องกับมูลค่า (คือแอตทริบิวต์ทั้งหมด ควรมีค่าอะตอม) สำหรับตารางให้สอดคล้องกับ 2NF ควรปฏิบัติตาม 1NF และแอตทริบิวต์ใด ๆ ที่ไม่ใช่ส่วนหนึ่งของคีย์ผู้สมัคร (เช่นคุณลักษณะที่ไม่ใช่ปัจจัยหลัก) ควรขึ้นอยู่กับคีย์ผู้สมัครในตารางทั้งหมด ตามนิยามของ Codd ตารางจะกล่าวใน 3NF ถ้าและเพียงถ้าตารางอยู่ในรูปแบบปกติที่สอง (2NF) และทุกแอตทริบิวต์ในตารางที่ไม่ได้อยู่ในคีย์ผู้สมัครควรขึ้นอยู่กับทุกๆ คีย์ผู้สมัครของตารางนั้น BCNF (หรือที่เรียกว่า 3 5NF) จะรวบรวมความผิดปกติบางอย่างที่ไม่ได้ระบุโดย 3NF

Denormalization คืออะไร?

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

อะไรคือความแตกต่างระหว่าง Normalization และ Denormalization?

- การสร้างมาตรฐานและ denormalization เป็นสองขั้นตอนที่ตรงกันข้าม

- การทำให้เป็นมาตรฐานคือการแบ่งตารางขนาดใหญ่ให้เล็กลงเพื่อลดข้อมูลซ้ำซ้อนในขณะที่การ denormalization เป็นกระบวนการในการเพิ่มข้อมูลซ้ำซ้อนเพื่อเพิ่มประสิทธิภาพ

- การปฎิบัติตามมาตรฐานจะดำเนินการเพื่อป้องกันความผิดปกติของฐานข้อมูล

- Denormalization มักใช้เพื่อปรับปรุงประสิทธิภาพในการอ่านของฐานข้อมูล แต่เนื่องจากข้อ จำกัด เพิ่มเติมที่ใช้สำหรับการ denormalization การเขียน (เช่นแทรก, อัปเดตและลบการดำเนินงาน) อาจช้าลง ดังนั้นฐานข้อมูล denormalized สามารถให้ประสิทธิภาพการเขียนเลวร้ายยิ่งกว่าฐานข้อมูล normalized

- ขอแนะนำให้คุณควร "ปกติจนกว่าจะเจ็บ denormalize จนกว่าจะทำงาน"