หน้าก่อนหน้า

บทที่ 8 ระบบจัดการฐานข้อมูล

เรื่องต่อไป

8.4 การออกแบบฐานข้อมูลเชิงสัมพันธ์

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

ทั้งนี้ การออกแบบฐานข้อมูลที่นำซอฟต์แวร์ระบบจัดการฐานข้อมูลมาช่วยในการดำเนินการสามารถจำแนกหลักในการดำเนินการได้ 6 ขั้นตอน คือ

1. การรวบรวมและวิเคราะห์ความต้องการในการใช้ข้อมูล

2. การเลือกระบบจัดการฐานข้อมูล

3. การออกแบบฐานข้อมูลในระดับแนวคิด

4. การนำฐานข้อมูลที่ออกแบบในระดับแนวคิดเข้าสู่ระบบจัดการฐานข้อมูล

5. การออกแบบฐานข้อมูลในระดับกายภาพ

6. การนำฐานข้อมูลไปใช้และการประเมินผล

การรวบรวมและวิเคราะห์ความต้องการในการใช้ข้อมูล

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

การศึกษาและวิเคราะห์องค์กร เป็นการศึกษานโยบาย วัตถุประสงค์ ตลอดจนโครงสร้างและสภาพการทำงานของหน่วยงานต่าง ๆ ภายในองค์กร เพื่อให้มีความเข้าใจในระบบการทำงานขององค์กรนั้นๆ

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

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

การเลือกระบบจัดการฐานข้อมูล

โดยส่วนใหญ่การเปลี่ยนแปลงระบบการจัดการข้อมูลแบบเดิมมาเป็นระบบฐานข้อมูล มักมีสาเหตุเนื่องมาจากความต้องการในการลดความซ้ำซ้อนของข้อมูลภายในองค์กรและการควบคุมปริมาณข้อมูลที่เพิ่มมากขึ้น

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

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

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

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

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

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

การออกแบบฐานข้อมูลในระดับแนวคิด

การออกแบบฐานข้อมูลในระดับแนวคิดเป็นขั้นตอนถัดมาจากการรวบรวมและวิเคราะห์ความต้องการในการใช้ข้อมูล เป็นการออกแบบโครงร่างของฐานข้อมูลในระดับแนวคิด (conceptual schema design) เพื่อกำหนดโครงสร้างพื้นฐานของฐานข้อมูลและรายละเอียดทั้งหมดของฐานข้อมูล ได้แก่ รีเลชัน ต่าง ๆ ที่ควรเป็นส่วนประกอบของฐานข้อมูล แอททริบิวต์ที่ควรเป็นส่วนประกอบในโครงร่างของแต่ละรีเลชัน แอททริบิวต์ที่ควรเป็นคีย์หลัก (primary key) และคีย์นอก (foreign key) ในแต่ละรีเลชัน ตลอดจนคุณสมบัติหรือรูปแบบที่เป็นบรรทัดฐานที่เหมาะสมในแต่ละรีเลชัน ทั้งนี้ การออกแบบโครงร่างของรีเลชันที่ดีจะช่วยลดปัญหาที่อาจเกิดขึ้นกับฐานข้อมูลลงได้ ตัวอย่างเช่น การซ้ำซ้อนของข้อมูล และความขัดแย้งของข้อมูล เป็นต้น นอกจากนี้ การออกแบบโครงร่างของฐานข้อมูลในระดับแนวคิดยังครอบคลุมถึงการกำหนดข้อจำกัดและกฎเกณฑ์ของข้อมูล รวมทั้งการควบคุมความปลอดภัยของฐานข้อมูลอีกด้วย

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

