关于分表与表内数据结构划分的问题

newdigitime 2009-07-01 05:55:25
请教高手几个问题,谢谢:

我在研究一个某地分类信息的项目,在对表的数据结构划分方面有一些困惑。

譬如分类信息中有一级大类
1.二手物品 2.招聘求职........n.生活服务

如"二手物品"又可分如下2级分类:
1.家具 2.数码 3.办公 4.文件.............20.服装

每个二级分类下面还有一些不同工种属性(可算3级分类吧),如“家具”类下还要选“桌子、衣柜、电视柜、椅子”
而且这些3级分类是可多选的,譬如某人发布信息,转让家具,可能既有桌子,也有椅子,即“桌子|椅子”

现在面临两种选择:
A) 将家具、数码、办公这些二级类别共用一个数据表,用表中的一个字段“xxx”来存放3级分类
如“xxx”字段中可能存放的数据是“桌子|衣柜”,也可能是“相机/电视机”
B) 针对每一个二级分类如家具、数码都建一个独立的数据表。针对这种方案,又有两种选择:
<B1> 在“家具”数据表中,仍将“桌子、衣柜、电视柜、椅子”等属性一并放在一个“xxx”字段中
<B2> 在家具数据表中,添加“桌子”字段、“衣柜”字段.......

问题一:
请问哪一种方案好一些?如果是B方案,那么 将 桌子 衣柜 这些是分别建立一个字段,还是合并写在一个字段中好?

用户进行信息搜索时,譬如搜索“桌子”类信息,用“桌子|衣柜|电视柜”这种组合存放在同一字段的效率与分别建立字段的
效率会差很多吗?

问题二,属附带问题:
一个数据库中存在几十甚至上百个表格,对系统会有什么负面影响吗?
SQL中建立全文索引,对中文信息有用吗?全文索引是通过对全文抽取大量的“关键词”来建立索引的吗?










...全文
33 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
iamltd 2009-07-02
  • 打赏
  • 举报
回复
首先,从扩展性来说,按树形结构建立表是最好的,当然,效率也是最低的。^_^

通常考虑的是一级和二级分类的数目是否确定,确定的话可以为每个分类建立一个表。这样更新、查询效率都很高,只是搜索效率低些,再建个搜索索引表就好了。

建议多个属性不要放到一个字段。放到一个字段的话维护和查询效率都比较低。宁愿用多条记录来表示多个属性。
分别建立字段也是不可取的,属性的数目肯定不能确定,你的字段是不可能无限扩展的。

第二个问题,数据库里面表的多少不影响效率,只是在同一个操作中使用的表越多越慢。。。
newdigitime 2009-07-02
  • 打赏
  • 举报
回复
唉,没人指点啊

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