我来征集一些关于系统部分的设计意见
目前有个关于机票销售系统的有一个需求是这样的:
机票代理商可以在系统上销售机票,每个代理商销售的机票可能只限定在某个城市,比如,A代理商只能销售从成都出发的机票,而B代理商可以销售全国各大城市出发的机票。
原来的设计是
1.将 全国的城市以代码表的形式存在一张city表中,其中有字段 CityId(序列),cityCode(城市代码),cityName(城市名)
2.每个代理商有一个可以出票的城市列表,都放在ticket_city表中,有字段id,cityId(外键city表),代理商ID(外键代理商表) ,这里可以表示代理商有多个出票城市
下面问题来了,如果A代理商可以销售全国的机票,那么ticket_city就会有city一样多的记录,如果B代理商可以销售除杭州之外的所有机票,那么差不多也和city一样多,这样就会造成ticket_city表记录成倍增长。而且对这些代理商进行城市维护也不太方便。请问各位有没有什么好设计方法或者经验可以解决这个问题?
目前正在考虑重新设计这部分,具体设计方案正在研究中,各位有什么好的意见。