本管理系统的数据库采用SQL Server2005,主要有T_Category、T_Content、T_Tag和T_TagInContent这4个表。为了简单起见,用户验证功能等将使用Membership提供者实现,因而用户表和角色表将使用aspnet_regsql.exe自动生成,这个可参阅有关的网上资料,在此就不赘述了。以下是4个表格的详细说明。
1. 分类表:T_Category
字段名称 |
类型 |
允许空 |
说明 |
CategoryId |
int |
否 |
分类编号,主键,自动增量,起始值为10000,主要是为了使用FULLPath进行排序时能直接排序出树结构。如果90000多分类觉得不够,可以设置更大的起始值。 |
ParentId |
int |
是 |
父节点的id |
Hierarchylevel |
int |
是 |
节点的层数,该字段将通过触发器自动生成 |
FullPath |
nvarchar(100) |
是 |
节点的全路径,例如父节点编号为10000,节点编号为10001,则全路径为“.10000.10001.”,这样通过一次排序就可列出数结构。该字段也将通过触发器自动生成。正常来说,只要字段长度足够,可以实现无限层的数,在这里设置为100,大概可以达到10多层,估计也足够了,如果觉得不够,可以加大字段长度。 |
Title |
nvarchar(255) |
否 |
分类标题 |
Image |
nvarchar(255) |
是 |
题图 |
[Content] |
nvarchar(MAX) |
是 |
分类说明 |
SortOrder |
int |
否 |
排序序数,默认值为0,用于分类列表时的排序。 |
State |
tinyint |
否 |
状态,默认值为0,表示可用。值为1表示已删除。 |
Created |
datetime |
否 |
创建时间,默认值为getdate() |
本表包含trg_CategoryInsert和trg_CategoryUpdate两个触发器,用于在插入或更新分类时更新节点层数和全路径,具体情况可下载数据库并附加到数据库上查看,在这就不列出来了。
还需要创建一个“未分类”的分类,这样,就可在分类被删除时,将该分类下的内容全部转移到“未分类”下。
2. 内容表:T_Content
字段名称 |
类型 |
允许空 |
说明 |
ContentId |
int |
否 |
内容编号,主键,自动增量,起始值为1。 |
Title |
nvarchar(255) |
否 |
内容标题。 |
CategoryId |
int |
否 |
内容所属分类。 |
Image |
nvarchar(255) |
是 |
题图 |
Summary |
nvarchar(500) |
是 |
内容摘要 |
[Content] |
text |
是 |
内容 |
Created |
datetime |
否 |
创建时间,默认值为getdate() |
Hits |
int |
否 |
点击量,默认值为0。 |
State |
tinyint |
否 |
状态,默认值为0,表示可用。值为1表示已删除。 |
SortOrder |
int |
否 |
排序序数,默认值为0,用于内容列表时的排序。 |
3. 标签表:T_Tag
字段名称 |
类型 |
允许空 |
说明 |
TagId |
int |
否 |
标签编号,主键,自动增量,起始值为1。 |
TagName |
nvarchar(255) |
否 |
标签,为它创建一个唯一索引。 |
4. 标签与内容关联表:T_TagInContent
字段名称 |
类型 |
允许空 |
说明 |
ContentId |
Int |
否 |
内容编号,外键,与TagId组成复合主键 |
TagId |
Int |
否 |
标签编号,外键,与ContentId组成复合主键 |
数据库下载地址:http://download.csdn.net/detail/tianxiaode/4509484