กระบวนการออกแบบฐานข้อมูลในระดับแนวคิดนี้อาจกล่าวได้ว่า เป็นกระบวนการแบบทำซ้ำ (iterative) มากกว่าเป็นกระบวนการที่ดำเนินไปตามลำดับ (sequential) เนื่องจากในระบบฐานข้อมูลขนาดใหญ่ซึ่งประกอบด้วยแอททริบิวต์จำนวนมาก การวิเคราะห์ความสัมพันธ์ระหว่างแอททริบิวต์จะเป็นเรื่อง ยุ่งยากมาก ดังนั้นในทางปฏิบัติ การออกแบบระบบฐานข้อมูลจึงมักกระทำในลักษณะจำลองแบบในระดับบนหรือภาพรวมของการทำงานก่อน โดยยังไม่ให้ความสำคัญในเรื่องความสัมพันธ์ระหว่างแอททริบิวต์ ซึ่งใน การออกแบบโครงร่างของฐานข้อมูลในระดับแนวคิดนิยมนำแแบบจำลองที่เรียกว่า อีอาร์ไดอะแกรม (Entity-Relationship Diagram) มาประยุกต์ใช้เพื่อช่วยให้การออกแบบมีความเหมาะสมมากยิ่งขึ้น ซึ่งผลจาก การออกแบบจะทำให้เห็นถึงเอนทิตีต่าง ๆ ในระบบ รายละเอียดของความสัมพันธ์ ตลอดจนข้อกำหนดและกฎเกณฑ์ทางธุรกิจขององค์กร โดยในระหว่างดำเนินการอาจมีการเพิ่มหรือลดเอนทิตี แอททริบิวต์ และ ความสัมพันธ์ต่าง ๆ ใน อีอาร์ไดอะแกรมได้ด้วย แบบจำลองอีอาร์ไดอะแกรมขั้นพื้นฐานจึงได้รับการปรับปรุงให้ชัดเจน ถูกต้อง และสอดคล้องกับองค์ประกอบขององค์กรมากขึ้น โดยกระบวนการนี้จะทำซ้ำ ๆ กันไปจนกว่าผู้ใช้และผู้ออกแบบระบบจะมีความเห็นตรงกันว่าเหมาะสม ดังนั้น ลักษณะเด่นของแบบจำลองอีอาร์ไดอะแกรม คือ การแสดงให้เห็นขั้นตอนการทำงานขององค์กรได้อย่างแท้จริงและเป็นที่ยอมรับของผู้เกี่ยวข้องทุกฝ่าย

อย่างไรก็ตาม การออกแบบฐานข้อมูลในระดับแนวคิดอาจจำแนกได้ 5 ขั้นตอนตามลำดับ คือ

1.การกำหนดรีเลชันและความสัมพันธ์ระหว่างรีเลชัน

2.การกำหนดแอททริบิวต์ คีย์หลัก และคีย์นอกในแต่ละรีเลชัน

3.การทำให้รีเลชันมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐาน

4.ลักษณะและขอบเขตของข้อมูล รวมทั้งข้อจำกัดและกฎเกณฑ์ต่าง ๆ ที่ควรคำนึง

5.การรวบรวมและทบทวนการออกแบบฐานข้อมูลในระดับแนวคิด

การกำหนดรีเลชันและความสัมพันธ์ระหว่างรีเลชัน

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

หลังจากศึกษาและวิเคราะห์รายละเอียดของระบบงานที่จะทำการออกแบบแล้ว ผู้ออกแบบฐานข้อมูลจะทำการกำหนดเอนทีตีต่าง ๆ ที่ควรจะมี จากนั้นจึงทำการกำหนดความสัมพันธ์ระหว่างเอนทิตี ทั้งนี้ วัตถุประสงค์ของการกำหนดความสัมพันธ์ระหว่างเอนทิตีว่า เป็นความสัมพันธ์แบบหนึ่งต่อหนึ่ง (One to One Relationship) ความสัมพันธ์แบบหนึ่งต่อกลุ่ม (one to many relationship) หรือความสัมพันธ์แบบกลุ่มต่อกลุ่ม (many to many relationship) ก็เพื่อประโยชน์ในการกำหนดแอททริบิวต์ที่จะใช้ในการเชื่อมโยงอ้างอิงระหว่างรีเลชันนั่นเอง

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

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

การกำหนดแอททริบิวต์ต่าง ๆ คีย์หลัก และคีย์นอกในแต่ละรีเลชัน

หลังจากกำหนดรีเลชันและความสัมพันธ์ระหว่างรีเลชันในระบบฐานข้อมูลแล้ว ขั้นตอนนี้จะเป็น การกำหนดแอททริบิวต์ในแต่ละรีเลชัน ซึ่งโดยทั่วไปมักไม่นิยมกำหนดให้ Derived Attribute ปรากฏอยู่ใน แต่ละรีเลชัน เนื่องจากอาจทำให้เกิดปัญหาเกี่ยวกับความซ้ำซ้อนกันของข้อมูลขึ้นได้

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

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

หากความสัมพันธ์ระหว่างรีเลชันเป็นความสัมพันธ์แบบหนึ่งต่อหนึ่ง ให้เพิ่มคีย์หลักของรีลเชันหนึ่งลงไปเป็นแอททริบิวต์ในอีกรีเลชันหนึ่ง

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

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

ทั้งนี้ การกำหนดให้แอททริบิวต์ใดทำหน้าที่เป็นคีย์นอก ผู้ออกแบบฐานข้อมูลควรคำนึงถึงกฎแห่งความบูรณภาพของการอ้างอิง (The Referential Integrity Rule) ด้วย


การทำให้รีเลชันมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐาน

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


ลักษณะและขอบเขตของข้อมูล รวมทั้งข้อจำกัดและกฎเกณฑ์ต่าง ๆ ที่ควรคำนึง

