多表关联数据库辅助表设计【百分百结贴,100分求助】

时间:2022-12-12 23:24:02
多表关联数据库辅助表设计,求助!
问题是这样的:
有A、B、C三张表,
A(tId,name,desc,type);
B(tId,aId,name,desc,type);
C(tId,bId,name,desc,type);
有这样A:B=1:N;B:C=1:N。现在要利用一个辅助表,将A的条件比如type,B的type,C的type提取出来放在某条数据中编辑。请教如何设计这个辅助表?一张表应该是不能容纳下这样的1:M:N的关系的。那要如何设计几张表,思路和想法是怎么样的呢?谢谢

6 个解决方案

#1


用一個表記錄類型,如果3個表的類型不重復時,可記錄類型的關係 

#2


不用设计表啊,就sql就能查出来了,然后改完后又按照这个条件修改每张表即可,
select a.type,b.type,c.type
from A as a
inner join B as b on a.aid=b.aid
inner join C as c on b.bid=c.bid

查出来后,还是按照这个关联来修改相应的表记录即可。

#3


可以考虑:
用一个条件表或三个条件表,一个的话:
条件表(表名,name条件,desc条件,type条件)
三个的话,前面的表名列不要.

#4


为什么一张表不能容纳?一张表可以容纳,只是有冗余

#5


其实你完全可以用连接查询得到结果的

如果非要没有冗余 也非要设计的话 就可以考虑晴天大大的建议 用3张表来记录

不过这样的话效率或许没有一张冗余表高

#6


嗯。谢谢大家的回复。开始的时候问题想的不全面,也不完整。描述也就不清晰。
大概来说应该是需要设计辅助表,达到抽取1:M:N的这样的数据模型,使得辅助表可以存储一个配置,用户不需要多步选择,仅仅需要借助这个辅助表存储着的数据来操作,然后数据还是存在数据A、B、C表里面的。这个辅助表必须要存储数据,因为存的相当于是A、B、C里面的一个模板。生成数据之后存在三个表里面。
后经过思考和提取。基本实现了。谢谢各位的热心解答。散分于各位。

#1


用一個表記錄類型,如果3個表的類型不重復時,可記錄類型的關係 

#2


不用设计表啊,就sql就能查出来了,然后改完后又按照这个条件修改每张表即可,
select a.type,b.type,c.type
from A as a
inner join B as b on a.aid=b.aid
inner join C as c on b.bid=c.bid

查出来后,还是按照这个关联来修改相应的表记录即可。

#3


可以考虑:
用一个条件表或三个条件表,一个的话:
条件表(表名,name条件,desc条件,type条件)
三个的话,前面的表名列不要.

#4


为什么一张表不能容纳?一张表可以容纳,只是有冗余

#5


其实你完全可以用连接查询得到结果的

如果非要没有冗余 也非要设计的话 就可以考虑晴天大大的建议 用3张表来记录

不过这样的话效率或许没有一张冗余表高

#6


嗯。谢谢大家的回复。开始的时候问题想的不全面,也不完整。描述也就不清晰。
大概来说应该是需要设计辅助表,达到抽取1:M:N的这样的数据模型,使得辅助表可以存储一个配置,用户不需要多步选择,仅仅需要借助这个辅助表存储着的数据来操作,然后数据还是存在数据A、B、C表里面的。这个辅助表必须要存储数据,因为存的相当于是A、B、C里面的一个模板。生成数据之后存在三个表里面。
后经过思考和提取。基本实现了。谢谢各位的热心解答。散分于各位。