Chapter 3 : แบบจำลองฐานข้อมูล (Data Model) ระบบฐานข้อมูล
วัตถุประสงค์ ความหมายของแบบจำลองข้อมูล วัตถุประสงค์ของแบบจำลองข้อมูล ประเภทของแบบจำลองข้อมูล คุณสมบัติของแบบจำลองข้อมูลที่ดี แบบจำลองฐานข้อมูล (Data Model)
แบบจำลองฐานข้อมูล (Data Model) ความหมายของแบบจำลองข้อมูล แบบจำลองข้อมูล คือ โครงสร้างข้อมูลระดับตรรกะที่นำเสนอข้อมูลและความสัมพันธ์ระหว่างข้อมูลให้ผู้ใช้เห็นและเข้าใจได้ แบบจำลองข้อมูล คือ เทคนิคที่นำมาใช้จัดการโครงสร้างและความสัมพันธ์ระหว่างข้อมูลในระบบ แบบจำลองข้อมูล = แบบจำลองฐานข้อมูล
แบบจำลองฐานข้อมูล (Data Model) วัตถุประสงค์ของแบบจำลองข้อมูล เพื่อนำแนวคิดต่าง ๆ มาเสนอให้เกิดเป็นแบบจำลอง เพื่อนำเสนอข้อมูลและความสัมพันธ์ระหว่างข้อมูลในรูปแบบที่เข้าใจง่าย เพื่อใช้ในการสื่อสารระหว่างผู้ออกแบบฐานข้อมูลกับผู้ใช้ให้ตรงกัน
ประเภทของแบบจำลองข้อมูล ประเภทของแบบจำลองข้อมูล แบ่งออกเป็น 2 ประเภท คือ 1. Conceptual Models คือ แบบจำลองแนวคิดที่ใช้พรรณนาลักษณะโดยรวมของข้อมูลทั้งหมดในระบบ โดยนำเสนอในลักษณะของแผนภาพ ซึ่งประกอบด้วยเอนทีตีต่าง ๆ และความสัมพันธ์ โดยแบบจำลองเชิงแนวคิดนี้ต้องการนำเสนอให้เกิดความเข้าใจระหว่างผู้ออกแบบและผู้ใช้งาน คือเมื่อเห็นภาพแบบจำลองดังกล่าวก็จะทำให้เข้าถึงข้อมูลชนิดต่าง ๆ 2. Implementation Models เป็นแบบจำลองที่อธิบายถึงโครงสร้างของฐานข้อมูล
คุณสมบัติของแบบจำลองข้อมูลที่ดี 1. ง่ายต่อความเข้าใจ 2. มีสาระสำคัญและไม่ซ้ำซ้อน หมายถึง แอตทริบิวต์ในแต่ละเอนทีตี้ไม่ควรมีข้อมูลซ้ำซ้อน 3. มีความยืดหยุ่นและง่ายต่อการปรับปรุงในอนาคต กล่าวคือแบบจำลองข้อมูลที่ดีไม่ควรขึ้นอยู่กับแอปพลิเคชันโปรแกรม และสนับสนุนการเปลี่ยนแปลงในโครงสร้าง ซึ่งจะไม่ส่งผลกระทบต่อโปรแกรมที่ใช้งานอยู่ นั่นคือความเป็นอิสระในข้อมูล
แบบจำลองฐานข้อมูล (Data Model) แบบจำลองฐานข้อมูลแบ่งออกเป็น 5 แบบ คือ 1. แบบจำลองฐานข้อมูลแบบลำดับชั้น (Hierarchical Database Model) 2. แบบจำลองฐานข้อมูลแบบเครือข่าย (Network Database Model) 3. แบบจำลองฐานข้อมูลเชิงสัมพันธ์ (Relational Database Model) 4. แบบจำลองฐานข้อมูลเชิงวัตถุ (Object Oriented Database Model) 5. แบบจำลองฐานข้อมูลแบบมัลติไดเมนชั่น (Multidimensional Database Model)
แบบจำลองฐานข้อมูลแบบลำดับชั้น (Hierarchical Database Model) เป็นฐานข้อมูลที่นำเสนอข้อมูลและความสัมพันธ์ระหว่างข้อมูลในรูปแบบของ โครงสร้างต้นไม้ (tree structure) เป็นโครงสร้างลักษณะคล้ายต้นไม้เป็นลำดับชั้น ซึ่งแตกออกเป็นกิ่งก้านสาขา หรือที่เรียกว่า เป็นการจัดเก็บข้อมูลในลักษณะความสัมพันธ์แบบ พ่อ-ลูก (Parent-Child Relationship Type : PCR Type)
แบบจำลองฐานข้อมูลแบบลำดับชั้น (Hierarchical Database Model) Parent Record Type แผนก ชื่อแผนก รหัสแผนก สถานที่ พนักงาน โครงการ ชื่อ รหัส พนักงาน รหัส แผนก เงินเดือน ชื่อ โครงการ รหัส โครงการ สถานที่ Child Record Type
แบบจำลองฐานข้อมูลแบบลำดับชั้น (Hierarchical Database Model) คุณสมบัติของฐานข้อมูลแบบลำดับขั้น 1. Record ที่อยู่ด้านบนของโครงสร้างหรือพ่อ(Parent Record) นั้นสามารถมีลูกได้มากกว่าหนึ่งคน แต่ลูก (Child Record) จะไม่สามารถมีพ่อได้มากกว่า 1 คนได้ 2. ทุก Record สามารถมีคุณสมบัติเป็น Parent Record(พ่อ) ได้ 3. ถ้า Record หนึ่งมีลูกมากกว่าหนึ่ง Record แล้ว การลำดับความสัมพันธ์ของ Child Record จะลำดับจากซ้ายไปขวา
แบบจำลองฐานข้อมูลแบบลำดับชั้น (Hierarchical Database Model) Root Record Parent Record วิชา การเขียนโปรแกรม วิชา Database วิชัย วินัย วิชิต สมบุญ สุรชัย สุรภี สุรเดช Child Record
แบบจำลองฐานข้อมูลแบบลำดับชั้น (Hierarchical Database Model) ลักษณะเด่น เป็นระบบฐานข้อมูลที่มีระบบโครงสร้างซับซ้อนน้อยที่สุด มีค่าใช้จ่ายในการจัดสร้างฐานข้อมูลน้อย ลักษณะโครงสร้างเข้าใจง่าย เหมาะสำหรับงานที่ต้องการค้นหาข้อมูลแบบมีเงื่อนไขเป็นระดับและออกงานแบบเรียงลำดับต่อเนื่อง ป้องกันระบบความลับของข้อมูลได้ดี เนื่องจากต้องอ่านแฟ้มข้อมูลที่เป็นต้นกำเนิดก่อน
แบบจำลองฐานข้อมูลแบบลำดับชั้น (Hierarchical Database Model) ข้อเสีย Record ลูก ไม่สามารถมี record พ่อหลายคนได้ เช่น นักศึกษาสามารถลงทะเบียนได้มากกว่า 1 วิชา มีความยืดหยุ่นน้อย เพราะการปรับโครงสร้างของ Tree ค่อนข้างยุ่งยาก มีโอกาสเกิดความซ้ำซ้อนมากที่สุดเมื่อเทียบกับระบบฐานข้อมูลแบบโครงสร้างอื่น หากข้อมูลมีจำนวนมาก การเข้าถึงข้อมูลจะใช้เวลานานในการค้นหา เนื่องจากจะต้องเข้าถึงที่ต้นกำเนิดของข้อมูล
แบบจำลองฐานข้อมูลแบบเครือข่าย (Network Database Model) - ลักษณะฐานข้อมูลนี้จะคล้ายกับลักษณะฐานข้อมูลแบบลำดับชั้น จะมีข้อแตกต่างกันตรงที่ในลักษณะฐานข้อมูลแบบเครือข่ายนี้สามารถมีต้นกำเนิดของข้อมูลได้มากกว่า 1 และยินยอมให้ระดับชั้นที่อยู่เหนือกว่าจะมีได้หลายแฟ้มข้อมูลถึงแม้ว่าระดับชั้นถัดลงมาจะมีเพียงแฟ้มข้อมูลเดียว - ลักษณะโครงสร้างระบบฐานข้อมูลแบบเครือข่ายจะมีโครงสร้างของข้อมูลแต่ละแฟ้มข้อมูลมีความสัมพันธ์คล้ายร่างแห
แบบจำลองฐานข้อมูลแบบเครือข่าย (Network Database Model) Root Record Parent Record วิชา การเขียนโปรแกรม วิชา Database วิชัย วินัย วิชิต สมบุญ สุรชัย สุรภี สุรเดช Child Record
แบบจำลองฐานข้อมูลแบบเครือข่าย (Network Database Model) ข้อดี ช่วยลดความซ้ำซ้อนของข้อมูลได้ทั้งหมด สามารถเชื่อมโยงข้อมูลแบบไป-กลับ ได้ สะดวกในการค้นหามากกว่าลักษณะฐานข้อมูลแบบลำดับชั้น เพราะไม่ต้องไปเริ่มค้นหาตั้งแต่ข้อมูลต้นกำเนิดโดยทางเดียว และการค้นหาข้อมูลมีเงื่อนไขได้มากและกว้างกว่าโครงสร้างแบบลำดับชั้น
แบบจำลองฐานข้อมูลแบบเครือข่าย (Network Database Model) ข้อเสีย ความสัมพันธ์ข้อมูลที่เชื่อมโยงกันไปมาทำให้ยากต่อการใช้งาน ผู้ใช้ต้องเข้าใจโครงสร้างของฐานข้อมูล เหมาะสำหรับโปรแกรมเมอร์ที่คุ้นเคย ไม่เหมาะสำหรับผู้ใช้งานทั่วไป มีค่าใช้จ่ายและสิ้นเปลืองพื้นที่ในหน่วยความจำเพราะจะเสียพื้นที่ในอุปกรณ์เก็บข้อมูลสำหรับตัวบ่งชี้มาก โครงสร้างแบบเครือข่ายเป็นโครงสร้างที่ง่ายไม่ซับซ้อนเนื่องจากไม่ต้องอ่านแฟ้มข้อมูลที่เป็นต้นกำเนิดก่อน จึงทำให้ป้องกันความลับของข้อมูลได้ยาก
แบบจำลองฐานข้อมูลเชิงสัมพันธ์ (Relational Database Model) เป็นการจัดข้อมูลในรูปแบบของตาราง 2 มิติ คือมี แถว (Row) และ คอลัมน์ (Column) โดยการเชื่อมโยงข้อมูลระหว่างตาราง จะใช้ Attribute ที่มีอยู่ทั้งสองตารางเป็นตัวเชื่อมโยงข้อมูล เชื่อมโยงข้อมูล คอลัมน์ (Column) - Attribute แถว (Row) - Record Entity A Entity B
EMPLOYEE Entity มี Attribute “DEPNO” เป็นตัวเชื่อมความสัมพันธ์ ระหว่างสอง Entity DEP Entity
แบบจำลองฐานข้อมูลเชิงสัมพันธ์ (Relational Database Model) ข้อดี เหมาะกับงานที่เลือกดูข้อมูลแบบมีเงื่อนไขหลายคีย์ฟิลด์ข้อมูล ป้องกันข้อมูลถูกทำลายหรือแก้ไขได้ดี เนื่องจากโครงสร้างแบบสัมพันธ์นี้ผู้ใช้จะไม่ทราบว่าการเก็บข้อมูลในฐานข้อมูลอย่างแท้จริงเป็นอย่างไร จึงสามารถป้องกันข้อมูลถูกทำลายหรือถูกแก้ไขได้ดี การเลือกดูข้อมูลทำได้ง่าย มีความซับซ้อนของข้อมูลระหว่างแฟ้มต่าง ๆ น้อยมาก อาจมีการฝึกฝนเพียงเล็กน้อยก็สามารถใช้ทำงานได้
แบบจำลองฐานข้อมูลเชิงสัมพันธ์ (Relational Database Model) ข้อดี เมื่อผู้ใช้ต้องการข้อมูลในตารางจะใช้วิธีเปรียบเทียบค่าของข้อมูลแทน โดยไม่ต้องรู้ว่าข้อมูลนั้นเก็บอย่างไร โดยแค่บอกกับ DBMS ว่าต้องการข้อมูลจากตารางใด ที่มีค่าในคอลัมน์ใด เป็นต้น ง่ายในการทำความเข้าใจ ได้รับความนิยมมาจนถึงปัจจุบัน
แบบจำลองฐานข้อมูลเชิงสัมพันธ์ (Relational Database Model) ข้อเสีย มีการแก้ไขปรับปรุงแฟ้มข้อมูลได้ยากเพราะผู้ใช้จะไม่ทราบการเก็บข้อมูลในฐานข้อมูลอย่างแท้จริงเป็นอย่างไร มีค่าใช้จ่ายของระบบสูงมากเพราะเมื่อมีการประมวลผลคือ การอ่าน เพิ่มเติม ปรับปรุงหรือยกเลิกระบบจะต้องทำการสร้างตารางขึ้นมาใหม่ ทั้งที่ในแฟ้มข้อมูลที่แท้จริงอาจจะมีการเปลี่ยนแปลงเพียงเล็กน้อย
แบบจำลองฐานข้อมูลเชิงวัตถุ (Object Oriented Database Model) Cust_ID = 001 Cust_Name = อุทัย เซี่ยงเจ็น Customer Attribute: Cust_ID Cust_Name Methods: Print(); getName(); Cust_ID = 002 Cust_Name = มานี มีนา
แบบจำลองฐานข้อมูลเชิงวัตถุ (Object Oriented Database Model) เกิดจากแนวคิดการเขียนโปรแกรมเชิงวัตถุ (Object-Oriented Program : OOP) มองสิ่งต่างๆ เป็น วัตถุ (Object) ใช้ในการประมวลผลข้อมูลทางด้านมัลติมีเดีย คือ มีข้อมูลภาพ และเสียง หรือข้อมูลแบบมีการเชื่อมโยงแบบเว็บเพจ ซึ่งไม่เหมาะสำหรับ Relation Model มีคุณสมบัติ Encapsulation สนับสนุนคุณสมบัติการนำกลับมาใช้ใหม่ (Reusable) นำไปใช้กับหน่วยงานขนาดใหญ่
แบบจำลองฐานข้อมูลเชิงวัตถุ (Object Oriented Database Model) ข้อดี คุณสมบัติด้านการสืบทอด (Inheritance) ทำให้ข้อมูลมีความ คงสภาพสูง มีคุณสมบัติในการนำมาใช้ใหม่ การนำเสนอเป็นรูปแบบ Visual ทำให้อธิบายหัวข้อความหมายได้ดี
แบบจำลองฐานข้อมูลเชิงวัตถุ (Object Oriented Database Model) ข้อเสีย ต้องพึ่งพาผู้เชี่ยวชาญโดยเฉพาะ และมีค่าใช้จ่ายเกี่ยวกับระบบค่อนข้างสูง ยังไม่มีมาตรฐานรองรับที่ชัดเจนเมื่อเทียบกับแบบจำลองฐานข้อมูลเชิงสัมพันธ์ ผู้เชี่ยวชาญส่วนใหญ่คุ้นเคยกับเทคโนโลยีฐานข้อมูลเชิงสัมพันธ์มากกว่า DBMS ในแบบจำลองฐานข้อมูลเชิงสัมพันธ์ได้พัฒนา โดยการรวมเทคโนโลยีเชิงวัตถุเข้าไป เรียกว่า Object-Relational Database
แบบจำลองฐานข้อมูลมัลติไดเมนชั่น (Multidimensional Database Model) ใช้งานกับคลังข้อมูล (Data Warehousing) นำเสนอข้อมูลในลักษณะไดเมนชั่น ทำให้มองเห็น (View) ข้อมูลได้ 2 ทาง การนำข้อมูลมาจัดการให้อยู่ในรูปแบบของมิติ ผู้ใช้สามารถแบ่งข้อมูลออกเป็นส่วน ๆ (Data Cube) มาวิเคราะห์ใช้งานได้ตามต้องการ
แบบจำลองฐานข้อมูลมัลติไดเมนชั่น (Multidimensional Database Model) การจัดเก็บข้อมูลไว้ในฐานข้อมูลมัลติไดเมนชั่น แสดงยอดขายในฐานข้อมูลมัลติไดเมนชั่น
แบบจำลองฐานข้อมูลมัลติไดเมนชั่น (Multidimensional Database Model) การแสดงข้อมูลหลายมิติ จะทำให้การวิเคราะห์ข้อมูล ยอดขายรวมทุกฤดูกาลและทุกภูมิภาคทำได้ง่ายขึ้น ด้วยวิธีการ “เฉือน (Slicing)” ลูกบาศก์ออกเป็นส่วน ๆ ตามที่ต้องการคำนวนเท่านั้น แสดงการ Slice ข้อมูล
แบบจำลองฐานข้อมูลมัลติไดเมนชั่น (Multidimensional Database Model)
แบบจำลองฐานข้อมูลมัลติไดเมนชั่น (Multidimensional Database Model) ข้อดี สามารถนำมาประยุกต์ใช้เพื่อวางแผนกลยุทธ์และสร้างวิธีแก้ไขปัญหาทางธุรกิจได้ ข้อมูลที่นำเสนอสามารถนำเสนอมุมมองได้หลายมิติ ข้อเสีย ใช้เงินลงทุนสง ทั้งด้านฮาร์ดแวร์และซอฟต์แวร์ที่นำมาใช้เพื่อการวิเคราะห์ คลังข้อมูลต้องได้รับการออกแบบที่ดี มิฉะนั้นอาจไม่สามารถนำมาใช้ประโยชน์ได้อย่างคุ้มค่า ผู้เชี่ยวชาญเฉพาะด้านในปัจจุบันยังคงมีไม่มาก เหมาะกับธุรกิจขนาดใหญ่
สรุป 1. แบบจำลองฐานข้อมูลแบบลำดับชั้น (Hierarchical Database Model)
สรุป 1. แบบจำลองฐานข้อมูลแบบลำดับชั้น (Hierarchical Database Model)
สรุป 2. แบบจำลองฐานข้อมูลแบบเครือข่าย (Network Database Model)
สรุป 3. แบบจำลองฐานข้อมูลเชิงสัมพันธ์ (Relational Database Model)
สรุป 4. แบบจำลองฐานข้อมูลเชิงวัตถุ (Object Oriented Database Model)
สรุป 5. แบบจำลองฐานข้อมูลแบบมัลติไดเมนชั่น (Multidimensional Database Model)
คำถามท้ายบทที่ 3 1. แบบจำลองฐานข้อมูลมีความสำคัญอย่างไร จงอธิบาย 2. ปัญหาที่สำคัญของ Hierarchical Model คืออะไร และเหตุใด Hierarchical Model จึงไม่สามารถลดความซ้ำซ้อนของข้อมูลได้ทั้งหมด 3. เหตุใด Network Model ซึ่งสามารถแก้ปัญหาความซ้ำซ้อนของข้อมูลได้จึงไม่เหมาะกับการนำมาใช้งาน 4. สิ่งที่ทำให้ Relational Model ได้รับความนิยมอย่างมากคืออะไร จงอธิบาย 5. สรุปจุดเด่นของแต่ละแบบจำลอง