多媒体数据库是一个由若干多媒体对象所构成的集合,这些数据对象按一定的方式被组织在一起,可为其他应用所共享。
多媒体数据库是能够有效实现多媒体数据的存储、读取、检索等功能的数据库系统,它继承了传统数据库的一些优点,并能对具有时空关系的数据进行同步和管理。
多媒体数据的特点:
1、数据量巨大且媒体之间量的差异十分明显,而使得数据在库中的组织方法和存储方法复杂。
2、媒体种类的繁多使得数据处理变得非常复杂。前边介绍了4种多媒体数据,而实际上,在具体实现时,常常根据系统定义、标准转换而演变成几十种媒体形式。
3、多媒体不仅改变了数据库的接口,使其声、图、文并茂,而且也改变了数据库的 *** 纵形式,其中最重要的是查询机制和查询方法。
媒体的复合、分散、时序性质及其形象化的特点,使得查询不再只是通过字符查询,查询的结果也不仅是一张表,而是多媒体的一组“表现”。接口的多媒体化将对查询提出更复杂、更友好的设计要求。
扩展资料
多媒体数据库的核心是数据模型,从总体发展上看,多媒体数据库的数据模型可分为如下3类:
1、关系数据模型
关系数据模型以关系代数作为其理论基础,发展至今已能够非常完善的处理传统的结构化数据。但是多媒体数据库里包含了大量的图形、图像、声音和视频等非结构化数据,这些数据结构异常复杂,且大部分不能用关系模型表示。
2、面向对象数据模型
面向对象数据模型对非结构化数据进行表示和 *** 作非常方便,但是其技术没有关系数据模型那样成熟,理论研究和应用开发中还有很多问题需要解决。并且需要从底层重写代码,开发工作量大、周期长,由于这些问题的局限。
使用面向对象数据模型开发多媒体数据库系统还主要应用在大公司指定开发的专用项目上,对于一般多媒体数据库系统开发项目来说,应用面向对象数据库模型来进行开发,从技术和经济条件上来讲都是不适用的。
3、扩充的关系数据模型
使用扩充的关系数据模型来进行多媒体数据库系统的开发是当前最常用也是最成熟的方法。在传统的关系数据模型中引入了面向对象的思想、超文本(hypertex1)模型或超媒体方法,就解决了图形、图像、声音和视频等非结构化数据不能用关系模型表示的问题。
参考资料来源:百度百科-多媒体数据库
采用大对象类型。mysql 大对象存取:
类型一般应该用mediumblod,
blob只能存2的16次方个byte,
mediumblod是24次方,
一般来说够用了.longblob是32次方有些大.
MYSQL默认配置只能存1M大小的文件,要修改配置,WIN版本的在mysql.ini文件中
修改max_allowed_packet,net_buffer_length等几个参数,或直接SET GLOBAL varName=value.
linux版本可以在启动参数后加-max_allowed_packet=xxM等几个参数.
MYSQL存大对象最好直接就setBinaryStream,又快又方便.
而不要先插入空再造型成BLOB然后再setBlob
例子:
import java.sql.*
import java.io.*
public class DBTest {
static String driver = "org.gjt.mm.mysql.Driver"
static String url = "jdbc:mysql://localhost:3306/test"
static String user = "root"
static String passwd = "passwd"
public static void main(String[] args) throws Exception {
Connection conn = null
try {
Class.forName(driver)
conn = DriverManager.getConnection(url,user,passwd)
int op = 1
//插入
if (op == 0) {
PreparedStatement ps = conn.prepareStatement("insert into tb_file values (?,?)")
ps.setString(1, "aaa.exe")
InputStream in = new FileInputStream("d:/aaa.exe")
ps.setBinaryStream(2,in,in.available())
ps.executeUpdate()
ps.close()
}
else {
//取出
PreparedStatement ps = conn.prepareStatement("select * from tb_file where filename = ?")
ps.setString(1, "aaa.exe")
ResultSet rs = ps.executeQuery()
rs.next()
InputStream in = rs.getBinaryStream("filecontent")
System.out.println(in.available())
FileOutputStream out = new FileOutputStream("d:/bbb.exe")
byte[] b = new byte[1024]
int len = 0
while ( (len = in.read(b)) != -1) {
out.write(b, 0, len)
out.flush()
}
out.close()
in.close()
rs.close()
ps.close()
}
}
catch (Exception ex) {
ex.printStackTrace(System.out)
}
finally {
try {conn.close()}
catch (Exception ex) { }
}
}
}
电子档案系统是企业通过建立统一的标准,规范企业整个文件管理的流程,应包括采集、移交接收、归档、存储管理、统计、借阅利用和编研发布等功能。作为一款专业的档案管理软件,会博通功能涵盖档案收集、档案著录、档案查询、档案借阅、档案利用、档案统计、档案鉴定、档案销毁的全生命周期管理,适用于科技档案管理、人力资源信息管理、证照管理、客户资料管理、文件资料管理等等,同时还适用于自动化办公应用。基本上一个软件就能够满足一个企业当中,不同人员的办公需求。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)