A表 B表 C表
ID 类别 ID 名称 A_ID ID 名称 类别
1 动物 1 鸡 1 1 鸡 动物
2 植物 2 狗 1 2 狗 动物
3 气体 3 氧气 3 3 氧气 气体
==================================================
原始信息的表为:C表。当存入数据库,要对信息分割时,会产生A表和B表(或C表)。B表和C表,到底有什么区别。怎么感觉,B表和C表,其实是一样的。可以做成B表,岂不是多此一举? 如果,数据库,存在B表,那么C表肯定也得存在(B表是C表和A表,关联过来的)。为什么我看见好多数据库内,只是存有B表,而没有C表呢。。。是关联过后,又把C表删除么?
可以给你这么解释,A和B在一起,写个语句就是C,你这样的C是不用必须存在的
你看我这么写,就能给你得到C
select A.id,B.名称,A.类别 from A,B where A.id=B.a_id实际中,C可以以另一种形式存在,比如你要记录各个名称东西的数量,C表可以这样
AID BID 数量
1 1 10
2 1 100
3 3 1000
追问这个,我明白,但是在实际中,数据是由人整理之后,在导入到数据库的,人整理的数据可以认为就是:C表。在导入数据库时,我只需要创建一个:A表,和C表,这样数据就直接相关联了,为什么还要多此一举将C表转换成B表呢。
Select C.ID ,C.名称,A.ID from C left join A on C.类别=A.类别
如果有C了,A,B基本都是多余的了
C也只是为了把id那种换成汉字,看着直观而已