Cơ sờ dừ liệu quan hệ (Relational database - RDB) ỉà một cơ sở dừ liệu m à dữ liệu được lưu thành các bảng dưới dạng các hàng và cột dữ liệu. Mỗi bảng được định nghĩa dựa trên các kiểu dữ liệu đã được cung cấp sẵn và được chi định khóa. Các bảng trong cơ sờ dữ liệu có thể thiết lập quan hệ với nhau tạo nên sự ràng buộc chặt chẽ về mặt dữ liệu cũng như cấu trúc để đảm bảo tối ưu cho cơ sở dữ liệu, tránh dư thừa thông tin. Mỗi cột dữ liệu (trưởng hay thuộc tính) đều được xác định kiểu giá trị và với mỗi hàng, mỗi cột chỉ chứa một kiểu giá trị duy nhất.
M ột cơ sở dừ liệu quan hệ thường gồm một sổ thành phần như sau:
- 29-
> Ràng buộc, quan hệ: thiết lập quan hệ giũa các bàng dừ liệu với nhau.
> Khung nhìn (View) / Câu hỏi (Query): cho phép quan sát dữ liệu được lấy từ nhiều bàng dữ liệu khác nhau, được xảy dựng dựa trên tập lệnh SQL.
'r- Thủ tục / hàm: bao gồm hai loại: Store Procedure và Trigger. Cho phép lấy dữ
liệu từ các bảng hoặc tự động cập nhật cơ sờ dữ liệu khi có một sự thay đổi nào đó. Việc sừ dụng các hàm/thù tục trong cơ sỡ dữ liệu quan hệ (do hệ quàn trị cơ sở dữ liệu quản lý và thực thi) giúp cho các thao tác trên đừ liệu thực hiện nhanh hơn.
Ngoài ra, đối với mỗi hệ quản trị cơ sở dữ liệu quan hệ khác nhau có thể hỗ trợ thêm các chức năng khác nhau cho người sử dụng cơ sờ dữ liệu như:
> Lập chi mục: cho phép người xây dựng cơ sờ dù liệu lập chì mục dựa trẽn một sổ trường dữ liệu nào đó, phục vụ cho việc tim kiếm dữ liệu, khai thác dữ liệu thực hiện nhanh hơn.
> Quàn lý nọicời dùng: quàn lý và phân quyền người sử dụng cơ sờ dừ liệu. Với
mỗi người dùng riêng biệt sẽ được phép can thiệp vào một phần hoặc toàn bộ cơ sở dữ liệu.
Thông thường một cơ sở dữ liệu quan hệ cũng hỗ trợ việc lưu trữ các dữ liệu đa phương tiện ở dạng BLOB (Binary large object). Tuy nhiên, cơ sở dừ liệu quan hệ không hồ trợ các thao tác với nội đung cùa các dữ liệu đó.
M ột số hệ quản trị cơ sở dữ liệu quan hệ phổ biến: M icrosoft Access, M icrosoft SQL Server, M yS Q L ....
2 . 2 M ô h ì n h C O ' s ở d ữ l i ệ u h ư ớ n g đ ố i t ư ợ n g
Cơ sờ dữ liệu hướng đối tượng (Object Oriented Database - OODB) hay còn gọi là cơ sở dữ liệu đối tượng (Object Database - ODB) là cơ sờ dữ liệu cho phép tạo, điều khiển và lưu trừ các đổi tượng theo cách thức dễ hiểu và liên tục. OODB lun toàn bộ thông tin mô tã về đối tượng (thông tin ihuộc tính) và lược đồ của đổi tượng (cấu trúc của
- 3 0 -
đối tượng) cùng với nhau. Điều này hoàn toàn khác với cơ s ờ dữ liệu quan hệ (R-DB), các thông tin có thề lưu trong nhiều bàng dữ liệu khác nhau và cơ sờ dừ liệu đổi tượng quan hệ, đối tượng sau khi chuyển đổi sẽ lưu vào các bàng dừ liệu quan hệ như một cơ sỡ dữ liệu quan hệ truyền thống.
Khái niệm hướng đối tượng cung cấp công cụ để thiết kết một mô hình dữ liệu lón, có thể mô tả được các cấu trúc dữ liệu tự nhiên, trừu tượng và phức tạp. Với cơ sở đữ liệu hướng đối tượng, các kiểu dữ liệu có thể là các đối tượng cơ sở.
Hiện nay chưa có 1 chuẩn rộng rãi về O O D B, các sản phẩm của OODB vẫn còn khá hạn chế và đang trong giai đoạn sơ khai. Trong thời gian này, cơ sở dữ liệu đổi tượng quan hệ (O RD B) ra đời dựa trên sự bổ sung thêm các tính năng vào RDB. Một hệ quản trị cơ sở dữ liệu hướng đối tượng bao gồm 2 tiêu chuẩn sau:
> Là một hệ quản trị cơ sỡ dữ liệu;
> Là một hệ thống hướng đối tượng.
Mỗi kiểu đổi tượng của OODB có m ột chì danh xác định đối tượng OID. Tuy nhiên, để xác định đối tượng trong cơ sở dữ liệu người dùng cỏ thể định nghĩa khóa (là một tập con các thuộc tính).
M ột đối tượng trong OODB thường gồm ba thành phần:
> OID: chỉ danh xác định đối tượng íà duy nhất.
> Khởi tạo: cung cấp hàm khời tạo đối tượng từ các đối tượng dữ liệu khác.
> Giá trị: bao gồm giá trị của đối tượng.
OODB sử dụng OSQL để thao tác trên các đối tượng dữ liệu.
M ột số hệ quản trị cơ sở dữ liệu đổi tượng quan hệ: O2, Ozone, O bjectivity/D B :O bjectStore,PSE/Pro, ...
- 31 -
2 .3 M ô h ì n h c ơ s ở d ữ liệ u đ ố i t ư ợ n g q u a n h ệ
Cơ sờ dữ liệu đối tượng quan hệ (Object Relational Database - ORDB) là sự mở rộng cùa cơ sở dữ liệu quan hệ để cho phép đưa các đối iượng dừ liệu phửc tạp vào cơ sở dữ liệu. Khi một đối tượng dữ liệu được đưa vào cơ sờ dữ liệu, hệ thống sẽ chuyển đổi thông tin của đối tượng và lưu vào các bàng đữ liệu với các hàng, các cột như là cơ sỡ dữ liệu quan hệ. Cho phép người dùng có thể thao tác cập nhật và khai thác trên nội dung dữ liệu của đối tượng đã lưu trữ. Khi muốn khôi phục một đối tượng từ cơ sở dữ liệu, hệ thống sẽ tồne hợp lại các dữ liệu đơn giản tại các bàng và xây dựng Ịại thành đối tượng phức tạp.
Dơ c ơ sờ dữ liệu đối tượng quan hệ lưu trũ dữ liệu trong các bảng như một cơ sở
dữ liệu quan hệ truyền thống, tức là tất cả dữ liệu tại một cột nào đó của bảng phải cùng kiểu, vi vậy khỏng cỏ sự khác biệt giữa dữ liệu là đối tượng và phi đối tượng. Bản thân các kiểu dữ liệu cùa cơ sở dữ liệu đối tượng quan hệ không phải là các đối tượng. Các đối tưọ-ng được xây đựng từ nhừng kiểu dữ liệu cơ bản.
Ràng buộc về tỉnh thực thi: do cơ sờ dữ liệu đổi tượng quan hệ chuyền đổi dữ
liệu giữa định dạng đối tượng thành định dạng của cơ sờ dữ liệu quan hệ nên tốc độ thực hiện của cơ sở dữ liệu sẽ giảm theo kích cỡ của đối tượng và độ lớn của cơ sờ dữ liệu. Tuy nhiên, mô hình cơ sở dữ liệu đối tượng quan hệ rất thích hợp với những hệ thống cơ sở dữ liệu rẩt lớn và phức tạp.
ưu điểm của ORDBMS. ưu điểm chính của cơ sở dữ liệu đối tượng quan hệ là hệ
thống tụ động chuyển đổi đối tượng phức tạp giữa một định dạng RDB và định dạng cơ sở dữ liệu đối tượng mà nó cung cấp. Vì vậy, người lập trình không cần viết mã lệnh để chuyển đổi 2 định dạng đó (RDB - ORDB), mặt khác việc truy cập cở sờ dừ liệu dễ dàng thực hiện từ một ngôn ngữ lập trình hướng đổi tượng.
Các đặc trirng của ORDBMS. ngoài các đặc trưng cùa RDB, ORDB có thêm một
số đặc trưng mới phục vụ cho các kiếu đối tượng, đó là:
- 32 -
kiểu dữ liệu mới là các lớp, các đổi tượng để lưu trũ các đối tượng dữ liệu phức tạp dựa trên các kiểu dừ liệu đã có. Mỗi đối tượng lưu trong cơ sờ đữ liệu có một định đanh đổi tượng (O ID ) độc lập vời các dữ liệu thuộc tính của đối tượng.
> Phương thức: là các hàm, các thù tục gắn với lớp đối tượng. Các phương thức
này làm việc ũrơng tự như các hàm của SQL truyền thống, vi vậy chúng ta có thể sử dụng trong các query và trong việc định nghĩa các kiểu dừ liệu mới.
> Tinh thừa ké: một đổi tượng có thể thừa kế toàn bộ hoặc một phần dữ liệu và
các phương thức cùa các đối tượng khác.
> Hỗ trợ đa thừa kể: một đối tượng có thể thừa kế từ nhiều đối tượng khác nhau và có thể định nghĩa các hàm nạp chồng.
> Phương thức truy cập dử liệu: sử đụng cách lập chì mục theo cây nhị phân và cây đệ quy (B-tree & R-tree ).
> SQL 4: có thể truy cập dữ liệu của ORDB bàng cách sử đụng ngôn ngữ truy vẩn SỌL 4, đây là phiên bản mờ rộng cùa ngôn ngừ SQL sau khi bổ sung các chức năng hỗ trợ cho việc thao tác với nội dung dữ liệu của các đói tượng.
M ột sổ hệ quàn trị cơ sở dữ liệu đối tượng quan hệ: Oracle, IBM DB2, In fo rm ix ...
2 . 4 M ô h ì n h q u a n h ệ m ở r ộ n g ừ o n g O r a c l e I n t e r M e d i a
Oracle là một hệ quản trị cơ sở dữ liệu đối tượng quan hệ. Điều này có nghĩa là ngoài vai trò của một hệ quản trị cơ sở dữ liệu truyền thống là quản lý an toàn và hiệu quả dừ liệu quan hệ, Oracle còn có khả năng định nghĩa các kiểu đối tượng gồm dữ liệu két hợp với các đối tượng và các phương thức của chúng thông qua một đặc trưng nổi bật được tích hợp vào Oracle là Oracle InterMedia. Oracle InterM edia m ở rộng độ tin cậy, tinh sằn sàng và khả năng quản lý các dạng dữ liệu đa phương tiện trong các ứng dụng truyền thống, trên Internet, trong thương mại điện tử thậm chí cà trong các ửng dụng giàu dữ liệu đa phương tiện.
Các nội dum’ được trình bày trong phần này thể hiện khả nâng quàn lý cùa Oracle
Inter Medio gồm:
'r Q uản lý nội đung đa phương tiện;
> Các kiểu đối tượng ành ORDImage, audio ORDAudio, video ORDVideo: cung cấp các khái niệm về ảnh, audio, video và việc sừ dụng các kiểu đối tượng ORDImage, ORDAudio và ORDViđeo để xây đựng các ứng dụng ành, audio, video.
> Lưu trữ dừ liệu đa phương tiện; > N ạp dữ liệu đa phương tiện; > Truy cập dữ liệu đa phương tiện;
> Truy vấn dữ liệu ành dựa trên nội dung; > Kiến trúc của Oracle ĩnterMedia;
> V à khả năng mờ rộng cùa Oracle InterMedia.
2.4.1 Q u ả n lý n ộ i d u n g đa p h ư ơ n g tiện
C ác kiểu đối tư ọ n g đ a phưrm g tiện
O racle InterM edia cho phép quản lý dữ liệu đa phương tiện thông qua một tập hợp các kiểu đổi tượng ORDImage, ORDAudio, and ORDVideo tương ứng với các dữ liệu image, audio và video. Các kiểu đối tượng này tương tự như các lớp trong Java hoặc c++
gồm có các thuộc tính, siêu đừ liệu, nội dung dữ liệu đa phương tiện và cả các phương thức.
> Nội dung dừ liệu là những dữ liệu thực liên quan đến từng loại dữ liệu image, audio, video hoặc dạng hồn hợp.
> Siêu d ữ liệu là thông tin định dạng về nội dung dữ liệu bao gồm các thông tin như độ dài của đổi tượng, có định dạng nén hay không hoặc các thông tin khác được cung cấp từ chương trình ứng dụng như tên cùa một ca sỹ cho một bài hát kỹ thuật số nào đó v.v.
phối hoặc trích siêu dữ liệu, hoặc nén hoặc chuyển đồi định dạng dừ liệu (ví dụ như chuyển đổi định dạng ảnh).
Ngoài ra, Oracle InterM edia còn có kiểu đổi tượng ORDDoc. Kiểu đối tượng này cỏ thể chứa hồn hợp các đổi tượng ORDImage, ORDAudio hoặc ORDVideo. Vì vậy, với kiểu đổi ĩượng ORDDoc vấn đề về quàn lý sẽ phức tạp hơn với các đối tượng khác.
Trong quá trình sử dụng, các kiểu đối tượng này có thể được m ờ rộng để hồ trợ cho các ứng dụng phức tạp khác như:
> Bổ sung thêm các định dạng phức tạp;
> Luợc đồ nén và giải nén mới;
> Chi mục chuyên biệt;
> T ự tạo các truy vấn tối ưu và các phương thức;
> Các nguồn đữ liệu mới;
> Các giải thuật xừ lý dữ liệu chuyên dụng.
Việc thêm một hoặc nhiều cột đa phương tiện (ORĐImage, ORDAudio, and ORD V ideo) vào trong các bảng đã có (hình 2.1) hoặc tạo ra bảng mới có các cột đữ liệu đa phương tiện có thể thực hiện đơn giản. Điều này thể hiện khả năng quản ỉỷ kết hợp dữ liệu đa phương tiện và quan hệ.
- 35 -
Với tính mờ của Oracle IntcrM edia. SQI., chuẩn có thể truy cập các kiểu dừ liệu image, audio, video, các phương thức và siêu dữ liệu dựa trên các kiểu đối tượng O RD Im age, ORDAuđio, ORDVideo. Ngoài ra, Oracle InterM edia còn hỗ trợ Internet cho các Web Server và các còng cụ tác chủ (authoring tools) khác. Các ửng dụng cũng có thể truy cập Oracle InterM eđia qua giao diện đối tượng quan hệ. Các ngôn ngữ lập trinh như Java, C++ hoặc 3GLs có thể sử dụng Oracle InterMedia qua lớp thư viện, PL/SQL hoặc Oracle Call Interface (OCI) đề xây dựng các ứng dụng.
M ô h ìn h lưu tr ữ các đối tư ợ n g đ a p h ư ơ n g tiện
Việc lưu trữ dữ liệu đa phương tiện trong Oracle có nhiều sự lựa chọn như:
> Lưu trữ ở dạng BLOBs (Binary large objects) trong CSDL;
> Hoặc lưu trữ ờ dạng BFILEs (File - based large objects) ờ một vị trí xác định trong hệ thống file đặc tnm g cùa hệ điều hành;
> URLs (Uniform Resource Locator) chứa dữ liệu image, audio và video trên một HTTP server đó nào ví dụ như Oracle Application Server hoặc Oracle Database, Netscape Application Server, M icrosoft Internet Information Server (IIS), Apache HTTPD Server và Spyglass Servers.
> Các Server chuyên dụng dùng để lưu trừ đừ liệu đa phương tiện
K hả năng nhập xuất đ ữ liệu giừa CSDL Oracle với các nguồn dữ liệu khác cũng có thể thực hiện dễ đàng. Cách lưu trữ dữ liệu đa phương tiện bên ngoài CSDL cung cấp một kỹ thuật thuận tiện cho việc quản lý dữ liệu đa phương tiện, vì các dữ liệu này được ỉưu trữ tập trung, thao tác nhập hoặc xuất dừ liệu ờ dạng BLÓBs và nguồn BFILEs bên ngoài có thể thực hiện tại mọi thời điểm.
Các đối tượng của Oracle InterM eđia (ORDAudio, ORDImage, ORDVideo, and O R D D oc) có chung một mô hình lưu (rữ dữ liệu. Thành phần dữ liệu đa phương tiện cùa các đối tượng này được lưu trữ trong c a sờ dữ liệu dưới dạng BLOBs có sự kiểm soát giao dịch hoặc bên ngoài cơ sờ dữ liệu và không có sự kiếm soát giao dịch. Cách thức
-36 -
lưu trữ dừ liệu bèn ngoài có thể sử dụng BFILEs (tệp phảng cùa hệ diều hành), qua các URL của HTTP server, hoặc trên một Server dữ liệu đa phưong tiện chuyên biệt, hoặc từ nguồn đ ữ liệu do nsỊirời dùng định nghĩa trên các Server khác.
Siêu dữ liệu và các phương thức cùa đổi tượng luôn được lưu trữ trong CSDL dưới sự kiểm soát của O racle InterM edia. D ù nội dung dữ liệu đa phươntỉ tiện được ỉưu trử ở trong hay ngoài CSDL, Oracle InterM eđia vẫn sẽ quản lý tấ t cả các kiểu đối tuợne đa phương tiện và tự đ ộ n s trích siêu dữ liệu cho từng kiểu đổi tượng. Siêu d ữ liệu bao gồm:
> Thông tin về audio, video, image và các dạng d ữ liệu hỗn hợp khác gồm nguồn gốc, vị trí, tên nguồn, v.v.
> Cập nhật thông tin có liên quan đến định dạng dữ ỉiệu và thời gian sửa đổi;
> Kiểu dừ liệu đa phương tiện M IM E (sử dụng trong các ứng dụng W eb và mail);
> Độ rộng, cao của ảnh, độ lớn nội dung ảnh, định dạng ảnh hoặc kiểu nén ảnh;
> Kiểu mã hóa audio, số lượng kênh, tốc độ lấy mẫu, kích thước mẫu, kiều nén, thời gian thực hiện và phần mô tả;
> Độ cao, rộng cùa frame video, tốc độ và độ phân giải của frame, thời gian thực hiện, số lượng fram es, kiểu nén, số lượng m àu, sổ lượng bits và phần mô tả;
> Sự lựa chọn siêu dừ liệu cho ứng đụng (ví dụ như tên ca sỹ hoặc tên hãng phim);
> Siêu dừ liệu của các dạng dữ liệu trong XM L.
V ới các dạng d ữ liệu đa phương tiện, siêu d ữ liệu thường gắn liền với các đặc điểm của kiểu dữ liệu đó như:
> Các đặc điểm cùa Im age: độ cao, độ rộng và độ dài nội dung ảnh, định dạng ảnh vả các định dạng nén ảnh.
> Các đặc điểm của Audio: kiểu mã hóa, số kênh (rãnh), tốc độ lấy mẫu, kich thước mẫu, kiểu nén và thời gian thực hiện (khoảng thời gian).
> Các đặc điểm cùa Video: độ cao và độ rộng cùa frame, độ phân giãi của frame, tốc độ, thời 2,ian thực hiện (khoảng thời gian), số frames, kiểu nén, số màu, và tỷ lệ bits.