![]() |
|
![]() |
|
![]() |
ข้อควรคำนึงในการทำให้เป็นรูปแบบที่เป็นบรรทัดฐานการทำให้เป็นรูปแบบที่เป็นบรรทัดฐานเป็นกระบวนการเพื่อลดความซ้ำซ้อนของข้อมูล และแก้ไขปัญหาเกี่ยวกับการปรับปรุง การเพิ่ม หรือการลบข้อมูล ซึ่งกระบวนการทำให้เป็นรูปแบบที่เป็นบรรทัดฐานจะใช้เทคนิควิธีที่เรียกว่า เทคนิค Decomposition จำแนกรีเลชันเดิมออกเป็นรีเลชันย่อยโดยคำนึงถึงหลักการพื้นฐานว่า รีเลชันย่อยที่จำแนกออกมานั้นเมื่อนำมารวมเข้าด้วยกันจะต้องไม่มี ข้อมูลสูญหายไปหรือเกินจาก รีเลชันเดิม เนื่องจากการทำให้เป็นรูปแบบที่เป็นบรรทัดฐานเป็นเทคนิคในการตรวจสอบและวิเคราะห์ความสัมพันธ์ระหว่างแอททริบิวต์ภายในรีเลชันนั้น โดยไม่อาจทำการตรวจสอบความสัมพันธ์ระหว่างแอททริบิวต์ที่อยู่ต่างรีเลชันได้ ดังนั้น สิ่งที่ควรคำนึงในการทำให้เป็นรูปแบบที่เป็นบรรทัดฐาน คือ การจำแนกรีเลชันย่อยมากเกินไป (Overnormalization) และการ Denormalizatuion 1. การจำแนกรีเลชันย่อยมากเกินไปการจำแนกรีเลชันย่อยมากเกินไป หมายถึง การจำแนกรีเลชันออกเป็นรีเลชันย่อยมากเกินกว่า ความจำเป็น โดยทั่วไปแล้วในการออกแบบฐานข้อมูลระดับแนวคิด ผู้ออกแบบจะพยายามทำการวิเคราะห์ให้ รีเลชันมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 3 หรือรูปแบบที่เป็นบรรทัดฐานของบอยส์และคอดด์ ซึ่งอาจมีบ้างในบางกรณีที่จำเป็นต้องดำเนินการต่อไป จนกระทั่งรีเลชันมีคุณสมบัติอยู่ในรูปแบบที่เป็น บรรทัดฐานขั้นที่ 4 หรือขั้นที่ 5 ซึ่งในทางปฏิบัติอาจเกิดขึ้นได้น้อยมาก หากทว่าในบางครั้ง รีเลชันใด ๆ แม้จะสามารถทำการจำแนกออกเป็นรีเลชันย่อยได้ แต่ก็ควรคง รูปแบบรีเลชันนั้นไว้ในลักษณะเช่นเดิม เนื่องจากการจำแนกรีเลชันออกเป็นรีเลชันย่อยมากเกินความจำเป็น อาจก่อให้เกิดผลเสียต่อประสิทธิภาพในการทำงานของฐานข้อมูลนั้น เช่น อาจทำให้ใช้เสียเวลาเพื่อการค้นหาข้อมูลมากขึ้น เป็นต้น ตัวอย่างเช่น รีเลชันนักศึกษามีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 3 แล้ว และสามารถจำแนกออกเป็นรีเลชันย่อยได้ 3 รีเลชัน โดยไม่ผิดหลักของกระบวนการทำให้เป็นรูปแบบที่เป็นบรรทัดฐาน แต่ก็ไม่ควรจำแนกรีเลชันนักศึกษาออกเป็น 3 รีเลชันย่อย เนื่องจากแต่ละรีเลชันย่อยต่างก็มีคีย์หลักหรือ Determinant ร่วมกันเพียงหนึ่งแอททริบิวต์ คือ แอททริบิวต์รหัสนักศึกษา และมีแอททริบิวต์อื่น ๆ ที่ไม่ใช่คีย์หลักหรือ Dependent เพียงหนึ่งแอททริบิวต์ การจำแนกรีเลชันนักศึกษาออกเป็นรีเลชันย่อยจึงกล่าวได้ว่า เป็นการจำแนกรีเลชันย่อยที่มากเกินกว่าความจำเป็น เพราะในการค้นหาข้อมูลต้องเสียเวลามากขึ้นเพื่อทำ การเชื่อมโยงข้อมูลจากหลายรีเลชันย่อยเข้าด้วยกัน ภาพที่ 4.25 ตัวอย่างการจำแนกรีเลชันย่อยมากเกินไป2. การ Denormalizationแม้ว่าวัตถุประสงค์หลักของกระบวนการทำให้เป็นรูปแบบที่เป็นบรรทัดฐานตั้งแต่ขั้นตอนที่ 1 มาจนถึงขั้นตอนที่ 5 คือ การแก้ไขปัญหาความซ้ำซ้อนของข้อมูลที่ปรากฏในรีเลชันให้เหลือน้อยที่สุด ตลอดจนลดปัญหาในเรื่องเกี่ยวกับการปรับปรุง การเพิ่ม หรือการลบข้อมูล ก็ตาม หากทว่าในบางกรณี การจำแนกรีเลชันออกเป็นรีเลชันย่อยอาจก่อให้เกิดผลกระทบต่อประสิทธิภาพในการค้นหาหรือดำเนินการกับข้อมูลได้ เพราะการเสียเวลาเพื่อเชื่อมโยงข้อมูลจากรีเลชันต่าง ๆ เข้าด้วยกัน อาจทำให้การประมวลผลล่าช้าและเกิดความเสียหายได้ ดังนั้น ผู้ออกแบบฐานข้อมูลจึงจำเป็นต้องทำการ Denormalization โดยคำนึงความสำคัญในเรื่องประสิทธิภาพของการค้นหาข้อมูลมากกว่าปัญหาการซ้ำซ้อนของข้อมูลเมื่อทำการปรับปรุง เพิ่มเติม หรือลบข้อมูล การ Denormalization หมายถึง การที่รีเลชันใด ๆ ถูกออกแบบให้มีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นต่ำกว่ากฎเกณฑ์ที่กำหนดไว้ ตัวอย่างเช่น รีเลชันนั้นควรถูกออกแบบให้มีคุณสมบัติอยู่ใน รูปแบบที่เป็นบรรทัดฐานขั้นที่ 3 แต่ผู้ออกแบบฐานข้อมูลกำหนดให้รีเลชันนั้นมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานขั้นที่ 2 เท่านั้น ตัวอย่างเช่น การรวมแอททริบิวต์รหัสวิชาเอกจากรีเลชันที่อยู่นักศึกษาและแอททริบิวต์ชื่อวิชาเอกจากรีเลชันวิชาเอก ไว้เป็นแอททริบิวต์หนึ่งในรีเลชันนักศึกษาโดยให้ชื่อว่า แอททริบิวต์วิชาเอก แทนที่จะทำการจำแนกเป็นรีเลชันวิชาเอกเพื่อระบุถึงรหัสวิชาเอกและชื่อวิชาเอก ทั้งนี้ เนื่องจากมีจำนวนรหัสวิชาเอกไม่มากนัก คือ มี 2 รหัสวิชาเอกเท่านั้น เป็นต้น ภาพที่ 4.26 ตัวอย่างการ Denormalizationเนื่องจากการ Denormalization อาจก่อให้เกิดปัญหาในเรื่องที่เกี่ยวข้องกับความซ้ำซ้อนของข้อมูล เมื่อทำการปรับปรุง เพิ่มเติม และลบข้อมูล ฉะนั้นในกรณีนี้ สิ่งที่ผู้ออกแบบฐานข้อมูลควรคำนึงถึงก็คือ การลดความซ้ำซ้อนของข้อมูลและการแก้ไขปัญหาในเรื่องเกี่ยวกับการปรับปรุง การเพิ่ม หรือการลบข้อมูล สามารถทำได้ด้วยการทำให้รีเลชันมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐาน โดยปัญหาดังกล่าวไม่อาจแก้ไขได้ด้วยการเพิ่มประสิทธิภาพของฮาร์ดแวร์ ขณะที่ปัญหาความล่าช้าจากการค้นคืนข้อมูลสามารถทำการแก้ไขได้ด้วยการเพิ่มประสิทธิภาพของฮาร์ดแวร์ เพื่อให้การทำงานรวดเร็วมากยิ่งขึ้น ดังนั้น หากการใช้ข้อมูลใน รีเลชันนั้นโดยส่วนใหญ่เป็นเรื่องเกี่ยวกับการค้นหาข้อมูล มากกว่าการปรับปรุง การเพิ่ม หรือการลบข้อมูล ก็สามารถจะทำการ Denormalization ได้เพื่อเพิ่มประสิทธิภาพการทำงานของฐานข้อมูล |
|
|