1,我想要的是无论按照哪种方式发布,按照主题或者按照日期
在检索时也无论按照哪种方式发布,按照主题或者按照日期,都能把这篇文章检索出来 ---
给文章两个分类字段关联分类表
查询时根据选择构造不同的SQL语句或过滤语句3,如果按主题搜索 胎儿发育,能同时检索出孕早中晚 3期的 数据
BOM问题,查相关例子
在检索时也无论按照哪种方式发布,按照主题或者按照日期,都能把这篇文章检索出来 ---
给文章两个分类字段关联分类表
查询时根据选择构造不同的SQL语句或过滤语句3,如果按主题搜索 胎儿发育,能同时检索出孕早中晚 3期的 数据
BOM问题,查相关例子
类别表(ClassID,ParentClassID,ClassName,ClassDesc,...)
这个就是普通的类别设计,唯一多了一个父亲类别(ParentClassID),就是为了实现那种一个类别属于其他大类别的关系。文章表(ArticleID,ArticleTitle,ArticleContent,...)
这个表没有任何特殊性,就是普通的文章表文章类别表(ClassID,ArticleID)
这个表不能跟文章表合并,为什么呢?为了满足你那种文章按不同标准属于不同类别的需求,如果保存在文章表,文章就只能属于一个类别,跟你的需求相背。个人建议,仅作设计参考
可以让你关联任意文章和任意类别。如果你一个类别可能有两个父亲类别,那么可能要拆分类别表为:
类别表(ClassID,ClassName,ClassDesc,...)
类别关联表(ClassID,ParentClassID)这样应该就能满足多对多的类别关系
大类表 T_CLASS:ID NAME PID
1 按时间 0
2 准备期 1
3 怀孕期 1
4 孕早期 3
5 孕中期 3
6 孕晚期 3
7 按主题 0
3 孕前产后 7
....
分类表 T_TYPE: ID NAME
1 怀孕与优生
2 不孕不育
3 胎儿发育
4 孕期饮食
5 孕妇保健
...
分类大类表 T_CLASSTYPE: CID TID
2 1
2 2
4 3
4 4
4 5
...
文章表 T_Article: ID TID(分类ID) ...
如果我按照时间建立索引,类似 001 000 000 这样的模式,那可以,没有问题,那么当有多种检索方法时能?
我不知道我的方法是否很菜 或者很不专业,比如 按照时间 为 A-001 001 000 按照主题为 B-001 001 000
在此只有2个分类时 添加这2个层次字段可以满足要求。但是将来我如果在最顶级增加了 按照 性别搜索,是不是就得 又添加一个 C-001 001 000 这显然不怎么科学 。
或许我的说法很没基础知识,还是希望大哥们多发表见解帮忙。
这个帖子由于发布时不小心刷新又发了一帖,所以总分有200分,小弟不会亏待你的。
自己水平太低,得抓紧努力。
类别表(objid,parentid,objname,objjc)
这样应该就能满足这个关系 如下表:
USE [test]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[type](
[Objid] [int] IDENTITY(1,1) NOT NULL,
[Parentid] [int] NOT NULL DEFAULT (0),
[Objname] [varchar](20) COLLATE Chinese_PRC_CI_AS NOT NULL,
[Objjc] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[Objorder] [int] NULL CONSTRAINT [DF_type_Objorder] DEFAULT (0),
[Objpy] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[Objexplain] [varchar](255) COLLATE Chinese_PRC_CI_AS NULL,
[Memo] [text] COLLATE Chinese_PRC_CI_AS NULL,
CONSTRAINT [PK_type] PRIMARY KEY CLUSTERED
(
[Objname] ASC
) ON [PRIMARY],
CONSTRAINT [IX_type_ID] UNIQUE NONCLUSTERED
(
[Objid] ASC
) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]GO
SET ANSI_PADDING OFF
GO
USE [test]
GO
ALTER TABLE [dbo].[type] WITH CHECK ADD CONSTRAINT [FK_type_type] FOREIGN KEY([Parentid])
REFERENCES [dbo].[type] ([Objid])