ฐานข้อมูลเชิงวัตถุสัมพันธ์
ฐานข้อมูลเชิงวัตถุสัมพันธ์ (อังกฤษ: object-relational database: ORD) หรือระบบการจัดการฐานข้อมูลเชิงวัตถุสัมพันธ์ (อังกฤษ: object-relational database management system: ORDBMS) เป็นระบบการจัดการฐานข้อมูลคล้ายกับ[[ฐานข้อมูลเชิงสัมพันธ์] แต่ใช้โมเดลฐานข้อมูลเชิงวัตถุ ซึ่งวัตถุ คลาส และการสืบทอด ถูกสนับสนุนโดยตรงในโครงสร้างฐานข้อมูล และในภาษาสอบถาม มันสนับสนุนส่วนเพิ่มเติมของโมเดลข้อมูลด้วยชนิดข้อมูลและเมธอดที่ผู้ใช้สร้างขึ้น
ฐานข้อมูลเชิงวัตถุสัมพันธ์อาจกล่าวได้ว่าเป็นฐานข้อมูลที่อยู่ระหว่างฐานข้อมูลเชิงสัมพันธ์ และฐานข้อมูลเชิงวัตถุ (object-oriented databases: OODBMS) ส่วนหลักของฐานข้อมูลเชิงวัตถุสัมพันธ์มีลักษณะใกล้กับฐานข้อมูลเชิงสัมพันธ์ ข้อมูลอยู่ในฐานข้อมูล และถูกจัดการโดยคำถาม (query) ในภาษาสอบถาม แต่อีกด้านหนึ่ง เป็น OODBMS ซึ่งฐานข้อมูลเป็นวัตถุที่คงอยู่ที่เก็บไว้สำหรับซอฟต์แวร์ที่เขียนด้วยภาษาโปรแกรมเชิงวัตถุ โดยมีเอพีไอ (API) ของโปรแกรมสำหรับการจัดเรียงและค้นหาและเรียกใช้วัตถุ และไม่สนับสนุนการสอบถาม หรือสนับสนุนเพียงเล็กน้อย
ภาพรวม
[แก้]เป้าหมายพื้นฐานของฐานข้อมูลเชิงวัตถุสัมพันธ์ คิอเป็นตัวเชื่อมช่องว่างระหว่างฐานข้อมูลเชิงสัมพันธ์และเทคนิคการสร้างแม่แบบเชิงวัตถุซึ่งใช้ในภาษาโปรแกรม เช่น Java, C++, Visual Basic .NET หรือ C# เป็นต้น อย่างไรก็ดี สิ่งที่ได้นอกเหนือจากเป้าหมายคือ การใช้มาตรฐานระบบฐานข้อมูลเชิงสัมพันธ์กับรูปแบบบางประการของการเปลี่ยนชนิดข้อมูลเชิงวัตถุสัมพันธ์ของศอฟต์แวร์ ในขณะที่ระบบการจัดการฐานข้อมูลเชิงสัมพันธ์แบบดั้งเดิม RDBMS หรือผลิตภัณฑ์ที่ใช้ SQL-DBMS มุ่งเน้นที่การจัดการที่มีประสิทธิภาพของข้อมูลที่เขียนจากเซตของชนิดข้มมูลที่นิยามโดยมาตรฐานของภาษาที่สัมพันธฺกัน ระบบฐานข้อมูลเชิงวัตถุสัมพันธ์ยินยอมให้นักพัฒนาซอฟต์แวร์บูรณาการชนิดข้อมูลของตนเองและเมธอดเพื่อใช้กับมันในระบบการจัดการฐานข้อมูล
ระบบฐานข้อมูลเชิงวัตถุสัมพันธ์ถูกบูรณาการเข้ากับภาษาโปรแกรมเชิงวัตถุ คุณสมบัติทางลักษณะของมัน ได้แก่
- ข้อมูลเชิงซ้อน การสร้างชนิดข้อมูลเชิงซ้อนในระบบฐานข้อมูลเชิงวัตถุสัมพันธ์ SQL ส่วนใหญ่ตั้งอยู่บนพื้นฐานของการนิยามโครงสร้างเบื้องต้นผ่านทางชนิดข้อมูลที่ผู้ใช้นิยาม
- การสิบทอดชนิดข้อมูล การสร้างลำดับชั้นในโครงสร้างของข้อมูลเชิงซ้อนเป็นการเพิ่มคุณสมบัติให้กับข้อมูล หรือการสิบทอดชนิดข้อมูล กล้าวคือ ชนิดข้อมูลในโครงสร้างสามรรถแบ่งชนิดย่อยได้ โดยใช้คุณสมบัติของข้อมูลที่มีอยู่แล้ว รวมกับคุณสมบัติที่เพิ่มเติมในชนิดข้มอูลย่อยนั้น
- พฤติกรรมวัตถุ พฤติกรรมวัตถุเกี่ยวข้องกับการเข้าถึงวัตถุของโปรแกรม วัตถุนั้นต้องจัดเก็บได้ และเคลื่อนย้ายได้สำหรับการประมวลผลฐานข้อมูล ดังนั้นมันจึงถูกตั้งชื่อเช่นเดียวกับวัตถุถาวร
ภายในฐานข้อมูล ความสัมพันธฺ์ทั้งหมดกับวัตถุโปรแกรมที่คงอยู่เป็นความสัมพันธ์กับชื่อวัตถุ (object identifier) ของมัน จุดเหล่านี้ทั้งหมดสามารถอ้างถึงในระบบเชิงสัมพันธ์ที่เหมาะสม แม้ว่ามาตรฐาน SQL และการดำเนินการของมันกำหนดข้อจำกัดอย่างเด็ดขาด และความซับซ้อนเพิ่มเติม
ประวัติ
[แก้]ระบบฐานข้อมูลเชิงวัตถุสัมพันธ์เป็นระบบที่มีจุดเริ่มต้นจากงานวิจัยในปี พ.ศ. 2533 ซึ่งได้ขยายแนวคิดของฐานข้อมูลเชิงสัมพันธ์โดยเพิ่มแนวคิดของวัตถุลงไป ผู้วิจัยมีความมุ่งหมายที่จะคงให้ภาษาสอบถามเชิงประกาศซึ่งตั้นบนพื้นฐานของพรีดิเคตแคลคูลัส (predicate calculus)เป็นองค์ประกอบหลักของสถาปัตยกรรม งานวิจัยนี้อาจเป็นงานวิจัย โพรเกรสของ UC Berkeley)ซึ่งได้มีผลิตภัณฑ์ 2 ตัวที่ผลิตออกมา คือ อิลลัสตรา (Illustra) และ รเกรสคิวแอล]] (PostgreSQL)
ในช่วงกลางปีพ.ศ. 2533 ได้มีผลิตภัณฑ์เชิงพาณิชย์หลายตัว เช่น Illustra (ผลิตโดย Illustra Information Systems ต่อมาถูกซื้อโดย Informix Software ภายหลังได้ขายต่อให้กับ IBM) Omniscience (ผลิตโดย Omniscience Corporation ต่อมาขายให้กับ Oracle Corporation และเปลี่ยนชื่อผลิตภัณฑ์เป็น Oracle Lite) UniSQL (ผลิตโดย UniSQL, Inc. และต่อมาขายให้กับ KCOMS) และ Valentina database ซึ่งพัฒนาโดยรัสแลน ซาซูคิน ชาวยูเครน สิบปีต่อมา โพรเกรสคิวแอล ได้พัฒนาเวอร์ชฃันเชิงพาณิชย์ และได้เป็นพื้นฐานสำหรับผลิตภัณฑ์อีกหลาย ๆ ตัวในปัจจุบัน
แนวคิดหลายประการในฐานข้อมูลเชิงวัตถุสัมพันธ์ในช่วงเริ่มต้นได้ถูกนำมารวมในมาตรฐาน SQL:1999 ในความเป็นจริง ผลิตภัณฑ์ใด ๆ ที่ได้เพิ่มลักษณะเชิงวัตถุตามข้อกำหนดของ SQL:1999 สามารถกล่าวได้ว่าเป็น ระบบการจัดการฐานข้อมูลเชิงวัตถุสัมพันธ์ได้ ตัวอย่างเช่น IBM's DB2 Oracle database และ Microsoft SQL Server เป็นต้น