2.1. การออกแบบเชิงแนวคิด
การออกแบบฐานข้อมูลดำเนินการในสามขั้นตอน:
- การออกแบบเชิงแนวคิด
- การออกแบบเชิงตรรกะ
- การออกแบบทางกายภาพ
จุดประสงค์ของ ขั้นตอนการออกแบบแนวคิดคือการสร้างแบบจำลองข้อมูลเชิงแนวคิดตามแนวคิดของผู้ใช้เกี่ยวกับสาขาวิชา เพื่อให้บรรลุผล มีการดำเนินการตามลำดับขั้นตอน ตัวอย่างของสคีมาเอนทิตี (แนวคิด):
![](https://cdn.codegym.cc/images/article/f8e01a34-8cc9-49cd-a834-2941721c4c08/800.jpeg)
1. คำจำกัดความของเอนทิตีและเอกสารประกอบ ในการระบุเอนทิตี วัตถุถูกกำหนดให้มีอยู่อย่างเป็นอิสระจากสิ่งอื่น วัตถุดังกล่าวเป็นตัวตน แต่ละเอนทิตีจะได้รับชื่อที่มีความหมายซึ่งผู้ใช้สามารถเข้าใจได้ ชื่อและคำอธิบายของเอนทิตีถูกป้อนลงในพจนานุกรมข้อมูล หากเป็นไปได้ จำนวนอินสแตนซ์ที่คาดหวังของแต่ละเอนทิตีจะถูกตั้งค่า
2. การกำหนดความสัมพันธ์ระหว่างหน่วยงานและเอกสารประกอบ เฉพาะความสัมพันธ์ระหว่างเอนทิตีเท่านั้นที่กำหนดที่จำเป็นเพื่อให้เป็นไปตามข้อกำหนดการออกแบบฐานข้อมูล มีการกำหนดประเภทของแต่ละประเภท มีการเปิดเผยคลาสสมาชิกของเอนทิตี ลิงก์ถูกกำหนดชื่อที่มีความหมายซึ่งแสดงโดยคำกริยา คำอธิบายโดยละเอียดของการเชื่อมต่อแต่ละรายการ ซึ่งระบุประเภทและระดับของการเป็นสมาชิกของเอนทิตีที่เข้าร่วมในการเชื่อมต่อ จะถูกป้อนลงในพจนานุกรมข้อมูล
3. การสร้างแบบจำลอง ER ของสาขาวิชา แผนภาพ ER ใช้เพื่อแสดงถึงเอนทิตีและความสัมพันธ์ระหว่างกัน ภาพวิชวลเดียวของสาขาวิชาที่จำลองจะถูกสร้างขึ้น - แบบจำลอง ER ของสาขาวิชา
4. คำจำกัดความของแอตทริบิวต์และเอกสารประกอบ แอตทริบิวต์ทั้งหมดที่อธิบายถึงเอนทิตีของแบบจำลอง ER ที่สร้างขึ้นจะถูกเปิดเผย แอตทริบิวต์แต่ละรายการมีชื่อที่มีความหมายซึ่งผู้ใช้เข้าใจได้ ข้อมูลต่อไปนี้ถูกจัดเก็บไว้ในพจนานุกรมข้อมูลสำหรับแต่ละแอตทริบิวต์:
- ชื่อแอตทริบิวต์และคำอธิบาย
- ประเภทและมิติของค่า
- ค่าเริ่มต้นสำหรับแอตทริบิวต์ (ถ้ามี);
- แอตทริบิวต์สามารถมีค่า NULL หรือไม่
- แอตทริบิวต์เป็นแบบผสมหรือไม่ และถ้าใช่ แอตทริบิวต์แบบง่ายประกอบด้วยอะไรบ้าง ตัวอย่างเช่น แอตทริบิวต์ "ชื่อเต็มของลูกค้า" สามารถประกอบด้วยแอตทริบิวต์อย่างง่าย "นามสกุล", "ชื่อ", "นามสกุล" หรืออาจเป็นแบบธรรมดาโดยมีค่าเดียว เช่น "Sidorsky Evgeniy Mikhailovich" หากผู้ใช้ไม่จำเป็นต้องเข้าถึงองค์ประกอบแต่ละส่วนของ "ชื่อ" แสดงว่าแอตทริบิวต์นั้นแสดงอย่างง่าย
- มีการคำนวณแอตทริบิวต์หรือไม่และหากเป็นเช่นนั้นจะคำนวณค่าอย่างไร
5. คำจำกัดความของค่าแอตทริบิวต์และเอกสารประกอบ สำหรับแต่ละแอตทริบิวต์ของเอนทิตีที่เข้าร่วมในแบบจำลอง ER จะมีการกำหนดชุดของค่าที่ถูกต้องและกำหนดชื่อให้ ตัวอย่างเช่น แอตทริบิวต์ "ประเภทบัญชี" สามารถมีค่า "เงินฝาก", "ปัจจุบัน", "ตามความต้องการ", "บัญชีบัตร" เท่านั้น รายการพจนานุกรมข้อมูลที่เกี่ยวข้องกับแอตทริบิวต์ได้รับการอัพเดตด้วยชื่อของชุดค่าแอตทริบิวต์
6. คำจำกัดความของคีย์หลักสำหรับเอนทิตีและเอกสารประกอบ ขั้นตอนนี้ได้รับคำแนะนำจากคำจำกัดความของคีย์หลัก - เป็นแอตทริบิวต์หรือชุดของแอตทริบิวต์ของเอนทิตีที่อนุญาตให้ระบุอินสแตนซ์ที่ไม่ซ้ำกัน ข้อมูลคีย์หลักจะอยู่ในพจนานุกรมข้อมูล
7. การอภิปรายแบบจำลองข้อมูลเชิงแนวคิดกับผู้ใช้ปลายทาง แบบจำลองข้อมูลเชิงแนวคิดแสดงโดยแบบจำลอง ER พร้อมเอกสารประกอบที่มีคำอธิบายของแบบจำลองข้อมูลที่พัฒนาขึ้น หากพบความไม่สอดคล้องกันของโดเมน การเปลี่ยนแปลงจะเกิดขึ้นกับโมเดลจนกว่าผู้ใช้จะยืนยันว่าโมเดลที่เสนอนั้นสะท้อนมุมมองส่วนตัวของพวกเขาอย่างเพียงพอ
2.2 การออกแบบลอจิก
จุดประสงค์ของขั้นตอนการออกแบบเชิงตรรกะคือการแปลงแบบจำลองแนวคิดตามแบบจำลองข้อมูลที่เลือกให้เป็นแบบจำลองเชิงตรรกะที่ไม่ขึ้นกับคุณลักษณะของ DBMS ที่ใช้ภายหลังสำหรับการใช้งานทางกายภาพของฐานข้อมูล เพื่อให้บรรลุเป้าหมายได้ดำเนินการตามขั้นตอนต่อไปนี้
ตัวอย่างของสกีมาฐานข้อมูลเชิงตรรกะ
![](https://cdn.codegym.cc/images/article/1909a097-a8bd-47be-b164-6fb55d1af2b0/1024.jpeg)
1. การเลือกแบบจำลองข้อมูล ส่วนใหญ่มักจะเลือกแบบจำลองข้อมูลเชิงสัมพันธ์เนื่องจากความชัดเจนของการนำเสนอข้อมูลแบบตารางและความสะดวกในการทำงานกับพวกเขา
2. การกำหนดชุดของตารางตามแบบจำลอง ER และจัดทำเอกสาร ตารางถูกสร้างขึ้นสำหรับแต่ละเอนทิตีของแบบจำลอง ER ชื่อเอนทิตีคือชื่อของตาราง ความสัมพันธ์ระหว่างตารางถูกสร้างขึ้นผ่านกลไกของคีย์หลักและคีย์ต่างประเทศ โครงสร้างของตารางและความสัมพันธ์ที่สร้างขึ้นระหว่างพวกเขาได้รับการบันทึกไว้
3. การทำให้เป็นมาตรฐานของตาราง ผู้ออกแบบจะต้องเข้าใจความหมายและรูปแบบการใช้งานของข้อมูลอย่างลึกซึ้ง ในขั้นตอนนี้ เขาตรวจสอบความถูกต้องของโครงสร้างของตารางที่สร้างขึ้นในขั้นตอนก่อนหน้า โดยใช้ขั้นตอนการทำให้เป็นมาตรฐานกับตารางเหล่านั้น ประกอบด้วยการนำแต่ละตารางไปยัง NF ที่ 3 เป็นอย่างน้อย จากผลของการทำให้เป็นมาตรฐานทำให้ได้รับการออกแบบฐานข้อมูลที่ยืดหยุ่นมากซึ่งทำให้ง่ายต่อการสร้างส่วนขยายที่จำเป็น
4. การตรวจสอบโมเดลข้อมูลเชิงตรรกะสำหรับความเป็นไปได้ในการดำเนินธุรกรรมทั้งหมดที่ได้รับจากผู้ใช้ ธุรกรรมคือชุดของการกระทำที่ดำเนินการโดยผู้ใช้แต่ละคนหรือโปรแกรมแอปพลิเคชันเพื่อเปลี่ยนแปลงเนื้อหาของฐานข้อมูล ดังนั้น ตัวอย่างของการทำธุรกรรมในโครงการ BANK อาจเป็นการโอนสิทธิ์ในการจัดการบัญชีของลูกค้าบางรายไปยังลูกค้ารายอื่น ในกรณีนี้ จำเป็นต้องทำการเปลี่ยนแปลงหลายอย่างกับฐานข้อมูลพร้อมกัน หากคอมพิวเตอร์ขัดข้องระหว่างการทำธุรกรรม ฐานข้อมูลจะอยู่ในสถานะที่ไม่สอดคล้องกัน เนื่องจากมีการเปลี่ยนแปลงบางอย่างเกิดขึ้นแล้ว และบางอย่างไม่ได้ทำ ดังนั้น การเปลี่ยนแปลงบางส่วนทั้งหมดจะต้องถูกยกเลิกเพื่อให้ฐานข้อมูลกลับสู่สถานะที่สอดคล้องกันก่อนหน้านี้
รายการธุรกรรมถูกกำหนดโดยการกระทำของผู้ใช้ในหัวเรื่อง การใช้แบบจำลอง ER พจนานุกรมข้อมูล และความสัมพันธ์ที่สร้างขึ้นระหว่างคีย์หลักและคีย์นอก ความพยายามในการดำเนินการเข้าถึงข้อมูลที่จำเป็นทั้งหมดด้วยตนเอง หากการดำเนินการด้วยตนเองล้มเหลว โมเดลข้อมูลเชิงตรรกะที่คอมไพล์จะไม่เพียงพอและมีข้อผิดพลาดที่ต้องกำจัด บางทีอาจเกี่ยวข้องกับช่องว่างในแบบจำลองของเอนทิตี ความสัมพันธ์ หรือแอตทริบิวต์
5. การกำหนดข้อกำหนดการสนับสนุนความสมบูรณ์ของข้อมูลและเอกสารประกอบ ข้อกำหนดเหล่านี้เป็นข้อจำกัดที่มีไว้เพื่อป้องกันไม่ให้ป้อนข้อมูลที่ขัดแย้งกันลงในฐานข้อมูล ในขั้นตอนนี้ จะกล่าวถึงปัญหาความสมบูรณ์ของข้อมูลโดยไม่คำนึงถึงลักษณะเฉพาะของการใช้งาน ควรพิจารณาข้อจำกัดประเภทต่อไปนี้:
- ข้อมูลที่จำเป็น ค้นหาว่ามีแอตทริบิวต์ที่ไม่สามารถมีค่า NULL หรือไม่
- ข้อ จำกัด เกี่ยวกับค่าแอตทริบิวต์ มีการกำหนดค่าที่ถูกต้องสำหรับแอตทริบิวต์
- ความสมบูรณ์ของเอนทิตี สามารถทำได้หากคีย์หลักของเอนทิตีไม่มีค่า NULL
- ความสมบูรณ์ของการอ้างอิง เป็นที่เข้าใจกันว่าค่าคีย์นอกต้องอยู่ในคีย์หลักของหนึ่งในแถวของตารางสำหรับเอนทิตีหลัก
- ข้อ จำกัด ที่กำหนดโดยกฎทางธุรกิจ ตัวอย่างเช่น ในกรณีของโครงการ BANK อาจมีการนำกฎที่ห้ามลูกค้าจัดการ เช่น บัญชีมากกว่าสามบัญชี
ข้อมูลเกี่ยวกับข้อจำกัดด้านความสมบูรณ์ของข้อมูลที่กำหนดไว้ทั้งหมดจะอยู่ในพจนานุกรมข้อมูล
6. การสร้างแบบจำลองข้อมูลเชิงตรรกะเวอร์ชันสุดท้ายและการพูดคุยกับผู้ใช้ ขั้นตอนนี้เตรียมรุ่นสุดท้ายของแบบจำลอง ER ซึ่งแสดงถึงแบบจำลองข้อมูลเชิงตรรกะ ตัวแบบเองและเอกสารที่อัปเดต รวมถึงพจนานุกรมข้อมูลและสคีมาลิงก์ตารางเชิงสัมพันธ์ จะถูกนำเสนอเพื่อตรวจสอบและวิเคราะห์โดยผู้ใช้ ซึ่งต้องตรวจสอบให้แน่ใจว่าแสดงถึงสาขาวิชาได้อย่างถูกต้อง
2.3. การออกแบบทางกายภาพ
จุดประสงค์ของขั้นตอนการออกแบบทางกายภาพคือเพื่ออธิบายการใช้งานเฉพาะของฐานข้อมูลที่อยู่ในหน่วยความจำภายนอกของคอมพิวเตอร์ นี่คือรายละเอียดของโครงสร้างการจัดเก็บข้อมูลและวิธีการที่มีประสิทธิภาพในการเข้าถึงข้อมูลฐานข้อมูล ในการออกแบบเชิงตรรกะ พวกเขาตอบคำถาม - สิ่งที่ต้องทำ และในการออกแบบเชิงกายภาพ - มีการเลือกวิธีที่จะทำ ขั้นตอนการออกแบบทางกายภาพมีดังนี้
1. การออกแบบตารางฐานข้อมูลโดยใช้ DBMS ที่เลือก DBMS เชิงสัมพันธ์ถูกเลือกเพื่อใช้สร้างฐานข้อมูลที่โฮสต์บนสื่อของเครื่อง ฟังก์ชันการออกแบบตารางได้รับการศึกษาอย่างลึกซึ้ง จากนั้นจึงทำการออกแบบตารางและรูปแบบการเชื่อมต่อในสภาพแวดล้อม DBMS โครงการฐานข้อมูลที่เตรียมไว้ได้อธิบายไว้ในเอกสารประกอบ
2. การดำเนินการตามกฎทางธุรกิจในสภาพแวดล้อมของ DBMS ที่เลือก การอัปเดตข้อมูลในตารางอาจถูกจำกัดโดยกฎทางธุรกิจ วิธีดำเนินการขึ้นอยู่กับ DBMS ที่เลือก ระบบบางระบบสำหรับการดำเนินการตามข้อกำหนดของสาขาวิชานั้นมีคุณสมบัติที่มากกว่า แต่บางระบบจะน้อยกว่า ในบางระบบ ไม่มีการสนับสนุนสำหรับการใช้กฎทางธุรกิจเลย ในกรณีนี้ แอปพลิเคชันได้รับการพัฒนาเพื่อใช้ข้อจำกัด
การตัดสินใจทั้งหมดที่เกี่ยวข้องกับการดำเนินการตามกฎธุรกิจของโดเมนได้อธิบายไว้โดยละเอียดในเอกสารประกอบ
3. การออกแบบองค์กรทางกายภาพของฐานข้อมูล ขั้นตอนนี้เลือกการจัดระเบียบไฟล์ที่ดีที่สุดสำหรับตาราง ธุรกรรมที่จะดำเนินการในฐานข้อมูลที่ออกแบบจะถูกระบุ และเน้นย้ำรายการที่สำคัญที่สุด มีการวิเคราะห์ปริมาณงานของธุรกรรม - จำนวนของธุรกรรมที่สามารถประมวลผลในช่วงเวลาที่กำหนด และเวลาตอบสนอง - ระยะเวลาที่จำเป็นสำหรับการทำธุรกรรมหนึ่งรายการให้เสร็จสมบูรณ์ พวกเขามุ่งมั่นที่จะเพิ่มปริมาณงานในการทำธุรกรรมและลดเวลาตอบสนอง
ตามตัวบ่งชี้เหล่านี้ การตัดสินใจจะดำเนินการเพื่อเพิ่มประสิทธิภาพการทำงานของฐานข้อมูลโดยการกำหนดดัชนีในตารางที่เพิ่มความเร็วในการเลือกข้อมูลจากฐานข้อมูล หรือโดยการลดข้อกำหนดสำหรับระดับของการทำให้เป็นมาตรฐานของตาราง มีการประมาณพื้นที่ดิสก์ที่จำเป็นเพื่อรองรับฐานข้อมูลที่สร้างขึ้น พยายามลดมันให้เหลือน้อยที่สุด
การตัดสินใจในประเด็นข้างต้นได้รับการบันทึกไว้
4. การพัฒนากลยุทธ์การป้องกันฐานข้อมูล ฐานข้อมูลเป็นทรัพยากรที่มีค่าขององค์กร และให้ความสำคัญกับการปกป้องเป็นอย่างมาก ในการทำเช่นนี้ ผู้ออกแบบต้องมีความเข้าใจที่สมบูรณ์และชัดเจนเกี่ยวกับการป้องกันทั้งหมดที่มีให้โดย DBMS ที่เลือก
5. องค์กรของการตรวจสอบการทำงานของฐานข้อมูลและการปรับ หลังจากสร้างโครงการทางกายภาพของฐานข้อมูลแล้วจะมีการจัดระเบียบการตรวจสอบการทำงานอย่างต่อเนื่อง ข้อมูลผลลัพธ์เกี่ยวกับระดับประสิทธิภาพของฐานข้อมูลจะถูกใช้เพื่อปรับแต่ง สำหรับสิ่งนี้ หมายความของ DBMS ที่เลือกเข้ามาเกี่ยวข้องด้วย
การตัดสินใจเปลี่ยนแปลงฐานข้อมูลที่ใช้งานได้ควรได้รับการพิจารณาและชั่งน้ำหนักอย่างละเอียดถี่ถ้วน