หลักการวิเคราะห์และออกแบบระบบฐานข้อมูล Chapter 3 OOAD
บทที่ 3 สถาปัตยกรรมฐานข้อมูล และโมเดลข้อมูล หัวข้อในการนำเสนอ สถาปัตยกรรมฐานข้อมูล ประโยชน์ของสถาปัตยกรรม 3 ระดับ โมเดลข้อมูล โมเดลฐานข้อมูล บทสรุป OOAD การออกแบบฐานข้อมูลและการบริหารธุรกิจ
สถาปัตยกรรมฐานข้อมูล ระดับภายนอก ระดับตรรกะ ระดับภายใน OOAD การออกแบบฐานข้อมูลและการบริหารธุรกิจ
สถาปัตยกรรมฐานข้อมูล OOAD การออกแบบฐานข้อมูลและการบริหารธุรกิจ
สถาปัตยกรรมฐานข้อมูล ระดับภายนอก ในระดับนี้จะเป็นระดับที่มีการนำข้อมูลจากฐานข้อมูลไปใช้งาน โดยผู้ใช้แต่ละคนซึ่งอาจเป็น ผู้ปฏิบัติการทั่วไปหรือ end user และผู้บริหารระดับสูง จะสามารถเลือกอ่านข้อมูลเฉพาะที่ตนสนใจหรือต้องการใช้เท่านั้นโดยผ่านทางวิว OOAD การออกแบบฐานข้อมูลและการบริหารธุรกิจ
สถาปัตยกรรมฐานข้อมูล ระดับตรรกะ เป็นระดับของการออกแบบฐานข้อมูลโดยนักออกแบบฐานข้อมูลภายใต้ความดูแลของดีบีเอ (DBA) ซึ่งจะเริ่มจากการออกแบบฐานข้อมูลในเชิงความคิด (Conceptual Database Design) ซึ่งจะอยู่ในรูปแบบของแผนภาพ OOAD การออกแบบฐานข้อมูลและการบริหารธุรกิจ
สถาปัตยกรรมฐานข้อมูล ระดับภายใน เป็นระดับของการจัดเก็บฐานข้อมูลในหน่วยเก็บข้อมูลสำรองจริงๆ ในระดับนี้ผู้ใช้งานฐานข้อมูลทั่วไปจะไม่ต้องยุ่งเกี่ยวกับการจัดการข้อมูลในระดับภายในนี้ แต่จะเป็นหน้าที่ของระบบจัดการฐานข้อมูล หรือ DBMS ที่จะทำหน้าที่จัดเก็บข้อมูลไว้ในหน่วยเก็บข้อมูลสำรอง OOAD การออกแบบฐานข้อมูลและการบริหารธุรกิจ
ประโยชน์ของสถาปัตยกรรม 3 ระดับ มุมมองข้อมูลผู้ใช้งาน ระดับภายนอกและระดับตรรกะ ระดับตรรกะและระดับภายใน ความเป็นอิสระกันของข้อมูล OOAD การออกแบบฐานข้อมูลและการบริหารธุรกิจ
ประโยชน์ของสถาปัตยกรรม 3 ระดับ มุมมองข้อมูลผู้ใช้งาน มุมมองข้อมูลของผู้ใช้งาน (View of End User) หมายความว่า ฐานข้อมูลที่มีอยู่ในระบบซึ่งอาจมีเพียงฐานข้อมูลเดียวแต่มีผู้ใช้งานหลายคน ซึ่งแต่ละคนอาจสังกัดแผนกที่ต่างกันและมีความต้องการใช้ข้อมูลที่ไม่เหมือน กัน ตามอำนาจและหน้าที่ที่ได้รับมอบหมาย OOAD การออกแบบฐานข้อมูลและการบริหารธุรกิจ
ประโยชน์ของสถาปัตยกรรม 3 ระดับ มุมมองข้อมูลผู้ใช้งาน ระดับภายนอกและระดับตรรกะ การแม็ปข้อมูลระหว่างระดับภายนอกและระดับตรรกะ จะทำให้ผู้ใช้ฐานข้อมูลสามารถมีมุมมองข้อมูลที่แตกต่างกันได้ OOAD การออกแบบฐานข้อมูลและการบริหารธุรกิจ
ประโยชน์ของสถาปัตยกรรม 3 ระดับ มุมมองข้อมูลผู้ใช้งาน ระดับตรรกะและระดับภายใน การแม็ปข้อมูลระหว่างระดับตรรกะและระดับภายใน จะทำให้ผู้ใช้งานฐานข้อมูลไม่ว่าในระดับตรรกะหรือระดับภายนอก ไม่จำเป็นต้องทราบว่าข้อมูลที่ตนต้องการใช้นั้นถูกจัดเก็บอยู่อย่างไรในดิสก์ เมื่อต้องการใช้ข้อมูลใดไม่ว่าจะเป็นตารางหรือเขตข้อมูล จะสามารถอ้างถึงชื่อตาราง หรือชื่อเขตข้อมูลนั้นได้โดยตรง ซึ่งจะเป็นหน้าที่ของ DBMS ที่จะดูว่าข้อมูลที่ผู้ใช้ต้องการนั้นถูกเก็บอยู่ ณ ตำแหน่งใด (แทร็กที่เท่าใด ไซลินเดอร์ที่เท่าใด) ในดิสก์ แล้วทำการดึงข้อมูลนั้นจากดิสก์มาให้แก่ผู้ใช้ได้ OOAD การออกแบบฐานข้อมูลและการบริหารธุรกิจ
ประโยชน์ของสถาปัตยกรรม 3 ระดับ ความเป็นอิสระกันของข้อมูล ระดับภายนอกและระดับตรรกะ การเปลี่ยนแปลงฐานข้อมูลในระดับตรรกะ ไม่ว่าจะเป็นการเพิ่มตาราง การเพิ่มเขตข้อมูล หรือ การเปลี่ยนแปลงขนาดของเขตข้อมูล จะไม่มีผลกระทบกับโปรแกรมประยุกต์ ที่ผู้ใช้เขียนขึ้นในระดับภายนอก OOAD การออกแบบฐานข้อมูลและการบริหารธุรกิจ
ประโยชน์ของสถาปัตยกรรม 3 ระดับ ความเป็นอิสระกันของข้อมูล ระดับตรรกะและระดับภายใน การแม็ปข้อมูลระดับตรรกะและระดับภายใน ยังทำให้เกิดความเป็นอิสระกันของข้อมูลเกิดขึ้นด้วย เนื่อง จากถ้าระดับภายในมีการเปลี่ยนแปลงวิธีการจัดเก็บข้อมูลในดิสก์ OOAD การออกแบบฐานข้อมูลและการบริหารธุรกิจ
โมเดลข้อมูล โมเดลข้อมูลเชิงแนวความคิด โมเดลข้อมูลเชิงตรรกะ โมเดลข้อมูลเชิงกายภาพ OOAD การออกแบบฐานข้อมูลและการบริหารธุรกิจ
โมเดลข้อมูล โมเดลข้อมูลเชิงแนวความคิด เอนติตี ความสัมพันธ์ระหว่างเอนติตี ความสัมพันธ์แบบหนึ่ง-ต่อ-หนึ่ง ความสัมพันธ์แบบหนึ่ง-ต่อ-กลุ่ม ความสัมพันธ์แบบกลุ่ม-ต่อ-กลุ่ม OOAD การออกแบบฐานข้อมูลและการบริหารธุรกิจ
ตัวอย่างการแสดงโมเดลเชิงแนวความคิดในรูปแบบของโมเดลแบบ E-R OOAD การออกแบบฐานข้อมูลและการบริหารธุรกิจ
โมเดลข้อมูล โมเดลข้อมูลเชิงตรรกะ OOAD การออกแบบฐานข้อมูลและการบริหารธุรกิจ
โมเดลข้อมูล โมเดลข้อมูลเชิงกายภาพ โมเดลข้อมูลเชิงกายภาพจะถูกสร้างขึ้นหลังจากโมเดลข้อมูลเชิงตรรกะถูกสร้างเสร็จแล้ว โมเดลข้อมูลชนิดนี้จะถูกใช้สำหรับการออกแบบรูปแบบของข้อมูล เช่น ชนิดข้อมูล (Data Types) และ ขนาดข้อมูล (Data Sizes) ที่จะถูกจัดเก็บไว้ในฐานข้อมูลรวมถึงการระบุความสัมพันธ์ระหว่างข้อมูล การกำหนดรูปแบบโมเดลข้อมูลชนิดนี้ขึ้นกับระบบจัดการฐานข้อมูลที่ติดตั้งด้วย นอกจากรูปแบบข้อมูลดังกล่าวแล้ว การออกแบบโมเดลข้อมูลเชิงกายภาพยังรวมถึง การเลือกเขตข้อมูลเพื่อนำมาสร้างเป็นดัชนี (index) เพื่อเพิ่มประสิทธิภาพในการค้นหาข้อมูลในแต่ละตาราง (สำหรับโมเดลฐานข้อมูลเชิงสัมพันธ์) และการจัดคลัสเตอร์สำหรับแต่ละดัชนี เป็นต้น OOAD การออกแบบฐานข้อมูลและการบริหารธุรกิจ
โมเดลฐานข้อมูล โมเดลฐานข้อมูล คือ โมเดลข้อมูลเชิงตรรกะ ที่ใช้ในการแสดงโครงสร้างของข้อมูลและความสัมพันธ์ระหว่างข้อมูลที่ถูกจัดเก็บไว้ในฐานข้อมูล โดยจะเป็นโมเดลที่เกิดจากการแปลงโครงสร้างข้อมูลจากโมเดลระดับความคิดไปสู่โมเดลสำหรับการใช้งานฐานข้อมูลจริง โมเดลฐานข้อมูลจะเป็นโมเดลที่ขึ้นกับระบบจัดการฐานข้อมูลที่เลือกใช้ว่าเป็นแบบใด ตัวอย่างของโมเดลฐานข้อมูลที่มีใช้งานกันอยู่ในปัจจุบัน ได้แก่ โมเดลฐานข้อมูลเชิงลำดับชั้น โมเดลฐานข้อมูลแบบข่ายงาน โมเดลฐานข้อมูลเชิงสัมพันธ์ และโมเดลฐานข้อมูลเชิงออบเจ็กต์ เป็นต้น OOAD การออกแบบฐานข้อมูลและการบริหารธุรกิจ
โมเดลฐานข้อมูล โมเดลฐานข้อมูลเชิงลำดับชั้น โมเดลฐานข้อมูลแบบข่ายงาน โมเดลฐานข้อมูลเชิงสัมพันธ์ โมเดลฐานข้อมูลเชิงออบเจ็กต์ โมเดลฐานข้อมูลแบบอื่นๆ OOAD การออกแบบฐานข้อมูลและการบริหารธุรกิจ
โมเดลฐานข้อมูล โมเดลฐานข้อมูลเชิงลำดับชั้น OOAD การออกแบบฐานข้อมูลและการบริหารธุรกิจ
โมเดลฐานข้อมูล โมเดลฐานข้อมูลเชิงลำดับชั้น ข้อดี ของโมเดลฐานข้อมูลแบบลำดับชั้นคือ การมีโครงสร้างที่ง่ายต่อการทำความเข้าใจ และการออกแบบ นอกจากนี้ถ้าฐานข้อมูลประกอบด้วยข้อมูลปริมาณมาก การค้นหากลุ่มข้อมูลในระเบียนลูก จากระเบียนพ่อแม่จะมีประสิทธิภาพมาก ข้อเสียของโมเดลแบบนี้คือ นอกจากการไม่สนับสนุนความสัมพันธ์แบบ M:N แล้ว โมเดลแบบนี้ยังมีความซับซ้อนต่อการพัฒนาระบบเพื่อการใช้งานจริง นักเขียนโปรแกรมจะต้องมีความรู้เกี่ยวกับโครงสร้างทางกายภาพ ของฐานข้อมูลและหน่วยเก็บข้อมูล นอกจากนี้ ยังมีความยุ่งยากในการจัดการฐานข้อมูลเมื่อมีการเปลี่ยนแปลงโครงสร้างของฐานข้อมูล ฐานข้อมูลแบบนี้จึงไม่เป็นที่นิยมในปัจจุบัน OOAD การออกแบบฐานข้อมูลและการบริหารธุรกิจ
โมเดลฐานข้อมูล โมเดลฐานข้อมูลแบบข่ายงาน OOAD การออกแบบฐานข้อมูลและการบริหารธุรกิจ
โมเดลฐานข้อมูล ข้อดีของโมเดลฐานข้อมูลแบบข่ายงาน สามารถสรุปได้ดังนี้ การมีโครงสร้างที่ง่ายต่อความเข้าใจ และการออกแบบฐานข้อมูล เป็นโมเดลที่สามารถชดเชยข้อบกพร่องของโมเดลเชิงลำดับชั้น โดยสามารถจัดการกับความสัมพันธ์ที่ซับซ้อนได้ ตัวอย่างเช่น ความสัมพันธ์ระหว่างสินค้าและลูกค้าที่เป็นแบบ M:N โดยสินค้าหนึ่งชนิดจะสามารถถูกซื้อโดยลูกค้าได้หลายคน และลูกค้าหนึ่งคนก็สามารถซื้อสินค้าได้หลายชนิด โดยผ่านทางความสัมพันธ์ระหว่างใบเสร็จและรายละเอียดการขายแทน ซึ่งเป็นรูปแบบของการมีระเบียนเจ้าของมากกว่าหนึ่ง มีความยืดหยุ่นในการค้นหาข้อมูลมากกว่าโมเดลเชิงลำดับชั้น โดยสามารถเขียนโปรแกรมประยุกต์เพื่อดึงข้อมูลระเบียนเจ้าของและระเบียนสมาชิกทั้งหมดของระเบียนเจ้าของนั้นได้ และนอกจากนี้ถ้าระเบียนสมาชิกมีเจ้าของมากกว่าหนึ่ง การค้นหาข้อมูลระเบียนเจ้าของยังสามารถค้นจากระเบียนเจ้าของหนึ่งไปอีกระเบียนเจ้าของหนึ่งได้ทันที OOAD การออกแบบฐานข้อมูลและการบริหารธุรกิจ
โมเดลฐานข้อมูล ข้อเสียของโมเดลฐานข้อมูลแบบข่ายงาน สามารถสรุปได้ดังนี้ ระบบยังมีความซับซ้อนมากต่อการใช้งาน โดยทั้งโมเดลเชิงลำดับชั้นและแบบข่ายงานนี้ไม่ได้ถูกออกแบบเพื่อให้มีความง่ายต่อการใช้งาน ดังนั้น ผู้ออกแบบระบบ นักเขียนโปรแกรม และผู้ใช้งานฐานข้อมูลจำเป็นต้องมีความรู้และคุ้นเคยต่อโครงสร้างภายในของฐานข้อมูล จึงจะสามารถค้นหาข้อมูล หรือใช้งานฐานข้อมูลได้ การขาดความเป็นอิสระทางด้านโครงสร้าง ฐานข้อมูลแบบข่ายงานจะมีความยุ่งยากต่อการเปลี่ยนแปลงโครงสร้างมาก และการเปลี่ยนแปลงโครงสร้างแต่ละครั้ง จะต้องมีการปรับปรุงโปรแกรมประยุกต์ทั้งหมดด้วย OOAD การออกแบบฐานข้อมูลและการบริหารธุรกิจ
โมเดลฐานข้อมูล โมเดลฐานข้อมูลเชิงสัมพันธ์ ตัวอย่างฐานข้อมูลเชิงสัมพันธ์ ความสัมพันธ์ระหว่างเอนติตี OOAD การออกแบบฐานข้อมูลและการบริหารธุรกิจ
แสดงตัวอย่างการเก็บข้อมูลในฐานข้อมูลเชิงสัมพันธ์ OOAD การออกแบบฐานข้อมูลและการบริหารธุรกิจ
โมเดลฐานข้อมูล โมเดลฐานข้อมูลเชิงออบเจ็กต์ OOAD การสืบทอดคุณสมบัติและเมธอดจากซูเปอร์คลาสไปยังสับคลาส การออกแบบฐานข้อมูลและการบริหารธุรกิจ
โมเดลฐานข้อมูลเชิงออบเจ็กต์ ข้อดีของโมเดลฐานข้อมูลเชิงออบเจ็กต์ มีความง่ายต่อการโมเดลและจัดการข้อมูลที่มีประเภทข้อมูลที่ซับซ้อน ผ่านทาง OODBMS โดยไม่ต้องยุ่งยากในการสร้างโปรแกรมประยุกต์เพื่อการจัดการโดยเฉพาะ จากคุณลักษณะที่สำคัญของโมเดลเชิงออบเจ็กต์คือ การสืบทอด (Inheritance) ทำให้ลดการเก็บข้อมูลที่มีความซ้ำซ้อนกันในฐานข้อมูล ซึ่งจะส่งผลให้ฐานข้อมูลมีความคงสภาพ (Database Integrity) และลดความขัดแย้งกันของข้อมูล (Data Consistency) ที่อาจจะเกิดขึ้นได้ มีความเป็นอิสระทั้งทางด้านข้อมูลและโครงสร้าง (Structural and data independence) OOAD การออกแบบฐานข้อมูลและการบริหารธุรกิจ
โมเดลฐานข้อมูลเชิงออบเจ็กต์ ข้อเสียของโมเดลฐานข้อมูลเชิงออบเจ็กต์ เนื่องจากโมเดลฐานข้อมูลเชิงออบเจ็กต์นี้ยังถือว่าเป็นเทคโนโลยีใหม่ ที่มีแนวความคิดที่ต่างจากโมเดลแบบอื่น การออกแบบและโมเดลออบเจ็กต์ รวมไปถึงการพัฒนาระบบเพื่อการใช้งานจริง จะมองเหมือนเป็นเรื่องที่ยากสำหรับผู้ที่ไม่คุ้นเคย จึงทำให้ต้องใช้เวลาในศึกษาและทำความเข้าใจมากสำหรับนักเขียนโปรแกรม และจะยิ่งยากสำหรับผู้ใช้งานที่ไม่คุ้นเคย มีความต้องการฮาร์ดแวร์และซอฟต์แวร์ที่มีประสิทธิภาพสูง เนื่องจากระบบที่มีความซับซ้อนอาจทำให้การประมวลผลทำได้ช้าเมื่อเทียบกับโมเดลแบบอื่น OOAD การออกแบบฐานข้อมูลและการบริหารธุรกิจ
โมเดลฐานข้อมูล โมเดลฐานข้อมูลแบบอื่นๆ โมเดลฐานข้อมูลแบบกระจาย โมเดลฐานข้อมูลบนเครือข่ายอินเตอร์เนต OOAD การออกแบบฐานข้อมูลและการบริหารธุรกิจ
บทสรุป การออกแบบสถาปัตยกรรมของฐานข้อมูลจะมีอยู่ 3 ระดับ ได้แก่ ระดับภายนอก ระดับตรรกะ และระดับภายในหรือกายภาพ แต่ละระดับจะมี DBMS ทำหน้าที่ในการแม็ปหรือแปลระดับข้อมูลจากระดับหนึ่งไปสู่อีกระดับหนึ่ง ซึ่งทำให้เกิดประโยชน์ในหลายด้าน เช่น การแปลระหว่างระดับภายนอกและระดับตรรกะ จะทำให้สามารถสร้างมุมมองของข้อมูลที่แตกต่างกันให้กับผู้ใช้งานแต่ละคนได้ นอกจากนี้ยังทำให้เกิดความเป็นอิสระกันของข้อมูลและโปรแกรมประยุกต์ สำหรับการแปลระหว่างระดับตรรกะและระดับภายใน จะทำให้ผู้ใช้งานแต่ละคนไม่จำเป็นต้องทราบว่าข้อมูลที่ตนต้องการใช้นั้น มีการเก็บอยู่อย่างไรในทางกายภาพ นอกจากนี้ การเปลี่ยนแปลงวิธีการจัดเก็บข้อมูลในระดับกายภาพ ก็จะไม่มีผลกระทบต่อการออกแบบฐานข้อมูลในระดับตรรกะแต่อย่างใด OOAD การออกแบบฐานข้อมูลและการบริหารธุรกิจ