SQL Server数据库对图像数据之存储机制

数据库 SQL Server
我们今天是要和大家一起探讨的是SQL Server数据库对图像数据之存储机制,以及对其在实际应用中所占的重要性的描述。

以下的文章主要是介绍SQL Server数据库对图像数据之存储机制介绍,我们大家都知道在一个完善的医院中信息MIS 图像数据的实际存取是很重要的,比如X光片、CT像片的保存。一方面,这些图像数据在远程诊疗为准确诊断病情提供了重要的依据。

另一方面,也为快速查阅病人资料提供了基本条件。图像数据的存取在其它应用系统如GIS中也有广泛的应用。

1、SQL Server中图像数据的存储机制

在MIS SQL Server数据库 中,对于小于 8000 个字节的图像数据可以用二进制型(binary、varbinary)来表示。但通常要保存的一些医学影像图片都会大于 8000个字节。SQL Server提供了一种机制,能存储每行大到 2GB的二进制对象(BLOB),这类对象可包括image、text和ntext三种数据类型。Image数据类型存储的是二进制数据,***长度是 231-1 (2,147,483,647)个字节。

BLOB数据在MIS SQL Server系统中的存储方式不同于普通的数据类型,对于普通类型的数据系统直接在用户定义的字段上存储数据值,而对于BLOB类型数据,系统开辟新的存储页面来存放这些数据,表中BLOB类型数据字段存放的仅是一个16个字节的指针,该指针指向存放该条记录的BLOB数据的页面。

2、SQL Server中图像数据的存取

在MIS SQL Server数据库中,当数据小于 8000 个字节时,可以用普通的SQL操纵语句(SELECT、INSERT、UPDATE、DELETE)来完成对字段的操纵,当数据大于8000个字节时,SQL提供了 WRITETEXT 、READTEXT和UPDATETEXT这三个函数来读取和修改数据。这三个函数的使用方法为:

(1)WRITETEXT {table.column text_ptr}[WITH LOG] {data}

table.column为表中的字段,text_ptr为一个16个字节的指针,data为要写的数据值。可选参数WITH LOG表示是否要写入日志文件中。

例:

 

DECLARE @ptrval binary(16) --指针

 

 

  1. SELECT @ptrval = TEXTPTR(img_ct) FROM zy_ct WHERE id_ct = 20010101001 
  2. WRITETEXT zy_ct.img_ct @ptrval 0x024324142342134214213421421454353452341  

 

 

(2)READTEXT {table.column text_ptr offset size} [HOLDLOCK]

 

table.column为表中的字段,text_ptr为一个16个字节的指针,offset 为偏移量,即从第几个字节开始读数据,size为要读的字节数,HOLDLOCK 为在读数据中是否充许其他用户修改该数据。

例:

 

 

  1. DECLARE @ptrval varbinary(16)  
  2. SELECT @ptrval = TEXTPTR(img_ct) FROM zy_ct WHERE id_ct = 20010101001 
  3. READTEXT zy_ct.img_ct @ptrval 1 25  
  4.  

 

 

(3) UPDATETEXT

 

 

 

  1. {table_name.dest_column_name dest_text_ptr}  
  2. {NULL|insert_offset}{ NULL | delete_length}  
  3. [WITH LOG][ inserted_data|  
  4. {table_name.src_column_name src_text_ptr}  
  5.  

 

 

table_name.dest_column_name 为要修改的text, ntext, 或 image字段;dest_text_ptr为指向其的指针;insert_offset为偏移量,对于text和image为从第几开始字节开始写,对于ntext为从第几个字符(双字节)开始写;delete_length为从insert_offset开始删除delete_length长度的字节(符),为0时不删除,为NULL时为删除从insert_offset开始到结束的所有数据。要插入的数据为 inserted_data为,也可是表table_name的src_column_name字段中指针 src_text_ptr所指数据。

以上的相关内容就是对SQL Server数据库对图像数据的存储机制的部分内容的介绍,望你能有所收获。

【编辑推荐】

  1. 对SQL Server 2008的商业智能的解析
  2. 三种SQL Server 恢复模式的比较
  3. 造成SQL Server查询速度慢的原因与优化
  4. 造成SQL Server查询速度慢的10种原因
  5. SQL Server 分布式数据库的2种不同系统
责任编辑:佚名 来源: 赛迪网
相关推荐

2010-07-15 17:28:50

SQL Server

2010-07-23 16:03:36

SQL Server存

2010-06-30 16:48:19

SQL Server数

2011-07-19 15:18:46

存储过程sql语句

2011-03-15 09:55:07

SQL Server2数据库崩溃还原数据库

2010-06-28 15:12:11

SQL Server数

2010-07-02 14:46:20

SQL Server数

2021-05-17 06:57:34

SQLServer数据库

2010-07-08 11:05:14

SQL Server数

2011-07-28 14:31:47

SQL Server数存储过程

2011-07-13 16:19:54

存储过程SQL Server数

2010-05-10 09:48:16

SQL Server数

2011-03-15 09:52:40

SQL Server2数据库恢复系统

2011-08-23 11:28:02

SQL ServerAWE机制

2011-08-29 10:55:03

SQL Server分页存储过程优化效率分

2010-09-06 11:05:05

SQL SERVER语句

2010-07-22 15:13:08

SQL Server

2011-08-10 09:12:44

SQL Server插入图像存储过程

2010-06-30 15:52:05

2011-04-29 14:30:23

点赞
收藏

51CTO技术栈公众号