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

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

วีดีโอ: ความแตกต่างระหว่าง Normalization และ Denormalization

วีดีโอ: ความแตกต่างระหว่าง Normalization และ Denormalization
วีดีโอ: วรรณกรรม vs วรรณคดี ต่างกันอย่างไร? | Point of View 2024, พฤศจิกายน
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 คือกระบวนการของการเพิ่มข้อมูลที่ซ้ำซ้อนเพื่อเพิ่มประสิทธิภาพการทำงาน

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

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

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

แนะนำ: