2.分析大文本与图像数据在数据库内部的存储原理。
图像数据在数据库内部的存储原理
决大多数数据库都要求表中的某些列能存储长度较大的数据,如较长的备注、详细的说明、电话日志,以及一些图像对象如数字照片、屏幕图像和联机图像等。这些信息通常需要2KB以上的容量。为了存储和使用大文本、图像等大型数据,SQL Server提供了TEXT、NTEXT和IMAGE三种数据类型,用来存储长达2GB的数据。
TEXT和NTEXT数据在数据库里被当作一串字符进行存储。可以通过SQL Server提供的函数对这两种类型的数据进行操作。IMAGE数据SQL Server中被视为一个二进制数据流,SQL Server只提供存放这种数据流的场所,不提供任何转换和修改服务,对这种数据流的具体操作是应用程序的任务。
由于TEXT和NTEXT和IMAGE数据的最大长度为2GB,因此关系表并不直接存放这么大的数据,而仅存放一个指向实际数据的指针(长度为16字节),通过指针可以检索到相应的数据:
大文本的存储可以采用三种方式:(1)文件保存在固定的路径下,在数据库中存取文件路径
和名称;(2)在数据库中用长二进制数据类型字段存储大文本;(3)在本地用 OLE存储结构存储大文本。
图像数据在数据库内部的存储原理:XML 是文本型的数据交换结构,对于字符类型的文本交换非常的方便,实际工作中我们往往需要通过 XML 将二进制格式的图形图像信息数据进行数据交换。
在数据库系统中,存储大文本和图像数据的方式有多种,在诸多数据库系统中都提供了大字段的数据类型,如Oracle中Long/Blob/Clob,SQL Server中Text/Image,MySQL中的Text/Longtext/Clob/Blob,其中SQL Server里的Text类型用于处理大于8000字节的字符文本数据,在SQL Server中,小于8000varchar2最大长度字节的文本可以使用基本类型varchar来存储,Text数据类型专门用于存储数量庞大的变长字符数据。最大长度可以达到2^31-1个字符,约2GB,Image数据类型,属于二进制数据类型,该数据类型可用于存储字节数超过8K字节的数据,比如Microsoft Word文档、Microsoft Excel图表以及图像数据(包括.GIF、.BMP、.JPEG文件)等,此外还有Ntext(N)数据类型,Ntext数据类型存储的是可变长度的双字节字符,Ntext数据类型突破了前2种双字节数据类型不能超过4000字符的规定,最多可以存储多达2^30-1
个双字节字符;在Oracle和MySQL中提供的Clob和Blob则是分别用来存储大的字符型字段和大的二进制字段的数据类型。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论