首页 新闻 会员 周边

一表对多表的问题

0
悬赏园豆:60 [已解决问题] 解决于 2010-08-28 16:37

比方:对分别新闻(article)和图片(photo),发表评论(comment),当新闻系统与图片系统,评论系统都是独立域名时,如何设计这些数据表和关系才是最佳方案。

之上可能还不够复杂,再进一步:
系统C中资源(resource)将与系统A中Course,系统B中Question关联,类似于在一个数据库中Resource与Course或Question将是多对多的关系,只是现在他们都在不同的系统下工作。如何设计这些表及其关系才是最佳方案。

问题补充: @Galactica 各个表的实体和操作肯定在不同库(不同dll)中,各表也不一定在一个数据库中。各个系统分布式部署,wcf通信。 在系统A或系统B中建立(resource_temp)表保存关联到的系统C中的(resource)数据。或者在Course中或者Question中新增字段保存Resource的ID序列,然后去取。或者还有其他办法? 其实说简单点,就是原来在一个数据库中,两表间多对多关系,及进一步,一表与多个表多对多关系在分布式部署时如何设计。当然各表都放一个数据库又简单点,但各表又在不同数据库中又如何。 @yeyang 我想实现一种解决方案:当需要分布式部署时很容易可以分布式,当需要在一起时有很容易集中部署在一起。我在代码中已经实现可将任何程序集进行分布式部署。只是对于数据库中的这些数据关系的设计比较没有概念。 两种方案:1、数据库不分开,就一个。数据关联关系在一个库中维护,比较容易。2、多数据库,数据关联关系在主表所在数据库中维护,而且只维护必要字段。 分布式高手帮帮忙啊,虽然想到如何解决,不知那些大型系统分布式时数据库是如何设计的。
qingspace的主页 qingspace | 初学一级 | 园豆:140
提问于:2010-08-15 22:06
< >
分享
最佳答案
0

和传统的设计一样,但是要考虑以后表的容量,或者它三种评论是否有不一样的属性。可考虑放在一个表,或三个评论表里。不同域名系统在插入和获取数据的时候,从一个数据库中获取,没有啥影响。

收获园豆:30
Astar | 高人七级 |园豆:40805 | 2010-08-15 23:13
@qingspace:其实我建议多建几个表,因为少个where条件性能要好一点,不管是前台还是后台的管理,查询是少不了。
Astar | 园豆:40805 (高人七级) | 2010-08-15 23:32
其他回答(4)
0

你的对新闻(article),对图片(photo),对视频(video)发表评论(comment) 是放在一台机器上,还是分开放在多台机器上?

域名不影响数据表设计,link 中指明就行。

 

你说了这么多,又是域名,又是系统,又是表,我只想知道你的资源(resource)将与系统A中Course,系统B中Question 这三个类,是放到同一个库中,还是必须放到三个库中?

收获园豆:30
Launcher | 园豆:45045 (高人七级) | 2010-08-15 22:16
我先说对新闻(article),对图片(photo),发表评论(comment). article中必须记录图片的url相对地址,然后通过photo的域名+相对地址定位图片。 读取评论,插入评论作为单独的web service,comment中记录article的类别和ID。
支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2010-08-15 22:51
当然是在Course中或者Question中新增字段保存Resource的ID。
支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2010-08-15 23:02
“comment中记录article的类别和ID”,我的意思是,评论服务将被许多系统共享使用,不仅要对新闻进行评论,对图片也要评论,如何保存这种关联关系。
支持(0) 反对(0) qingspace | 园豆:140 (初学一级) | 2010-08-15 23:06
@qingspace:我指的类别就是你说的是新闻,图片,视频,论文等等,这种类别,也就是评论的目标对象的类型,ID就是对评论的目标对象的引用.
支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2010-08-16 09:00
0

跟域名没啥关系吧?

天堂口 | 园豆:514 (小虾三级) | 2010-08-15 23:38
0

多个站点分别连接自己的数据库,但是现在出现部分数据是要多个库中共有的 是吧?! 你可以把其中一个库当做主库,其他库的数据都从这个数据库里获取,每个站点 都可以连接主库 或者 分站点中的数据从webserverice中获取后存入自己连接的库中 不就行了?!

yeyang | 园豆:418 (菜鸟二级) | 2010-08-16 08:35
0

没太描述清楚,有点把程序设计,数据库设计,架构,再就是如何设计这些表的主外键关系混在一起说了。“打击面太大”。

船长&CAP | 园豆:318 (菜鸟二级) | 2012-05-20 01:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册