频 道 直 达 - 新闻 - 读书 - 培训 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

Oracle处理多媒体信息的原理及展望(1)

作者: 出处:赛迪网  (  ) 砖  (  ) 好  评论 ( ) 条  进入论坛
更新时间:2006-12-15 10:46
关 键 词:Oracle
阅读提示:本文将就Oracle对多媒体信息进行处理的方式,工具,特色以及一些基本原理做一个综述。

长期以来,多媒体信息在计算机中都是以文件形式存放,由操作系统管理的,但是随着计算机网络,分布式计算的发展,对多媒体信息进行高效的管理,存取,查询已经成了一种迫切需求。而关系数据库却有着强大的数据管理能力。两方面结合,多媒体数据库由此应运而生。本文将就Oracle对多媒体信息进行处理的方式,工具,特色以及一些基本原理做一个综述。

但是我们不能不遗憾的看到,现有数据库对一些多媒体数据所特有的操作能力还是很有限的。针对多媒体数据库的性能调优现在也遇到了新的问题。虽然如此,多媒体数据库仍旧产生了广阔的应用价值和前景。

当然本文不可能面面俱到,有关Oracle多媒体信息处理的具体内容,请查阅Oracle相关手册。

一.应用前景综述

随着计算机处理能力的大副提高,多媒体早已经融入到了计算机当中了,如果缺少了多媒体,缺少了各种多姿多采的图象,音频,视频,很难想象计算机如今会走入千家万户。长期以来,多媒体信息在计算机中都是以文件形式存放,由操作系统管理的,但是随着计算机网络,分布式计算的发展,  Oracle作为一家著名的数据库厂商,在多媒体信息处理上,更是走在了前边。本文将就Oracle对多媒体信息进行处理的方式,工具,特色以及一些基本原理做一个综述。希望对读者有所启发。当然,关系数据库还有好多家,虽然开发工具,编程接口语句各异,但在数据类型、处理方式上比较相似。所以我们在此略过。

二.多媒体数据类型介绍

在关系型数据库中,多媒体信息等大型对象是由lob型字段来进行存取的。在Oracle8i中,正式引入了此标准,以适应多媒体大对象处理的需求。Oracle数据库中,lob型数据有以下几种:

Clob: 和Oracle7的long型相似,clob可以存储单字节型数据。

Nclob: Nclob存储定宽的多字节国家字符集数据。

Blob: 和Oracle7中的long raw类型相似。可以存储无结构的二进制数据。Oracle8没有对这种数据进行解释 ,只是按照原来的形式存储和检索它。

Bfile: Bfile允许对Oracle数据库以外存储的大型二进制文件进行只读形式的访问。和其它三种lob类型数据 不同的是,bfile类型数据存储在一个单独的文件中,该文件不由Oracle来维护。

特点:

1.在Oracle7中,相应的long或long raw字段有2g的限制,而lob的限制是4g 。

2.lob可以使用调用接口OCI或者由pl/sql利用dbms_lob包进行操纵。

3.lob不象long型那样每个表中最多只有一个字段的限制,其可以有多个,而又可以利用触发器的特性。

4.lob数据处理可以获得与其它数据同样的事物特性。

5.lob的存储比较特殊,它并不是跟其他数据存储在同一个数据库表中,而是可以单独存放于不同的表空间中,由一个定位符指向实际的lob数据。

三.多媒体大对象存取例程举例

按照如下步骤来完成各个操作:

(1)先建立一个数据库表:

create table lobdemo(key NUMBER KEY,
   clob_col CLOB,blob_col BLOB,bifle_col BFILE);
 

这个数据库第一列存储一个码,另外三列存储lob型数据。

(2)表建好以后,往表中插入一条数据:

 
insert into
lobdemo(key,clob_col,blob_col,bfile_col) values
(10,'abcdefghijklmnopqrsatuvwxyzasdffasfsdS',
empty_blob(),null);
 

在这一条数据中,第二列我们插入一个字符串,它被格式化为clob类型数据进行存储;第二列我们使用empty_blob()函数来初始化一个定位符,以后就可以获取这个定位符进行比如select,update等操作了;第三列赋空值,它并没有获得一个定位符,这是与empty_blob()函数的区别。

(3)查询插入表中的数据

 
select blob_col from boldemo where key=20;
 

注意:这一sql语句的返回结果是一个定位符(locator),而不是实际的数据本身。

(4)修改数据库中数据

 

 
update lobdemo SET blob_col='aedevbagddgagdfdfasasdfdsa' where key=10;

从这些sql语句当中,我们看到了lob型数据处理的基本方法,发现与其他类型数据处理相似。但是sql语句中lob型数据处理的特殊性在于以下方面:

(1)bfile文件的处理:

bfile类型有着特殊性,跟clob,blob不同。实际的数据文件存储在操作系统的外面:所以有两个特点:1.没有事务性控制 2.bfile是只读的,不能用dbms_lob或oracl8 oci进行修改。让我们来看对bfile的操作步骤:

<1> 为了访问外部文件,服务器需要知道文件在操作系统中的位置。下面我们建立一个目录:

create DIRECTORY utils AS '/home/utils';

utils表示目录逻辑名,'/home/utils'是实际目录。

<2>使用bfilename函数插入一行数据:

 
insert into lobdemo(key,bfile_col) 
   values (-1,biflename('utils','file1'));
 

bfilename函数的第一个参数是逻辑目录名,第二个参数是文件名。注意:这一行中插入的是一个指向/home/utils/file1的lob定位符,并不是文件本身。

共2页: 1 [2] 下一页
【内容导航】
发表
查看
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·SQL Server入门到精通 (查看51232次)
·SQL Server 2005全解 (查看47163次)
·Oracle数据库开发指南 (查看29936次)
·Oracle SQL 内置函数大全 (查看27868次)
·MySQL数据库备份 (查看23633次)
订阅技术快讯
电子杂志下载
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
名称:Vista精品应用黄皮书
简介:《Vista精品应用黄皮书》囊括了Vista的各方面内容。此次的精简版,是将里面的内容做了提取,便于用户下载和使用。内容包含了各种Vista的安装与实施、技巧与解析以及各种Vista相关学习文档和相关软件的安全下载。该电子书是了解和应用Vista人员必备的工具手册,并且也是第一本
名称:2006中国IT论坛精品集合
简介:本书由“51CTO论坛推广联盟”制作完成。书中所有内容均来自各联盟成员的论坛(网站)。制作本书的目的是为了集中大家的优势资源,将更多更精彩的内容带给广大技术爱好者。本书是联盟成立以来制作的第一本书。
关键字阅读
频道精选
主编信箱 热线:010-66476606 告诉我们您想看的:专题 文章
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 意见反馈 | 网站地图
Copyright©2005-2007 51CTO.COM 版权所有