[2].ImageLibrary数据库设计

本程序只用了4个表:Images,Tags,Settings,SearchSQL

本程序图片管理主要按标签进行管理。每张图片有一个主标签和N个虚拟标签这种模式。

 

事先说一下,关于数据库字段的命名很纠结啊,刚开始是采用数据库名+功能这种方式,后来太长了

没有这么弄了…….

 

Tags:标签类 定义各种标签

TagID 主键,自增
TagName 标签名(对应磁盘文件名)
TagShowName 显示名称
IsMainTag 是否是主标签
TagInfo 备注
TagParentID 父标签ID
IsCanContainImage 定义此标签是否能包含图片、是否能拖曳图片到此标签

 

Images:存放图片的表,一张图片对应一条记录

ImageID ID,使用guid做主键
ImageName 图片显示名称
ImageFileName 图片的文件名(磁盘上的文件名)
ImageMainTag 图片主分类,称为主标签,只能有一个
ImageTags 图片其他分类,称为虚拟标签,可以多个
ImageFileSize 图片文件大小
ImageWidth 图片宽
ImageHeight 图片高
ImageHash 图片Hash值,暂时不用
ImageLevel 图片分级
ImageType 图片类型(扩展名)
ImageInfo 备注
CreatedDate 创建日期,暂时不用
ModifyedDate 修改日期,暂时不用
ShootingDate 拍摄日期,暂时不用

 

Settings:储存程序设置,只有2个字段,一个Key,一个Value

 

SearchSQL:这是后来想到的,通过执行SQL语句进行查询。

比如我定义一个“宽屏”,通过执行SQL而不是添加标签来得到图片,节省了添加虚拟标签的工作量

   
ID 主键,自增
ShowName 显示名称
Sql SQL语句,其实就是条件、不含where这个单词
Info 备注
posted @ 2011-10-15 09:53  Suyana  阅读(173)  评论(0编辑  收藏  举报