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

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

นอร์มอลไลเซชั่น vs ดีนอร์มอลไลเซชั่น

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

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

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

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

ดีนอร์มัลไลเซชันคืออะไร

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

Normalization กับ Denormalization ต่างกันอย่างไร

– Normalization และ denormalization เป็นสองกระบวนการที่ตรงกันข้ามอย่างสิ้นเชิง

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

– การทำให้เป็นมาตรฐานเพื่อป้องกันความผิดปกติของฐานข้อมูล

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

– มักจะแนะนำว่าคุณควร "ทำให้ปกติจนกว่าจะเจ็บ ปกติจนกว่าจะได้ผล"

แนะนำ: