有4个表
店铺类别: 用来放店铺类别信息,如中餐,西餐,快餐,川菜,火锅之类
店铺表:存放每家店的信息
类别和店铺的关系表:用来放店铺和店铺类别的关系。如一家店可以是川菜馆,火锅店
菜谱表:用来放每家店卖的菜。现在有一个问题:
菜谱表是参照店铺表的。同时他还与店铺类别表有关系。
如(店铺A)的一种菜(A菜)是(快餐)
(店铺B)的一种菜(B菜是) (中餐)但是确不能出现下面这种情况
店铺A有类别(中餐,西餐)两种,所以他店里的菜的所属类别只能是中餐和西餐,不能出现别的如(川菜)
也就是这个菜表(dishes)不但和店表(shop),类别表(category)有关系,还于关系表(relation)也有点关系搞的我乱死了这样的需求,这个菜谱表的关系该如何设计?不知道表达清楚了没有

解决方案 »

  1.   

    你这个叫做教条主义.
    你要把菜谱表与什么类别表连起来干嘛?!
    菜谱,只能归属于某一店铺,它与店铺类别没有半毛钱关系.
    至于你还要说描述菜的类型,那你说,饮料谁都卖,你说它是哪种店铺类别?
    如果一定要将菜来分类,那很简单,再来一个菜谱分类表,它与菜谱表联系,作为菜谱表的另一主表,这样才有意义.
      

  2.   

    菜谱表里加个类别的字段。同时加一个表 菜谱和店铺的关系表,用来表示该店铺拥有多少种菜,如果想看有多少种菜谱类别,可以看你上边说的类别和店铺的关系。
      

  3.   

    按1楼的思想,菜谱表中每一条记录,除了这个菜的名称价格等信息之外,应该告诉我们它是哪家店铺的,是属性什么类型的菜.
      

  4.   

    要理清楚他们之间的关系 就加个关联表 菜谱和店铺之间加个关联表就很清楚了
      

  5.   

    要么这样:店铺类别分按照地区分(中餐,西餐) 按照菜系分(川菜,湘菜)
    菜谱表也按照这样分就好对应了吧
      

  6.   

    同,把菜谱和店铺类别,菜系类别也好,建立一个关系表。这样就可以跟店铺建立上关系了
      

  7.   

    虽然说这样设计有点问题, 但店铺和类别的关系,菜谱与类别的关系必须要对应啊
      

  8.   

    你的意思是不是,一般设计表之间关系,不要直接主外键关联? 而是建立一个关系表来放表之间的关系?
      

  9.   


    这样设计是有问题的,你的菜谱与店铺类别的关系隔了一个店铺表,菜谱是一个店铺的,店铺有店铺类别.如果一定要将菜谱分成中餐西餐快餐之类的,那也是应该有一个菜谱类别表,而不是直接将它与店铺类别表联系起来.理顺的关系是不会有问题的,你理不顺这个关系,那这个关系就是错的.