一个话题有多个附件,这种表结构该如何设计?

糊糊 2008-04-13 01:55:56
1.就拿论坛来说吧,一个话题添加了多个附件,要设计什么样的表结构?
2.同时问一个问题就是索引怎么建立和使用?

先抛砖引玉吧,我的想法是,做2个表,一个新闻表,一个附件表

新闻表:
newsid,content,attachlist(string类型,255长度)

附件表:
attachid,picurl(图片保存路径),newsid
newsid是该附件从属于那个新闻的id号

这两个表的关系是1对多,就是一条新闻对应多个附件,所以
这里有个问题就是:是不是应该建立关系,即附件表的newsid=新闻表的newsid
还是把附件表的newsid建立一个索引

我记得索引的建立是选择一下就可以了,但是索引建立之后跑到哪里去了,又怎么用呢,难道是系统自己把这个字段索引了并且建立了临时表吗?
我在新闻表中搞一个attachlist的目的就是把这条新闻有什么附件给索引起来用|分割开来,形如A |B |C |D这样的,我这样是建立索引吗?

至于怎么往数据库中存储数据是这样想的:
在添加新闻的时候,先猛上传附件,上传了一个附件后(这个附件的newsid可以先空着),在添加新闻的表单的一个框中增加刚才上传的附件的attachid号(自动增加的),这个框就是attachlist(是隐藏的),最后,新闻编辑好了,点击确定后,后台处理,将添加的新闻的newsid得到后,根据得到的attachlist中的attachid列表,更新附件表中的newsid。


大家有什么高招啊?
主要回到2个问题:
1.就拿论坛来说吧,一个话题添加了多个附件,要设计什么样的表结构?
2.同时问一个问题就是索引怎么建立和使用?
...全文
928 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
kelph 2008-04-13
  • 打赏
  • 举报
回复
你如果确定你的需求是你所说的
那么只需要附件表记录newsid即可
糊糊 2008-04-13
  • 打赏
  • 举报
回复
我这样建表,觉得新闻表和附件表都可以查对应的东西,只不过就是新闻表中查一条新闻对应的附件要在程序中分割attachlist字符串,而反过来查一个附件属于哪个新闻,就很容易用sql查(我说的是单表查询,就是在新闻表一个表中查新闻的附件)了,就是说我的这种建表方法从新闻查附件使用sql不方便而已,但是如果把附件中的newsid和新闻表中的newsid建立一个关系(就是多对一),应该就可以使用联合查询查到每一条新闻有什么附件了。

当然,程序对数据库的操作要到位了,不然,附件表和新闻的对应关系就断了。
糊糊 2008-04-13
  • 打赏
  • 举报
回复
kelph ,怎么没有主从关系呢?以我在access的经验,把新闻表和附件表建立一个关系,它们就是主从关系了呀。

qianjin036a ,你说的refrence是不是就是关系?

sqlserver中有关系可以建立的,只不过我很少用。
kelph 2008-04-13
  • 打赏
  • 举报
回复
看你的描述,话题与附件之间并无主从关系。
附件可以不被话题引用,似乎被多个话题同时引用也无不可?

-晴天 2008-04-13
  • 打赏
  • 举报
回复
1.附件表如你所建,只要符合你的设计要求就行.
如果你想将主从关系做得严格一些,那,对newsid建立一个外键与新闻表reference,不建的话,自己在程序中控制.
2.索引可以在企业管理器中建立,在表设计窗口点上面的"管理索引/键"按钮.也可以用SQL语句建,你自己在联机丛书中查一下Alter table命令的用法.建立后,只要你在查询时用order by,DBMS就会自己的去用索引.
huangqing_80 2008-04-13
  • 打赏
  • 举报
回复
在附件表建立多个主键
huangqing_80 2008-04-13
  • 打赏
  • 举报
回复
第一次坐SF
huangqing_80 2008-04-13
  • 打赏
  • 举报
回复
sf
糊糊 2008-04-13
  • 打赏
  • 举报
回复
kelph ,你说的对,我的需求确实很简单,建立一个attachlist字符串,只不过是数据冗余,仅仅为了在查询和程序处理中方便一点而已(就是单表查询,不用联合),是附加数据。
-狙击手- 2008-04-13
  • 打赏
  • 举报
回复

请题表: id ,title,note
附件表: id,t_id,..........
关系 id = t_id


