6.4 การออกแบบฐานข้อมูลเชิงสัมพันธ์
การออกแบบฐานข้อมูลในองค์กรขนาดเล็กเพื่อตอบสนองความต้องการของผู้ใช้งานอาจเป็นเรื่องที่ไม่ยุ่งยากนักเนื่องจากระบบและขั้นตอนการทำงานภายในองค์กรไม่ซับซ้อนปริมาณข้อมูลที่มีก็ไม่มาก และจำนวนผู้ใช้งานฐานข้อมูลก็มีเพียงไม่กี่คนหากทว่าในองค์กรขนาดใหญ่ ซึ่งมีระบบและขั้นตอนการทำงานที่ซับซ้อนรวมทั้งมีปริมาณข้อมูลและผู้ใช้งานจำนวนมาก การออกแบบฐานข้อมูลจะเป็นเรื่องที่มีความละเอียดซับซ้อน และต้องใช้เวลาในการดำเนินการนานพอควรทีเดียวทั้งนี้ฐานข้อมูลที่ได้รับการออกแบบอย่างเหมาะสมจะสามารถตอบสนองต่อความต้องการของผู้ใช้งานภายในหน่วยงานต่าง ๆ ขององค์กรได้ซึ่งจะทำให้การดำเนินงานขององค์กรมีประสิทธิภาพดียิ่งขึ้นเป็นผลตอบแทนที่คุ้มค่าต่อการลงทุนเพื่อพัฒนาระบบฐานข้อมูลภายในองค์กร
ทั้งนี้การออกแบบฐานข้อมูลที่นำซอฟต์แวร์ระบบจัดการฐานข้อมูลมาช่วยในการดำเนินการสามารถจำแนกหลักในการดำเนินการได้ 6ขั้นตอน คือ
- การรวบรวมและวิเคราะห์ความต้องการในการใช้ข้อมูล
- การเลือกระบบจัดการฐานข้อมูล
- การออกแบบฐานข้อมูลในระดับแนวคิด
- การนำฐานข้อมูลที่ออกแบบในระดับแนวคิดเข้าสู่ระบบจัดการฐานข้อมูล
- การออกแบบฐานข้อมูลในระดับกายภาพ
- การนำฐานข้อมูลไปใช้และการประเมินผล
6.4.1 การรวบรวมและวิเคราะห์ความต้องการในการใช้ข้อมูล
ในการออกแบบระบบฐานข้อมูลที่ดี ผู้ออกแบบควรต้องทำการรวบรวมและวิเคราะห์ความต้องการในการใช้ข้อมูลเพื่อกำหนดวัตถุประสงค์และขอบเขตของการจัดทำระบบฐานข้อมูลขึ้นเป็นขั้นตอนแรกก่อนลงมือทำการออกแบบฐานข้อมูลทั้งนี้การรวบรวมและวิเคราะห์ความต้องการในการใช้ข้อมูลประกอบด้วยกิจกรรมต่าง ๆ คือ การศึกษาและวิเคราะห์องค์กร การศึกษาและวิเคราะห์ระบบการจัดการข้อมูลเดิม และการกำหนดวัตถุประสงค์และขอบเขตของฐานข้อมูล
การศึกษาและวิเคราะห์องค์กร เป็นการศึกษานโยบาย วัตถุประสงค์ ตลอดจนโครงสร้างและสภาพการทำงานของหน่วยงานต่าง ๆ ภายในองค์กรเพื่อให้มีความเข้าใจในระบบการทำงานขององค์กรนั้นๆ
การศึกษาและวิเคราะห์ระบบการจัดการข้อมูลเดิม เป็นการศึกษาขั้นตอนการทำงานในหน่วยงานนั้น ๆ แหล่งที่มาลักษณะ คุณสมบัติและปริมาณของข้อมูล ความต้องการในการเรียกใช้และปรับปรุงข้อมูล ความสัมพันธ์ระหว่างข้อมูลในระบบงานต่าง ๆ ตลอดจนทำการศึกษาวิเคราะห์ความถี่ในการประมวลผล การจัดทำเอกสารรายงานในรูปแบบต่าง ๆ และทำการเก็บรวบรวมกฎเกณฑ์เงื่อนไขปัญหา รวมทั้งข้อจำกัดต่าง ๆ ที่เกิดจากการปฏิบัติงานซึ่งในขั้นตอนนี้ผู้ออกแบบฐานข้อมูลอาจทำการศึกษาวิเคราะห์ และเก็บรวบรวมข้อมูลได้จากเอกสาร ตลอดจนรายงานที่มีในปัจจุบัน ประกอบกับการสังเกตการณ์สอบถามสัมภาษณ์ข้อมูลจากผู้ใช้งานและผู้ที่เกี่ยวข้อง เพื่อจะได้ทราบถึงโครงสร้างพื้นฐานของระบบฐาน ข้อมูล และทำการวิเคราะห์ความต้องการในการใช้ข้อมูลได้ละเอียดและครบถ้วนยิ่งขึ้น
การกำหนดวัตถุประสงค์และขอบเขตของฐานข้อมูลเป็นการนำรายละเอียดที่เก็บรวบรวมไว้มาทำการกำหนดวัตถุประสงค์ของระบบฐานข้อมูลที่จะจัดทำขึ้นเพื่อแสดงถึงความสามารถของระบบฐานข้อมูลในการตอบสนองต่อความต้องการในการใช้ข้อมูลของผู้ใช้งานและผู้เกี่ยวข้องรวมทั้งลักษณะการทำงาน ประสิทธิภาพ และความสามารถในการจัดการกับข้อมูลตลอดจนขอบเขตที่ครอบคลุมระบบงานภายในขององค์กร การกำหนดสิทธิในการใช้ข้อมูลของผู้ใช้แต่ละระดับในองค์กร และการกำหนดระบบรักษาความปลอดภัยของข้อมูล
6.4.2 การเลือกระบบจัดการฐานข้อมูล
โดยส่วนใหญ่การเปลี่ยนแปลงระบบการจัดการข้อมูลแบบเดิมมาเป็นระบบฐานข้อมูล มักมีสาเหตุเนื่องมาจากความต้องการในการลดความซ้ำซ้อนของข้อมูลภายในองค์กรและการควบคุมปริมาณข้อมูลที่เพิ่มมากขึ้น
ทั้งนี้ ปัจจัยที่ประกอบการพิจารณาเลือกระบบจัดการฐานข้อมูลมีหลายประการ ตัวอย่างเช่น ปัจจัยทางด้านเทคนิค ปัจจัยทางด้านเศรษฐกิจ เป็นต้น ซึ่งแต่ละองค์กรอาจพิจารณาให้ความสำคัญกับปัจจัยแต่ละด้านแตกต่างกันออกไป
อย่างไรก็ตาม ปัจจัยที่บทบาทสำคัญต่อการพิจารณาเพื่อตัดสินใจเลือกระบบจัดการฐานข้อมูลคือ ค่าใช้จ่ายและผลประโยชน์ที่จะได้รับ คุณสมบัติของซอฟต์แวร์ระบบจัดการฐานข้อมูล และโครงสร้างของฐานข้อมูล
ค่าใช้จ่ายและผลประโยชน์ที่จะได้รับ ในการเลือกระบบจัดการฐานข้อมูลที่จะนำมาใช้สิ่งหนึ่งที่ทุกองค์กรมักจะคำนึงถึง คือ ความคุ้มค่าในการลงทุนโดยปัจจัยทางด้านต้นทุนที่ควรนำมาพิจารณาประกอบด้วยราคาของซอฟต์แวร์ระบบจัดการฐานข้อมูล ราคาของฮาร์ดแวร์ที่เกี่ยวข้องไม่ว่าจะเป็นการซื้อใหม่หรือการจัดหามาเพิ่มเติมจากที่มีอยู่ในปัจจุบัน ค่าใช้จ่ายสำหรับการติดตั้งและดำเนินการ ค่าใช้จ่ายในการบำรุงรักษา ค่าใช้จ่ายเกี่ยวกับบุคลากรที่เกี่ยวข้องไม่ว่าจะเป็นการจัดจ้างบุคลากรในตำแหน่งต่าง ๆ เพิ่มขึ้น หรือค่าใช้จ่ายในการฝึกอบรม และค่าใช้จ่ายในการปรับเปลี่ยนระบบการจัดการข้อมูลแบบเดิมมาเป็นระบบฐานข้อมูล
ทั้งนี้ ในส่วนของผลประโยชน์ที่คาดว่าองค์กรจะได้รับนั้น บางครั้งไม่อาจระบุเป็นตัวเงินได้ ตัวอย่างเช่น การเปลี่ยนจากระบบการจัดการข้อมูลแบบเดิมมาเป็นระบบฐานข้อมูล ทำให้การทำงานมีประสิทธิภาพมากขึ้น เนื่องจากผู้ใช้ฐานข้อมูลสามารถค้นหาข้อมูลได้รวดเร็วหรือสะดวกขึ้น เป็นต้น
คุณสมบัติของซอฟต์แวร์ระบบจัดการฐานข้อมูล ตัวอย่างเช่น ความสามารถในการใช้กับแพลตฟอร์ม(Platform)ต่าง ๆ การมีเครื่องมือช่วยในการจัดทำและการเรียกใช้ฐานข้อมูลทำให้ผู้ใช้สามารถใช้งานได้ง่ายและสะดวกขึ้น รวมทั้ง ความสามารถและประโยชน์ใช้สอยในด้านอื่น ๆ ของซอฟต์แวร์ระบบจัดการฐานข้อมูล เช่น การสร้างรายงานใหม่ การสร้างแผนภูมิ การสื่อสาร เป็นต้น
โครงสร้างของฐานข้อมูล ปัจจัยสำคัญประการหนึ่งในการพิจารณาเลือกระบบจัดการฐาน ข้อมูลที่จะนำมาใช้ คือ โครงสร้างของฐานข้อมูลที่ทำการออกแบบขึ้นมา ตัวอย่างเช่น หากโครงสร้างของฐานข้อมูลที่ทำการออกแบบขึ้นมาเป็นโครงสร้างข้อมูลเชิงสัมพันธ์ ระบบจัดการฐานข้อมูลของที่ควรจะถูกพิจารณาเลือกนำมาใช้จะได้แก่ ออราเคิล(Oracle) อินเกรส(Ingress)อินโฟมิกซ์(Informix)เป็นต้น
6.4.3 การออกแบบฐานข้อมูลในระดับแนวคิด
การออกแบบฐานข้อมูลในระดับแนวคิดเป็นขั้นตอนถัดมาจากการรวบรวมและวิเคราะห์ความต้องการในการใช้ข้อมูล เป็นการออกแบบโครงร่างของฐานข้อมูลในระดับแนวคิด (Conceptual Schema Design) เพื่อกำหนดโครงสร้างพื้นฐานของฐานข้อมูลและรายละเอียดทั้งหมดของฐานข้อมูล ได้แก่ รีเลชันต่าง ๆ ที่ควรเป็นส่วนประกอบของฐานข้อมูล แอททริบิวต์ที่ควรเป็นส่วนประกอบในโครงร่างของแต่ละรีเลชัน แอททริบิวต์ที่ควรเป็นคีย์หลัก (Primary key) และคีย์นอก (Foreign key) ในแต่ละรีเลชัน ตลอดจนคุณสมบัติหรือรูปแบบที่เป็นบรรทัดฐานที่เหมาะสมในแต่ละรีเลชันทั้งนี้การออกแบบโครงร่างของรีเลชันที่ดีจะช่วยลดปัญหาที่อาจเกิดขึ้นกับฐานข้อมูลลงได้ ตัวอย่างเช่น การซ้ำซ้อนของข้อมูล และความขัดแย้งของข้อมูล เป็นต้น นอกจากนี้การออกแบบโครงร่างของฐานข้อมูลในระดับแนวคิดยังครอบคลุมถึงการกำหนดข้อจำกัดและกฎเกณฑ์ของข้อมูลรวมทั้งการควบคุมความปลอดภัยของฐานข้อมูลอีกด้วย
สิ่งสำคัญที่ผู้ออกแบบฐานข้อมูลควรต้องทำการศึกษาและวิเคราะห์ก่อนออกแบบโครงร่างของฐานข้อมูลในระดับแนวคิด คือ ขั้นตอนการทำงานของระบบงานที่กำลังทำการออกแบบข้อมูลที่เกี่ยวข้องกับ การทำงานในแต่ละขั้นตอน กระแสการไหลของข้อมูล (Dataflow) รูปแบบและรายละเอียดในการประมวลผลรวมทั้งลักษณะการเก็บบันทึกข้อมูลซึ่งผลจากการศึกษาและวิเคราะห์เรื่องดังกล่าวจะเป็นประโยชน์อย่างยิ่งต่อการกำหนดคุณลักษณะและการออกแบบโปรแกรมประยุกต์เพื่อการใช้งานระบบฐานข้อมูล
กระบวนการออกแบบฐานข้อมูลในระดับแนวคิดนี้อาจกล่าวได้ว่า เป็นกระบวนการแบบทำซ้ำ (Iterative) มากกว่าเป็นกระบวนการที่ดำเนินไปตามลำดับ (Sequential) เนื่องจากในระบบฐานข้อมูลขนาดใหญ่ซึ่งประกอบด้วยแอททริบิวต์จำนวนมากการวิเคราะห์ความสัมพันธ์ระหว่างแอททริบิวต์จะเป็นเรื่องยุ่งยากมากดังนั้นในทางปฏิบัติการออกแบบระบบฐานข้อมูลจึงมักกระทำในลักษณะจำลองแบบในระดับบนหรือภาพรวมของการทำงานก่อน โดยยังไม่ให้ความสำคัญในเรื่องความสัมพันธ์ระหว่างแอททริบิวต์ซึ่งในการออกแบบโครงร่างของฐานข้อมูลในระดับแนวคิดนิยมนำแบบจำลองที่เรียกว่าอีอาร์ไดอะแกรม (Entity-Relationship Diagram) มาประยุกต์ใช้เพื่อช่วยให้การออกแบบมีความเหมาะสมมากยิ่งขึ้นซึ่งผลจากการออกแบบจะทำให้เห็นถึงเอนทิตีต่าง ๆ ในระบบ รายละเอียดของความสัมพันธ์ ตลอดจนข้อกำหนดและกฎเกณฑ์ทางธุรกิจขององค์กร โดยในระหว่างดำเนินการอาจมีการเพิ่มหรือลดเอนทิตี แอททริบิวต์และความสัมพันธ์ต่าง ๆ ใน อีอาร์ไดอะแกรมได้ด้วยแบบจำลองอีอาร์ไดอะแกรมขั้นพื้นฐานจึงได้รับการปรับปรุงให้ชัดเจน ถูกต้อง และสอดคล้องกับองค์ประกอบขององค์กรมากขึ้น โดยกระบวนการนี้จะทำซ้ำ ๆ กันไปจนกว่าผู้ใช้และผู้ออกแบบระบบจะมีความเห็นตรงกันว่าเหมาะสม ดังนั้น ลักษณะเด่นของแบบจำลองอีอาร์ไดอะแกรม คือ การแสดงให้เห็นขั้นตอนการทำงานขององค์กรได้อย่างแท้จริงและเป็นที่ยอมรับของผู้เกี่ยวข้องทุกฝ่าย
อย่างไรก็ตาม การออกแบบฐานข้อมูลในระดับแนวคิดอาจจำแนกได้ 5ขั้นตอนตามลำดับ คือ
6.4.3.1การกำหนดรีเลชันและความสัมพันธ์ระหว่างรีเลชัน
6.4.3.2การกำหนดแอททริบิวต์ คีย์หลัก และคีย์นอกในแต่ละรีเลชัน
6.4.3.3การทำให้รีเลชันมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐาน
6.4.3.4ลักษณะและขอบเขตของข้อมูลรวมทั้งข้อจำกัดและกฎเกณฑ์ต่าง ๆ ที่ควรคำนึง
6.4.3.5การรวบรวมและทบทวนการออกแบบฐานข้อมูลในระดับแนวคิด
6.4.4 การกำหนดรีเลชันและความสัมพันธ์ระหว่างรีเลชัน
ขั้นตอนนี้จะเป็นการกำหนดรีเลชันต่าง ๆ ที่ควรจะมีและความสัมพันธ์ระหว่างแต่ละรีเลชันในระบบฐานข้อมูลซึ่งประกอบด้วยการกำหนดเอนทิตีที่เกี่ยวข้องการกำหนดความสัมพันธ์ระหว่างเอนทิตี การแปลงเอนทิตีให้เป็นรีเลชัน และการแปลงความสัมพันธ์ระหว่างเอนทิตีเป็นความสัมพันธ์ระหว่างรีเลชัน
หลังจากศึกษาและวิเคราะห์รายละเอียดของระบบงานที่จะทำการออกแบบแล้ว ผู้ออกแบบฐานข้อมูลจะทำการกำหนดเอนทีตีต่าง ๆ ที่ควรจะมี เช่น พนักงาน สินค้า รถยนต์ เป็นต้น จากนั้นจึงทำการกำหนดความสัมพันธ์ระหว่างเอนทิตีทั้งนี้วัตถุประสงค์ของการกำหนดความสัมพันธ์ระหว่างเอนทิตีว่าเป็นความสัมพันธ์แบบหนึ่งต่อหนึ่ง (One to One Relationship) ความสัมพันธ์แบบหนึ่งต่อกลุ่ม (One to Many Relationship) หรือความสัมพันธ์แบบกลุ่มต่อกลุ่ม (Many to Many Relationship)ก็เพื่อประโยชน์ในการกำหนดแอททริบิวต์หรือฟิลดิ์ที่จะใช้ในการเชื่อมโยงอ้างอิงระหว่างรีเลชันนั่นเอง
อย่างไรก็ตาม กฎเกณฑ์ในการกำหนดความสัมพันธ์ระหว่างเอนทิตีนั้นเป็นสิ่งที่ไม่มีการระบุไว้แน่นอนเนื่องจากการดำเนินงานในแต่ละหน่วยงานอาจมีความแตกต่างกัน ตัวอย่างเช่น สถาบันหนึ่งอาจกำหนดให้หนึ่งชุดวิชามีอาจารย์ผู้สอนเพียงคนเดียวเท่านั้นขณะที่สถาบันอีกแห่งหนึ่งอาจกำหนดให้หนึ่งชุดวิชามีอาจารย์ผู้สอนได้มากกว่าหนึ่งคน เป็นต้น ดังนั้นในการกำหนดความสัมพันธ์ระหว่างเอนทิตี ผู้ออกแบบฐานข้อมูลจึงจำเป็นต้องทำการศึกษา วิเคราะห์ และพิจารณาจากข้อมูลรายละเอียด ตลอดจนลักษณะหน้าที่งานของระบบที่ได้ทำการเก็บรวบรวมมาก่อนหน้านี้
จากนั้นจึงทำการแปลงเอนทิตีให้เป็นรีเลชันในฐานข้อมูลเชิงสัมพันธ์ ซึ่งสามารถทำได้โดย การกำหนดชื่อของเอนทิตีเป็นชื่อของรีเลชัน ส่วนการแปลงความสัมพันธ์ระหว่างเอนทิตีเป็นความสัมพันธ์ระหว่างรีเลชันในฐานข้อมูลเชิงสัมพันธ์นั้นหากความสัมพันธ์ระหว่างเอนทิตีเป็นความสัมพันธ์แบบหนึ่งต่อหนึ่งหรือความสัมพันธ์แบบหนึ่งต่อกลุ่มสามารถแปลงความสัมพันธ์ระหว่างเอนทิตีเป็นความสัมพันธ์ระหว่างรีเลชันได้ทันทีหากความสัมพันธ์ระหว่างเอนทิตีเป็นความสัมพันธ์แบบกลุ่มต่อกลุ่มจะต้องทำการแปลงความสัมพันธ์ดังกล่าวเป็นความสัมพันธ์แบบหนึ่งต่อกลุ่มโดยการสร้างคอมโพสิตเอนทิตี(Composite Entity)ขึ้นมาก่อน จากนั้นจึงแปลงโพสิตเอนทิตีที่สร้างขึ้นเป็นรีเลชันในฐานข้อมูลเชิงสัมพันธ์ โดยการกำหนดชื่อของโพสิตเอนทิตีเป็นชื่อของรีเลชัน และแปลงความสัมพันธ์ระหว่างเอนทิตีแบบหนึ่งต่อกลุ่มที่เพิ่มขึ้นมาเป็นความสัมพันธ์ระหว่างรีเลชัน
6.4.5 การกำหนดแอททริบิวต์ต่างๆ คีย์หลัก และคีย์นอกในแต่ละรีเลชัน
หลังจากกำหนดรีเลชันและความสัมพันธ์ระหว่างรีเลชันในระบบฐานข้อมูลแล้วขั้นตอนนี้จะเป็นการกำหนดแอททริบิวต์ในแต่ละรีเลชันซึ่งโดยทั่วไปมักไม่นิยมกำหนดให้แอททริบิวต์ที่เกิดจากการคำนวณ(Derived Attribute)ปรากฏอยู่ในแต่ละรีเลชัน เนื่องจากอาจทำให้เกิดปัญหาเกี่ยวกับความซ้ำซ้อนกันของข้อมูลขึ้นได้
จากนั้นจึงทำการกำหนดแอททริบิวต์ที่ทำหน้าที่เป็นคีย์หลักในแต่ละรีเลชัน โดยแอททริบิวต์ที่มี คุณสมบัติเป็นคีย์หลัก คือ แอททริบิวต์ที่มีค่าเป็นเอกลักษณ์หรือมีค่าไม่ซ้ำซ้อนกัน ทำให้สามารถระบุค่าของแอททริบิวต์อื่นในทูเพิลหนึ่ง ๆ ได้ทั้งนี้แอททริบิวต์ที่ทำหน้าที่เป็นคีย์หลักอาจเป็นคีย์ผสม (Composite Key) หรือกลุ่มของแอททริบิวต์ที่นำมาประกอบกันเพื่อให้มีค่าเป็นเอกลักษณ์ก็ได้หากทว่าในหนึ่งรีเลชันอาจมีแอททริบิวต์ที่มีคุณสมบัติเป็นคีย์หลักมากกว่าหนึ่งแอททริบิวต์ดังนั้นผู้ออกแบบฐานข้อมูลควรเลือกแอททริบิวต์ที่เหมาะสมที่สุดเพียงหนึ่งแอททริบิวต์เพื่อทำหน้าที่เป็นคีย์หลักซึ่งแอททริบิวต์ที่ไม่ได้ทำหน้าที่เป็นคีย์หลักเรียกว่า คีย์สำรอง (Alternate Key)
นอกจากการกำหนดแอททริบิวต์ต่าง ๆ และคีย์หลักแล้วผู้ออกแบบฐานข้อมูลจำเป็นต้องทำการกำหนดคีย์นอกที่สามารถเชื่อมโยงอ้างอิงถึงแอททริบิวต์ที่เป็นคีย์หลักในอีกรีเลชันหนึ่งที่มีความสัมพันธ์กันได้ซึ่งการกำหนดคีย์นอกของแต่ละรีเลชันสามารถทำได้โดยการพิจารณาจากความสัมพันธ์ระหว่างแต่ละรีเลชันดังนี้
6.4.5.1 หากความสัมพันธ์ระหว่างรีเลชันเป็นความสัมพันธ์แบบหนึ่งต่อหนึ่งให้เพิ่มคีย์หลักของรีลเชันหนึ่งลงไปเป็นแอททริบิวต์ในอีกรีเลชันหนึ่ง
6.4.5.2 หากความสัมพันธ์ระหว่างรีเลชันเป็นความสัมพันธ์แบบหนึ่งต่อกลุ่ม ให้เพิ่มคีย์หลักของรีเลชันที่อยู่ด้านความสัมพันธ์เป็นหนึ่งไปเป็นแอททริบิวต์ในอีกรีเลชันหนึ่งที่อยู่ด้านความสัมพันธ์เป็นกลุ่มทั้งนี้กรณีของรีเลชันที่แปลงมาจากคอมโพสิตเอนทิตีจะปรากฏแอททริบิวต์ดังกล่าวอยู่แล้ว
6.4.5.3 หากรีเลชันมีความสัมพันธ์แบบเรียกซ้ำ(Recursive) ให้เพิ่มคีย์หลักของรีเลชันที่อยู่ด้านความสัมพันธ์เป็นหนึ่งไปเป็นแอททริบิวต์ในอีกรีเลชันหนึ่งที่อยู่ด้านที่มีความสัมพันธ์เป็นกลุ่มโดยเปลี่ยนชื่อของแอททริบิวต์นั้นใหม่
ทั้งนี้การกำหนดให้แอททริบิวต์ใดทำหน้าที่เป็นคีย์นอกผู้ออกแบบฐานข้อมูลควรคำนึงถึงกฎแห่งความบูรณภาพของการอ้างอิง (The Referential Integrity Rule) ด้วย
6.4.6 การทำให้รีเลชันมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐาน
ในการออกแบบฐานข้อมูล สิ่งสำคัญที่ผู้ออกแบบฐานข้อมูลควรคำนึงถึงอีกประการหนึ่งก็คือ การทำให้แต่ละรีเลชันมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐาน (Normalization) ที่เหมาะสม การทำตารางข้อมูลให้อยู่ในรูปแบบบรรทัดฐาน หมายถึงการออกแบบตาราง (Relation) ให้เป็นรูปแบบบรรทัดฐาน คือมีความเป็นปรกติไม่ก่อให้เกิดปัญหาข้อมูลขัดแย้ง (Inconsistency) ในที่เก็บต่าง ๆ ปัญหาการเพิ่ม ปรับปรุง และลบข้อมูล (InsertUpdate and Delete Anomalies) ตลอดจนช่วยลดเนื้อที่ในการจัดเก็บข้อมูลให้อยู่ในระดับที่ยอมรับได้อีกด้วยแนวคิดการทำตารางให้อยู่ในรูปแบบบรรทัดฐานนี้ อี.เอฟ.คอดด์ เป็นผู้คิดขึ้นมาเป็นคนแรกเมื่อประมาณปี ค.ศ.1917 กล่าวคือ ได้คิดค้นรูปแบบบรรทัดฐานขั้นที่ 12 และ3แต่ต่อมาพบว่ารูปแบบบรรทัดฐานขั้นที่ 3 มีข้อจำกัดบางอย่างจึงร่วมกันคิดค้นรูปแบบบรรทัดฐานขั้นที่ 3 ใหม่ขึ้นมาในราวปี ค.ศ.1974 กับบอยซ์ จึงนิยมเรียกว่า รูปแบบบรรทัดฐานบอยซ์และคอดด์ (Boyce Codd Normal Form: BCNF) สำหรับรูปแบบบรรทัดฐานขั้นที่ 4และ5 นั้นคิดค้นโดย โรแนลด์ฟาจิน (Ronald Fagin) ในปีค.ศ.1977และ1979ซึ่งโดยทั่วไปการทำให้แต่ละรีเลชันให้มีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานนั้นมักจะทำจนถึงรูปแบบที่เป็นบรรทัดฐานขั้นที่ 3แต่อาจมีบ้างในบางกรณีที่ผู้ออกแบบฐานข้อมูลจำเป็นต้องดำเนินการให้รีเลชันนั้นมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานบอยซ์และคอดด์ คือทำให้รีเลชั่นอยู่ในรูปแบบบรรทัดฐานขั้นที่ 3 และกำหนดให้ดีเทอร์มิแนนต์ (Determinant) ทุก ๆ ตัวเป็นคีย์คู่แข่ง กล่าวง่าย ๆ คือมีมากกว่าหนึ่งฟิลดิ์ที่สามารถเป็นคีย์หลักได้ หรือรูปแบบที่เป็นบรรทัดฐานขั้นที่ 4คือทำให้อยู่ในรูปแบบบรรทัดฐานบอยซ์และคอดด์และจะต้องไม่มีการขึ้นต่อกันเชิงกลุ่มภายในรีเลชันและ5คือทำให้อยู่ในรูปแบบบรรทัดฐานขั้นที่4 และจะต้องไม่มีคุณสมบัติของการขึ้นต่อกันแบบเชื่อมโยง (Join)ทั้งนี้วัตถุประสงค์ของการทำให้แต่ละรีเลชันมีคุณสมบัติอยู่ในรูปแบบที่เป็นบรรทัดฐานที่เหมาะสม คือ เพื่อขจัดปัญหาความซ้ำซ้อนของข้อมูลที่อาจเกิดขึ้นในโครงสร้างข้อมูล ทำให้ข้อมูลมีความถูกต้องและเชื่อถือได้ ซึ่งจะทำให้ไม่เกิดความผิดพลาดกับฐานข้อมูลขึ้นในภายหลัง
6.4.7 ลักษณะและขอบเขตของข้อมูล รวมทั้งข้อจำกัดและกฎเกณฑ์ต่าง ๆ ที่ควรคำนึง
ขั้นตอนนี้เป็นการนำรายละเอียดของระบบงานที่ทำการศึกษาและวิเคราะห์ไว้แล้วมาทำการพิจารณาถึงลักษณะและขอบเขตของข้อมูลที่สามารถจัดเก็บได้ในแต่ละแอททริบิวต์ ตัวอย่างเช่น ประเภทของข้อมูล (Data Type) ขนาดของข้อมูล (Data Length) รูปแบบของข้อมูล (Format) และขอบเขตของข้อมูล (Data Range) เป็นต้น นอกจากนี้ยังพิจารณาถึงข้อจำกัดและกฎเกณฑ์ต่าง ๆ ในการเพิ่ม การลบ หรือการปรับปรุงข้อมูล ซึ่งจะมีผลกระทบต่อการจัดเก็บข้อมูลในแต่ละแอททริบิวต์อีกด้วย ตัวอย่างเช่น ในหนึ่งภาคการศึกษา นิสิตสามารถลงทะเบียนเรียนได้ไม่เกิน 24หน่วยกิต สมาชิกบัตรเครดิตสามารถใช้จ่ายได้ไม่เกินวงเงินที่ได้รับอนุมัติ เป็นต้น
ดังนั้น ในการออกแบบโครงร่างของฐานข้อมูลในระดับแนวคิด ผู้ออกแบบฐานข้อมูลควรทำการระบุรายละเอียดเกี่ยวกับขอบเขตค่าของข้อมูลที่สามารถจัดเก็บได้ในแต่ละแอททริบิวต์ ตลอดจนเงื่อนไขหรือข้อจำกัดและกฎเกณฑ์ต่าง ๆ รวมทั้งผลที่อาจเกิดขึ้นและแอททริบิวต์ที่จะได้รับผลกระทบหากไม่ปฏิบัติตามเงื่อนไขหรือข้อจำกัด หรือกฎเกณฑ์ต่าง ๆ ที่มีการระบุไว้
6.4.8 การรวบรวมและทบทวนการออกแบบฐานข้อมูลในระดับแนวคิด
วัตถุประสงค์ในการรวบรวมและทบทวนโครงร่างจากการออกแบบฐานข้อมูลในระดับแนวคิด คือเพื่อตรวจทานและตรวจสอบสาระสำคัญตลอดจนความขัดแย้ง ความซ้ำซ้อน หรือความไม่ถูกต้องที่อาจเกิดขึ้นทำให้โครงร่างของฐานข้อมูลในระดับแนวคิดมีความถูกต้องสมบูรณ์มากขึ้นเนื่องจากผู้ใช้หลายคนที่มีส่วนร่วมในการออกแบบฐานข้อมูลอาจมีมุมมองเกี่ยวกับข้อมูลเดียวกันแตกต่างกัน ตัวอย่างเช่น ข้อมูลของพนักงานอาจเกี่ยวข้องกับผู้ใช้ฐานข้อมูลหลายคนจากหน่วยงานต่าง ๆ เช่น ฝ่ายบุคคล ฝ่ายการเงินและบัญชี เป็นต้น
นอกจากนี้สิ่งหนึ่งที่ควรต้องพิจารณาในขั้นตอนนี้ คือ ผลกระทบที่อาจเกิดจากปริมาณงานหรือการปรับปรุงเปลี่ยนแปลงระบบงานในอนาคต ตัวอย่างเช่น หากมีรีเลชันใหม่เกิดขึ้นในระบบฐานข้อมูลที่กำลังทำการออกแบบอยู่อาจทำให้ความสัมพันธ์ระหว่างเอนทิตีเปลี่ยนแปลงไปและปริมาณข้อมูลในแต่ละรีเลชันอาจเพิ่มมากขึ้นด้วย เป็นต้น
6.4.9 การนำฐานข้อมูลที่ออกแบบในระดับแนวคิดเข้าสู่ระบบจัดการฐานข้อมูล
ขั้นตอนนี้เป็นการแปลงโครงร่างของฐานข้อมูลที่ได้ทำการออกแบบไว้ในระดับแนวคิดเข้าสู่รูปแบบของข้อมูลในระบบจัดการฐานข้อมูลที่เลือกใช้โดยทำการกำหนดภาษาสำหรับนิยามข้อมูลตามระบบจัดการฐานข้อมูลที่เลือกใช้ให้เป็นไปตามโครงร่างของฐานข้อมูลในระดับแนวคิดที่ออกแบบไว้แล้ว ซึ่งประกอบด้วย 2ขั้นตอน คือการกำหนดโครงสร้างของฐานข้อมูล และการกำหนดการอ้างอิงระหว่างตารางข้อมูล
6.4.10 การกำหนดโครงสร้างของฐานข้อมูล
การกำหนดโครงสร้างของฐานข้อมูลเป็นการกำหนดโครงสร้างของข้อมูลในลักษณะของตารางสองมิติ (Two Dimension) ซึ่งประกอบด้วยสดมภ์ (Column) ซึ่งใช้แทนแอททริบิวต์ และแถว(Roll) ซึ่งใช้แทนความสัมพันธ์ระหว่างแอททริบิวต์ โดยเรียกตารางสองมิตินี้ว่าตารางข้อมูล
ทั้งนี้ตารางข้อมูลจะประกอบด้วยคุณสมบัติต่างๆ ได้แก่ ชื่อแอททริบิวต์ชื่อตารางข้อมูล การกำหนดคุณสมบัติของข้อมูล ได้แก่ ค่าที่เป็นไปได้ ประเภทและขนาดของข้อมูลที่จัดเก็บ เป็นต้น
6.4.11 การกำหนดการอ้างอิงระหว่างตารางข้อมูล
การกำหนดการอ้างอิงระหว่างตารางข้อมูลเป็นการใช้คำสั่งในระบบจัดการฐานข้อมูลที่เลือกทำการกำหนดคีย์ระหว่างตารางข้อมูลที่เกี่ยวข้องกัน โดยต้องพิจารณาถึงคุณสมบัติของคีย์ ค่าของคีย์ ข้อจำกัดและกฎเกณฑ์ของแอททริบิวต์ต่าง ๆ เช่น คีย์หลัก และคีย์นอก โดเมนของแอททริบิวต์ ตลอดจนข้อจำกัดเฉพาะของกฎเกณฑ์ในการปฏิบัติงาน
6.4.12 การออกแบบฐานข้อมูลในระดับกายภาพ
การออกแบบฐานข้อมูลในระดับกายภาพเป็นการนำโครงสร้างตารางข้อมูลที่มีการกำหนดคุณสมบัติหลักไว้แล้วมากำหนดรายละเอียดคุณสมบัติของโครงสร้างที่ใช้ในการจัดเก็บข้อมูลให้ครบถ้วน กำหนดตำแหน่งของฐานข้อมูลที่จะบันทึกลงบนสื่ออิเล็กทรอนิกส์ กำหนดวิธีในการเข้าถึงข้อมูลในฐานข้อมูล ตลอดจนกำหนดรายะเอียดอื่น ๆ ได้แก่ การกำหนดเนื้อที่ในหน่วยความจำเพื่อจัดเก็บตารางต่าง ๆ ในฐานข้อมูล การกำหนดเวลาในการเข้าถึงข้อมูล การกำหนดความปลอดภัยในการเข้าใช้ฐานข้อมูล การควบคุม การเรียกใช้ การแก้ไข การเพิ่มเติม และการกำหนดระดับสิทธิแก่ผู้ใช้ข้อมูลในระบบแต่ละคนด้วย รวมทั้ง ต้องคำนึงถึงการรักษาความปลอดภัยของข้อมูลในเรื่องต่าง ๆ ด้วย เช่น การกู้สภาพเมื่อระบบเกิดล้มเหลว การป้องกันการเกิดภาวะพร้อมกัน เป็นต้น ทั้งนี้เพื่อให้การจัดการฐานข้อมูลดำเนินไปอย่างมีประสิทธิภาพ
การออกแบบฐานข้อมูลในระดับกายภาพจะมีรายละเอียดที่แตกต่างกันขึ้นอยู่กับระบบจัดการฐาน ข้อมูลที่เลือกใช้และฮาร์ดแวร์ของระบบคอมพิวเตอร์ที่ใช้ในการจัดเก็บฐานข้อมูล ทั้งนี้ ปัจจัยสำคัญที่จำเป็นต้องพิจารณาในการออกแบบระบบฐานข้อมูลในระดับกายภาพประกอบด้วย 3ประเด็น คือ ความเร็วในการเรียกใช้ข้อมูล การใช้เนื้อที่ในการจัดเก็บข้อมูล และค่าเฉลี่ยของจำนวนรายการที่ประมวลผลได้ใน หนึ่งนาที
6.4.13 การนำฐานข้อมูลไปใช้และการประเมินผล
หลังจากการออกแบบฐานข้อมูลในระดับกายภาพเสร็จสิ้นลง ซอฟต์แวร์ระบบจัดการฐานข้อมูลจะนำภาษาสำหรับนิยามข้อมูลที่ครบถ้วนสมบูรณ์ไปสร้างเป็นฐานข้อมูลและตารางข้อมูล เพื่อบรรจุข้อมูลลงในระบบฐานข้อมูลสำหรับการใช้งานจริง
เมื่อระบบจัดการฐานข้อมูลทำการสร้างรายละเอียดต่าง ๆ ของฐานข้อมูลที่ถูกออกแบบ เช่น ตารางข้อมูลทั้งหมดในฐานข้อมูล แอททริบิวต์ในแต่ละตารางข้อมูล ระดับสิทธิของผู้ใช้ข้อมูลแต่ละคน เป็นต้น เรียบร้อยแล้วก็จะทำการจัดเก็บรายละเอียดต่าง ๆ เหล่านี้ไว้ในพจนานุกรมข้อมูล (Data Dictionary) ซึ่งผู้บริหารฐานข้อมูลสามารถเรียกดูได้ ทั้งนี้ การทำงานในขั้นตอนนี้จะครอบคลุมถึงการทดสอบประสิทธิภาพในการทำงานของฐานข้อมูล (performance)และการทดสอบการทำงานของฐานข้อมูลที่จัดทำขึ้นก่อนนำไปใช้งานจริงด้วย
จากนั้นจึงเป็นการนำฐานข้อมูลมาใช้งานจริง ซึ่งได้แก่ การเรียกใช้ข้อมูลจากระบบฐานข้อมูลผ่านภาษาสอบถาม (Query Language) และการจัดทำรายงานต่าง ๆ ซึ่งผลจากการทำงานที่เกิดขึ้นจะมีการประเมินและตรวจสอบเพื่อปรับปรุง แก้ไข และบำรุงรักษาฐานข้อมูลในเรื่องต่าง ๆ ได้แก่ การสำรองข้อมูล การกู้ข้อมูลหากระบบฐานข้อมูลมีปัญหา การปรับปรุงประสิทธิภาพการทำงานของฐานข้อมูลให้รวดเร็วขึ้น เป็นต้น