ขั้นตอนนี้เป็นการนำรายละเอียดของระบบงานที่ทำการศึกษาและวิเคราะห์ไว้แล้วมาทำการพิจารณาถึงลักษณะและขอบเขตของข้อมูลที่สามารถจัดเก็บได้ในแต่ละแอททริบิวต์ ตัวอย่างเช่น ประเภทของข้อมูล (Data Type) ขนาดของข้อมูล (Data Length) รูปแบบของข้อมูล (Format) และขอบเขตของข้อมูล (Data Range) เป็นต้น นอกจากนี้ยังพิจารณาถึงข้อจำกัดและกฎเกณฑ์ต่าง ๆ ในการเพิ่ม การลบ หรือการปรับปรุงข้อมูล ซึ่งจะมีผลกระทบต่อการจัดเก็บข้อมูลในแต่ละแอททริบิวต์อีกด้วย ตัวอย่างเช่น ในหนึ่งภาคการศึกษา นิสิตสามารถลงทะเบียนเรียนได้ไม่เกิน 24 หน่วยกิต สมาชิกบัตรเครดิตสามารถใช้จ่ายได้ไม่เกินวงเงินที่ได้รับอนุมัติ เป็นต้น

ดังนั้น ในการออกแบบโครงร่างของฐานข้อมูลในระดับแนวคิด ผู้ออกแบบฐานข้อมูลควรทำการระบุรายละเอียดเกี่ยวกับขอบเขตค่าของข้อมูลที่สามารถจัดเก็บได้ในแต่ละแอททริบิวต์ ตลอดจนเงื่อนไข/ข้อจำกัดและกฎเกณฑ์ต่าง ๆ รวมทั้ง ผลที่อาจเกิดขึ้นและแอททริบิวต์ที่จะได้รับผลกระทบหากไม่ปฏิบัติตามเงื่อนไข/ข้อจำกัด หรือกฎเกณฑ์ต่าง ๆ ที่มีการระบุไว้

การรวบรวมและทบทวนการออกแบบฐานข้อมูลในระดับแนวคิด

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

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

การนำฐานข้อมูลที่ออกแบบในระดับแนวคิดเข้าสู่ระบบจัดการฐานข้อมูล

ขั้นตอนนี้เป็นการแปลงโครงร่างของฐานข้อมูลที่ได้ทำการออกแบบไว้ในระดับแนวคิดเข้าสู่รูปแบบของข้อมูลในระบบจัดการฐานข้อมูลที่เลือกใช้ โดยทำการกำหนดภาษาสำหรับนิยามข้อมูลตามระบบจัดการฐานข้อมูลที่เลือกใช้ให้เป็นไปตามโครงร่างของฐานข้อมูลในระดับแนวคิดที่ออกแบบไว้แล้ว ซึ่งประกอบด้วย 2 ขั้นตอน คือ การกำหนดโครงสร้างของฐานข้อมูล และการกำหนดการอ้างอิงระหว่างตารางข้อมูล

การกำหนดโครงสร้างของฐานข้อมูล

การกำหนดโครงสร้างของฐานข้อมูลเป็นการกำหนดโครงสร้างของข้อมูลในลักษณะของตารางสองมิติ (Two Dimension) ซึ่งประกอบด้วย สดมภ์ (Column) ซึ่งใช้แทนแอททริบิวต์ และแถวซึ่งใช้แทน ความสัมพันธ์ระหว่างแอททริบิวต์ โดยเรียกตารางสองมิตินี้ว่า ตารางข้อมูล

ทั้งนี้ ตารางข้อมูลจะประกอบด้วยคุณสมบัติต่างๆ ได้แก่ ชื่อตารางข้อมูล ชื่อแอททริบิวต์ การกำหนดคุณสมบัติของข้อมูล ได้แก่ ค่าที่เป็นไปได้ ประเภทและขนาดของข้อมูลที่จัดเก็บ ฯลฯ

การกำหนดการอ้างอิงระหว่างตารางข้อมูล

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

การออกแบบฐานข้อมูลในระดับกายภาพ

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

การออกแบบฐานข้อมูลในระดับกายภาพจะมีรายละเอียดที่แตกต่างกันขึ้นอยู่กับระบบจัดการฐาน ข้อมูลที่เลือกใช้และฮาร์ดแวร์ของระบบคอมพิวเตอร์ที่ใช้ในการจัดเก็บฐานข้อมูล ทั้งนี้ ปัจจัยสำคัญที่จำเป็นต้องพิจารณาในการออกแบบระบบฐานข้อมูลในระดับกายภาพประกอบด้วย 3 ประเด็น คือ ความเร็วใน การเรียกใช้ข้อมูล การใช้เนื้อที่ในการจัดเก็บข้อมูล และค่าเฉลี่ยของจำนวนรายการที่ประมวลผลได้ใน หนึ่งนาที


การนำฐานข้อมูลไปใช้และการประเมินผล

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

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

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


Home