关于两个表联合的表设计问题

qjf_Troy 发布于 2014/10/29 09:37
阅读 149
收藏 0

现在想要设计一个表A(货物种类表,只有id和name字段,name是种类名),现在B表为商品表(其中Aid是和种类表关联的外键关联商品种类),现在C表是多张表的联合查询表,要包含商品信息(B表)外加商品种类(A.name),问题是现在为了让C表支持按照种类查询,在C表中将Aid和Aname同时加入C表,然后将Aid设置为索引,便于查询。

以上是我的想法,但是由于我对于数据库不太精,所以自己对于自己的想法也有几点疑问
1.是否需要将Aid和Aname同时引入C表?(个人比较支持全部引入,如果只引入Aid,到时候如果想看Aname信息,还得做关联查询,肯定没有只查一张表快)

2.如果Aid和Aname都有,那么用哪个作为索引更好?(个人也是觉得用Aid做索引,因为他是int型的,但是楼主又不知道用Aid和Aname做索引又有何区别,所以还希望大神们指教,另外如果用Aid或者Aname做索引,应该设置程什么索引,希望大神能来指导下,因为这个问题确实让楼主困惑了,希望大家多指点。)

加载中
0
大连馋师
大连馋师

1、种类不多的话,不需要单独设计一张表保存,直接在商品表里面增加一个【种类】字段即可!做成数据字典维护起来。那么查询商品表就可以知道商品信息和商品种类。跟在员工里面设置【性别】字段一样,而不是单独设计一个性别表保存性别的字典。

2、商品种类不会太多,索引效果不明显甚至不如不加;实在要加还是加在int型上面吧。

0
qjf_Troy
qjf_Troy

引用来自“大刕”的评论

1、种类不多的话,不需要单独设计一张表保存,直接在商品表里面增加一个【种类】字段即可!做成数据字典维护起来。那么查询商品表就可以知道商品信息和商品种类。跟在员工里面设置【性别】字段一样,而不是单独设计一个性别表保存性别的字典。

2、商品种类不会太多,索引效果不明显甚至不如不加;实在要加还是加在int型上面吧。

我开始也想那样把种类就放在商品表里面,但是后来发现,如果这样做,后来维护种类就不方便了,而且种类这个东西多不多就看分的细不细了,现在就先分出来一个表吧,把索引先加到int这个字段上

0
大连馋师
大连馋师
一般来说商品种类是个树形结构,在商品信息里面会冗余保存种类ID\种类编号\种类级别,方便查询!当然,在维护商品种类的时候要考虑同步维护。
返回顶部
顶部