用SQL Server为Web浏览器提供图像(二)
这篇文章里使用的数据库非常简单,只包含一个表,名字叫Products,代表普通小杂货店里的各种不同的商品。设置数据库的第一步是建在微软SQL Server里建立一个数据库设备(译者注:在SQL Server 7.0里,数据库设备的概念已经取消) 。虽然可以编写SQL脚本来设置数据库,但是使用SQL企业管理器操作更容易些。打开企业管理器,在树中选择数据库设备(Database Device)。单击鼠标右键,在快捷菜里选择新建设备(New Device)。在名称(Name )字段里,输入Grocevb_dev,把这个设备的大小设置为2MB。然后,单击建立(Create Now ) 按钮,就建立了数据库。接着,用同样的方法建立另一个数据库设备,作为日志文件。给这个设备起名叫Grocevb_log ,把它的大小设置为1MB。
下一步,需要建立一个新的数据库。在树中选择数据库(Database),单击右键。然后,在弹出菜单里选择新建数据库(New Database)。在建立新数据库对话框里,输入数据库名称 grocevb,并从下拉列表里选择前面建立的Grocevb_dev 作为数据设备, Grocevb_log 作为日志设备。然后,单击建立(Create Now)按钮,数据库就建立了。我们暂时忽略有关数据库安全性、数据库备份、用户访问等方面的问题,因为它们跟这篇文章没有直接的关系。
我们建立的数据库只有一个表,表名是Products。在这个表里有几个字段,其中,有两个字段prod_image 和 prod_imagetype 需要特别说明。prod_image 字段的数据类型是image图片,在这个字段里保存某个产品的图片。prod_imagetype 字段保存图片的类型,比如.gif 或 .jpg,这是在互联网上最常用的两种图片类型。这个表的主关键字是prod_id,它是非集簇的索引。这样,每个图片都有一个唯一的 prod_id。在 列表 A里给出了建立 Products 表的SQL脚本。在这个表里,只放了四个产品,用于本文演示。
列表A:建立products表的脚本。
/** 用来建立ImageLoader VB动态链接库使用的产品表。**/
CREATE TABLE Products
(
prod_id int CONSTRAINT pk_prod PRIMARY KEY NONCLUSTERED IDENTITY(1, 1),
categ_id int NULL CONSTRAINT fk_prod REFERENCES categories(categ_id),
prod_name char(80) NOT NULL UNIQUE NONCLUSTERED,
prod_unitprice money NOT NULL,
prod_unitquant char(15) NOT NULL,
prod_desc varchar(255) NULL DEFAULT ('unknown'),
prod_imagetype char(3) NOT NULL,
prod_image image NOT NULL,)
GO