首页 新闻 会员 周边 捐助

数据库问题

0
悬赏园豆:80 [已解决问题] 解决于 2008-08-15 08:39
假如数据库A中的某条数据 要与 数据库B中的某条数据 进行关联。<br><br>如何设计数据库?<br><br>如果单独建立个表,用来记录A与B之间的联系的话,那么查询还是个棘手的问题,<br><br>又如果在A库中的这条记录后补充一个B库中记录的ID的字段,同样在B库中也补充一个A库中的字段,<br>那么查询问题似乎轻松了一些。但是维护性太差。<br><br>各位有什么好的解决办法。<br>请详细说明。。<br>
问题补充: 举个例子: 数据库A id name 1 a 2 b 数据库B id code 1 0001 2 0002 如果库A中的记录1和库B中的记录2为关联数据 那么我想查出库A或库B中,没有关联过的数据,怎么查,是先查两者关联的表,然后在去查询表A或表B么。 还有,如果建立关联的表,应该在哪个库上建。最好能保证两者的独立性,不去在原库中修改 我是新手,帮帮忙。 补充。。。 这两个表的数据并没有明显的联系,需要我们去判断他们之间是否有联系,然后再去给他人为的加上联系,而我们需要记录下这些联系,并且要继续寻找未联系上的数据。 这两个库的数据应该算是独立的。我想引入个中间表记录这些联系,但是如果那样的话,查询有有点麻烦了。找联系上的数据还好说,没联系上的就的先查一遍联系表,然后在去掉已经联系上的数据了。 这个怎么办啊。 我现在用的是分别在两个库上分别追加个字段,然后这个字段对应的是与他们联系的那个记录的ID。 帮帮忙,谢谢!!! 两个表中的记录没有任何联系。 只能靠人去判断。 比如说: A表是某俱乐部的会员表,B表是某网站的会员表。 可能根据姓名去判断两者之间的关系,但姓名又会有重复,或者错别字,只能靠人去判断,他的住址一类的信息。 没有唯一标示,也不能靠做外键这样的方式弄。 这个是给客户用,他们不可能会弄外键。
大门的主页 大门 | 初学一级 | 园豆:90
提问于:2008-08-14 14:26
< >
分享
最佳答案
0
不知道我是否理解正确楼主的意思,我觉得呢,你的情况可以说是有两种会员,但他们之间可能是有联系的,我觉得可以这样子做,再建立一个C表,作为主表,存储一些所有会员共有的东西(比如会员类别,姓名,性别,等等,只要是共同的就放这个表),其中还必须有有一个主键,比如叫CID,是唯一的,然后在A表及B表等副表中就都带一个CID作为外键。希望能对楼主有帮助!
启程 | 小虾三级 |园豆:570 | 2008-08-15 00:34
其他回答(5)
0
不太清除你的意思呢。 说的是JOIN吗?库间关联用JOIN也是可以实现的啊。不过由于其内部实现机制不同于库内关联,因此应该先对JOIN的两个输入做一些缩小范围的处理。
电机拖动 | 园豆:1295 (小虾三级) | 2008-08-14 14:42
0
其实不用考虑那么多 一般数据库的表分几种 一种是收集数据(这种要求越清楚越好,这类数据一般都是实体数据) 一种是数据汇总(这种要求是能够查询的越快越好,不要求每条记录的详细内容,但是要知道数据怎么来的,一般是统计用) 还有一种是关系数据(就是链接数据的桥梁)
小眼睛老鼠 | 园豆:2731 (老鸟四级) | 2008-08-14 14:52
0
没怎么听明白楼主的意思....两个数据是不是独立的....
Jared.Nie | 园豆:1940 (小虾三级) | 2008-08-14 15:21
0
两种方式: 1、数据库之间使用约定,关系由程序来处理 2、在数据库之间建立关联(管理器里有那项,忘记叫什么了,可以把两个数据库连接起来),这样可以在两个库之间inner join
丁学 | 园豆:18730 (专家六级) | 2008-08-14 15:23
0
首先想问一下楼主: 两个表有什么直接的联系吗? 表一中的ID等同于表二中的ID吗? 如果不通过外键来实现两个表中的联系的话,只能通过第三个表来建立关系呀! 那么就如你所说,又觉得查询不太方便? 我是新手,可能说的不太严密。
2008beijing | 园豆:205 (菜鸟二级) | 2008-08-14 16:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册