Media có thể được lưu trữ trong các loại đối tượng OM, hoặc trực tiếp trong BLOBs hoặc BFILEs. Bạn sẽ nhận thấy lợi ích lớn nhất bởi việc lưu trữ media trong các loại đối tượng OM. Tuy nhiên, nhiều tính năng của OM có sẵn để lưu trữ media trong các BLOBs và BFILEs đang sử dụng giao diện quan hệ.
Giao diện quan hệ OM cho phép các nhà phát triển sử dụng các phương thức tĩnh của các loại đối tượng OM với các media hiện có và mới được lưu trữ trong BLOBs và BFILEs. Cụ thể, các nhà phát triển có thể di chuyển dữ liệu media giữa hệ thống tập tin cục bộ và cơ sở dữ liệu; phân tích và trích xuất các thuộc tính của dữ liệu media; và lưu trữ các đặc tính này dưới dạng một XMLType hoặc một CLOB được định dạng XML, và tùy chọn, trong các cột quan hệ cá nhân. Các nhà phát triển không cần phải thay đổi lược đồ ứng dụng hiện có hoặc khởi tạo các loại đối tượng OM để tận dụng lợi thế của giao diện quan hệ này. Các phương thức tĩnh của OM cũng có thể được sử dụng để thực hiện các hoạt động xử lý hình ảnh như cắt, scale, nén, chuyển đổi định dạng.
Các kiểu đối tượng ORDAudio, ORDDoc, ORDImage và ORDVideo đều chứa một thuộc tính của kiểu ORDSource và các phương thức cho việc thao tác trên các nguồn dữ liệu đa phương tiện.
26.1.Lưu trữ dữ liệu đa phương tiện
OM có thể lưu trữ dữ liệu đa phương tiện như là một nguồn nội bộ trong CSDL, dưới sự kiểm soát giao tác như một BLOB. Nó cũng có thể tham chiếu mở rộng các dữ liệu đa phương tiện số hóa được lưu trữ như một nguồn bên ngoài trong một tập tin (tập tin này chỉ thuộc về một hệ điều hành cụ thể) trong một hệ thống tập tin cục bộ, như một URL trên một máy chủ HTTP, hoặc như là một nguồn được định nghĩa bởi người dùng trên các máy chủ khác, chẳng hạn như các máy chủ media. Mặc dù các cơ chế lưu trữ bên ngoài này đặc biệt thuận lợi cho việc tích hợp các bộ dữ liệu đa phương tiện hiện có với một CSDL, nhưng các dữ liệu đa phương tiện sẽ không được đặt dưới sự kiểm soát giao tác nếu nó không được lưu trữ trong CSDL.
Các BLOB được lưu trữ trong các tablespace của CSDL bằng cách tối ưu hóa không gian và cung cấp các truy cập hiệu quả. Các BLOB lớn có thể không được lưu trữ nội
tuyến (BLOBs dưới 4 kilobyte có thể được lưu trữ nội tuyến) với các dòng dữ liệu khác. Tùy thuộc vào kích thước của BLOB, một bộ định vị (locator) được lưu trữ trong hàng và một BLOB đích thực (lên đến 8-128 TB, tùy thuộc vào kích thước khối) được lưu trữ trong các tablespace khác. Bộ định vị có thể được coi là một con trỏ đến vị trí thực tế của giá trị BLOB. Khi bạn chọn một BLOB, thì có nghĩa là bạn đang chọn định vị thay vì giá trị, mặc dù điều này được thực hiện minh bạch. Một lợi thế của thiết kế này là định vị của nhiều BLOB có thể tồn tại trong một dòng đơn. Ví dụ, bạn có thể muốn lưu trữ một đoạn clip ngắn của một cuốn băng dạy học, một đoạn ghi âm chứa mô tả ngắn gọn về nội dung của nó, một đề cương của khóa học, một tấm ảnh của giảng viên, và một bộ bản đồ và chỉ dẫn đến mỗi trung tâm đào tạo đều nằm trong cùng một dòng.
Bởi vì BFILE không đặt dưới sự kiểm soát giao tác của CSDL, người dùng có thể thay đổi nguồn bên ngoài mà không cần cập nhật CSDL, do đó gây ra một sự mâu thuẫn với định vị BFILE.
Các loại đối tượng OM như ORDAudio, ORDDoc, ORDImage và ORDVideo cung cấp phương thức bao gói để làm các việc sau:
− Thiết lập nguồn dữ liệu là cục bộ hoặc ở bên ngoài;
− Sửa đổi thời gian lần cập nhật mới nhất của đối tượng;
− Thiết lập thông tin về các kiểu nguồn bên ngoài, vị trí, và tên của dữ liệu ;
− Chuyển dữ liệu vào hoặc ra khỏi CSDL;
− Lấy ra các thông tin về nội dung dữ liệu cục bộ như chiều dài, vị trí của nó, đưa nội dung vào một BLOB tạm thời, hoặc xóa nó;
− Truy cập nguồn dữ liệu bằng cách mở, đọc, viết, cắt xén và đóng nó lại.
26.2.Truy vấn dữ liệu đa phương tiện:
Khi được lưu trữ trong một CSDL, dữ liệu đa phương tiện có thể được truy vấn và lấy ra bằng cách sử dụng các cột chữ-hoặc-số khác nhau hoặc các thuộc tính đối tượng của bảng để tìm một hàng có chứa dữ liệu mong muốn. Ví dụ, bạn có thể chọn một video clip từ bảng Traning với tên khóa học là 'Oracle Database Concepts'.
Dữ liệu đa phương tiện có thể được truy vấn theo các siêu dữ liệu được trích xuất, theo các cột trong bảng khác và theo nội dung, chẳng hạn như truy xuất dựa trên nội dung hình ảnh với các chỉ mục chuyên biệt tùy chọn.