这是记事狗微博系统最新官方版,记事狗微博系统,是一套创新的PHP开源微博程序,兼有BBS和轻博系统特性,支持短信、手机客户端,可与新浪微博平台内容互通,既可用来独立建站也可通过Ucenter与已有网站整合,通过微博评论模块、关注转发机制打通全站的信息流、关系流,是新时代网站运营不可或缺的系统。整个V3.5版本从数据库结构、代码规范完善、系统负载性能、后台安全管理、信息导航架构、注册认证体系、内容审核管理、用户关系挖掘、多客户端接入、应用功能扩展等十多个方面做了全面改进提高! 更新说明: 记事狗V4.5.0 beta 版本更新 +--------------------------------------+ 全新的UI风格 全新的导航设计 积分商城功能 内容推送功能(重要动态) 频道模块升级 发布框全新设计,支持带标题微博 微博支持匿名发布 新增加微博相册功能 修复程序安全问题(感谢 datuz@360 、 Chora@乌云 的反馈) 记事狗微博 V4.0.5 Build20130521 1、支持海量数据,可自由分布式架构和关键; 2、全新云验证码,不用再担心注册机的骚扰,还可赚广告费; 3、用户登陆优化,不用再费力猜测输入的昵称是不是自己的; 4、注册过程完善,轻松解决注册后不能快速融入社区的困扰; 5、创新频道模块,即拥有论坛版块优势,又可规避列币驱逐良币的难题; 6、全新顶赞机制,不仅有效激励用户,更让精彩内容不再错过; 7、图片附件任意扩展,不仅支持FTP服务器负载均衡,更支持阿里云存储; 8、用户资料更丰富,启用哪些用户属性、在哪里显示管理员说了算; 9、图文混排更精彩,是微博也是轻博,满足不同用户的需要; 10、在线图片搜索添加,网上海量的图片随便选,让网站更引人入胜; 11、文字样式更多彩,是粗体还是彩色、是代码和引用都可以; 12、私信支持情图片,好友私聊也精彩; 13、有了马甲更好运营,可用多个账户围观讨论,让新人感受网站的魅力; 14、邮件提醒抓回用户,即可即时消息提醒、也可以定期top内容通知; 15、创新左侧导航,即有两栏的大气、又有三栏的明了,随意开启关闭; 16、附件功能更完善,上传下载都有积分,还可指定用户组不受积分限制等; 17、全新模板界面,简约、大气、素雅,重点内容更突出; 18、精彩内容轻松推荐,可推荐到话题、微群、频道并直接标记展示; 19、重要内容全站置顶,还可以通知到手机客户端,全站用户都不会错过; 20、评论详情更精彩,不仅可直接查看精彩评论,更支持类网易新闻的盖楼评论; 21、有奖转发激活网站,没事做个转发抽奖活动让全站用户动起来; 22、图片投票更有趣,文不如不如图啊; 23、系统定制更方便,是微博还是微贴、是顶还是赞,后台一键设置; 24、广告管理更强大,用链接、文字还是图片,想单独设置还是批量管理均可 25、自由游客首页设置,选新浪还是腾讯模式、用图片墙还是频道看你的心情; 26、任意控制用户访问,可单独设置任何用户组、用户和IP的访问权限; 27、全新android客户端V2.0,支持频道、赞、置顶内容推送等; 28、后台URL链接地址管理及黑名名单功能,方便站长管理和控制微博中的URL网址; 记事狗V4,不只是微博! 记事狗,为轻运营而生!
记事狗微博系统,是一套创新的PHP开源微博程序,兼有BBS和轻博系统特性,支持短信、手机客户端,可与新浪微博平台内容互通,既可用来独立建站也可通过Ucenter与已有网站整合,通过微博评论模块、关注转发机制打通全站的信息流、关系流,是新时代网站运营不可或缺的系统。整个V3.5版本从数据库结构、代码规范完善、系统负载性能、后台安全管理、信息导航架构、注册认证体系、内容审核管理、用户关系挖掘、多客户端接入、应用功能扩展等十多个方面做了全面改进提高! 更新说明: 记事狗微博 V4.0.5 Build20130521 1、支持海量数据,可自由分布式架构和关键; 2、全新云验证码,不用再担心注册机的骚扰,还可赚广告费; 3、用户登陆优化,不用再费力猜测输入的昵称是不是自己的; 4、注册过程完善,轻松解决注册后不能快速融入社区的困扰; 5、创新频道模块,即拥有论坛版块优势,又可规避列币驱逐良币的难题; 6、全新顶赞机制,不仅有效激励用户,更让精彩内容不再错过; 7、图片附件任意扩展,不仅支持FTP服务器负载均衡,更支持阿里云存储; 8、用户资料更丰富,启用哪些用户属性、在哪里显示管理员说了算; 9、图文混排更精彩,是微博也是轻博,满足不同用户的需要; 10、在线图片搜索添加,网上海量的图片随便选,让网站更引人入胜; 11、文字样式更多彩,是粗体还是彩色、是代码和引用都可以; 12、私信支持情图片,好友私聊也精彩; 13、有了马甲更好运营,可用多个账户围观讨论,让新人感受网站的魅力; 14、邮件提醒抓回用户,即可即时消息提醒、也可以定期top内容通知; 15、创新左侧导航,即有两栏的大气、又有三栏的明了,随意开启关闭; 16、附件功能更完善,上传下载都有积分,还可指定用户组不受积分限制等; 17、全新模板界面,简约、大气、素雅,重点内容更突出; 18、精彩内容轻松推荐,可推荐到话题、微群、频道并直接标记展示; 19、重要内容全站置顶,还可以通知到手机客户端,全站用户都不会错过; 20、评论详情更精彩,不仅可直接查看精彩评论,更支持类网易新闻的盖楼评论; 21、有奖转发激活网站,没事做个转发抽奖活动让全站用户动起来; 22、图片投票更有趣,文不如不如图啊; 23、系统定制更方便,是微博还是微贴、是顶还是赞,后台一键设置; 24、广告管理更强大,用链接、文字还是图片,想单独设置还是批量管理均可 25、自由游客首页设置,选新浪还是腾讯模式、用图片墙还是频道看你的心情; 26、任意控制用户访问,可单独设置任何用户组、用户和IP的访问权限; 27、全新android客户端V2.0,支持频道、赞、置顶内容推送等; 28、后台URL链接地址管理及黑名名单功能,方便站长管理和控制微博中的URL网址; 记事狗V4,不只是微博! 记事狗,为轻运营而生!

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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