แบบจำลองฐานข้อมูล: ตอน 4

 

 
Home Page  |   รายการบทความ   |   ลิงค์ที่เกี่ยวข้อง   |   laploy.com  |  เกี่ยวกับผู้เขียน

 

แบบจำลองฐานข้อมูล: ตอน 4

 

 2.7.6. แบบจำลองฐานข้อมูลแบบวัตถุสัมพันธ์
แบบจำลองฐานข้อมูลแบบวัตถุสัมพันธ์ (Object-Relational Database Model ย่อ ORDM) เป็นแบบจำลองใหม่สุดที่นำข้อดีของ RDM และ ODM มารวมกัน ปรากฏขึ้นครั้งแรกในปี 1990 และยังได้รับการพัฒนาอยู่อย่างต่อเนื่อง  ข้อดีของแบบจำลอง  ORDM คือสามารถเขียนคิวรีได้แบบเดียวกับ RDM ข้อเสียคือความซับซ้อนของมัน

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

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

 

2.7.7. แบบจำลองฐานข้อมูลวัตถุวิธี
แบบจำลองฐานข้อมูลวัตถุวิธี (Object Oriented Database Model ย่อ OODM) เป็นการผนวกข้อมูลและส่วนโค้ดที่จัดการมันไว้เป็นก้อนเดียวกัน (เหมือนออพเจ็กต์ในวิชา OOP) โปรแกรม DBMS ที่สนับสนุน OODM จะเรียกย่อว่า ODBMS (object database management system)โปรแกรม ODBMS ช่วยให้นักเขียนโค้ดใช้ภาษา OOP อย่าง C# จัดการฐานข้อมูลได้เหมือนเป็นออพเจ็กต์หนึ่ง

OODM ถูกพัฒนาขึ้นในปี 1985 โดยนักวิชาการหลายกลุ่มเช่นนักวิจัยที่มหาวิทยาลัย บราวน์ และ เอ็มไอที ช่วงแรก OODM จะใช้งานร่วมกับภาษา OOP เดิมอย่าง Smalltalk และ LISP ภายหลังปี 1990 เริ่มมี OODM ที่ใช้งานกับภาษาจาวา และปัจจุบันกำลังนิยมใช้กับภาษา C#

 

ภาพ 2-13 : มหาวิทยาลัย บราวน์ ซึ่งเป็นหนึ่งในต้นกำเนิดแบบจำลองฐานข้อมูลแบบวัตถุวิธี

 

เดิมทีภาษาคิวรีสำหรับ OODM เรียกว่าภาษา OQL (Object Query Language) มีหลายแบบ จนกระทั่งในปี 2005 คุก ไร และโรเซนเบอร์เกอร์ได้กำหนดมาตรฐานให้แก่ภาษา OQL เรียกว่าเนทีฟคิวรี (Native Queries) ซึ่งเป็นคิวรีแบบไทป์เซฟผนวกไว้ในภาษาจาวาและ C# ต่อมาในปี 2007 บริษัทไมโครซอฟต์ออก .NET Framework เวอร์ชัน 3.5 ซึ่งผนวกภาษา LINQ (อ่านว่าลิงค์ ย่อจาก Language Integrated Query) เพื่อให้นักเขียนโค้ดสามารถเขียนคิวรีไว้ภายในภาษา C# ได้โดยตรง (ดูบทที่ 31)

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

 

2.8. สรุปท้ายบท
คอมพิวเตอร์เตอร์ย่อมมีประโยชน์น้อยหากขาดข้อมูลเพื่อใช้ประมวลผล การคิดค้นสร้างแบบจำลองฐานข้อมูลจึงเกิดขึ้นพร้อมๆ กับวิทยาการคอมพิวเตอร์ แบบจำลองฐานข้อมูลถูกพัฒนามาแล้ว 7 ยุคสมัย คือ Flat File, HDM, NDM, RDM, ODM, ORDM และ OORDM แบบจำลองสามแบบแรกหมดความนิยมใช้งานไปแล้ว ส่วนแบบจำลองที่เหลือยังมีใช้งานกันอยู่ครบทั้งสี่แบบ

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

 

2.9. คำถามท้ายบท
1.    แอพลิเกชันคืออะไร
2.    ในเรื่องฐานข้อมูลคำว่าโปร่งใสหมายถึงอะไร
3.    OLTP คืออะไร
4.    ดาต้าแวร์เฮาส์ คืออะไร
5.    วิววัตถุคืออะไร
6.    ชนิดข้อมูลพื้นฐานประกอบด้วยอะไรบ้าง
7.    พอยน์เตอร์คืออะไร
8.    RDBMS คืออะไร
9.    แฟ้มแบบ CSV คืออะไร
10.    จงบอกข้อดีและข้อเสียของแบบจำลองฐานข้อมูลแบบลำดับชั้น
11.    ข้อดีคือการเพิ่มลดระเบียน (record) ทำได้ง่ายมาก ข้อเสียคือการค้นหาข้อมูลทำได้ช้าเพราะต้องไล่ไปตามลำดับชั้น
12.    จงบอกข้อดีและข้อเสียของแบบจำลองฐานข้อมูลสัมพันธ์

 

2.10. แบบฝึกหัดท้ายบท
จงเขียนคิวรีภาษา T-SQL เพื่อฉายแสดงข้อมูลทุกแถวในตาราง Employees ในฐานข้อมูล NorthWind โดยแสดงเฉพาะคอลัมน์ EmployeeID, LastName, FirstName, Title และ TitleOfCourtesy

 

โฆษณา

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  เปลี่ยนแปลง )

Google photo

You are commenting using your Google account. Log Out /  เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out /  เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out /  เปลี่ยนแปลง )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: