Database 数据库设计:如何表示关系中的条件?

Database 数据库设计:如何表示关系中的条件?,database,database-design,Database,Database Design,有些情况下,根据条件,一种类型的实体必须与另一种类型的实体相关联,例如: 有一个汽车实体可以是不同的类型,它可以是公共服务汽车,如出租车,也可以是私家车(家用车) 根据汽车类型,您可能需要支付义务(这是我表示汽车税的方式)。如果你有一辆私家车,你需要逐年纳税,但例如在一些国家,出租车或公共汽车必须缴纳额外的税,以提供在某个城市运送乘客的服务 这两种类型的汽车都有一定的义务(税收),无论是哪种类型的汽车,私人或公共,都必须支付。但每种类型的汽车都有自己的纳税义务 条件 根据车辆类型,必须支付一种类

有些情况下,根据条件,一种类型的实体必须与另一种类型的实体相关联,例如:

  • 有一个
    汽车实体
    可以是不同的
    类型
    ,它可以是公共服务汽车,如出租车,也可以是私家车(家用车)
  • 根据汽车类型,您可能需要支付
    义务(这是我表示汽车税的方式)
    。如果你有一辆私家车,你需要逐年纳税,但例如在一些国家,出租车或公共汽车必须缴纳额外的税,以提供在某个城市运送乘客的服务
  • 这两种类型的汽车都有一定的义务(税收),无论是哪种类型的汽车,私人或公共,都必须支付。但每种类型的汽车都有自己的纳税义务
  • 条件 根据车辆类型,必须支付一种类型的税费/债务。如果是私家车,你将涉及正常税,但如果是公共车,你将涉及正常税,加上额外的乘客运输税如何在数据库模型中表示这些条件?

    我试过的

    我不确定这是否是表示这种情况的正确方法,但我使用的是一个中间表,我称之为
    义务\u类型\u汽车
    ,它将
    汽车类型
    义务类型
    相关联。我也不确定从这个中间表到其他表要放置什么基数

    更新

    我建议您将义务映射到cartype,因为它与cartype相关联

    obligationtype与cartype不相关。因此,最好将其从cartype_义务表中保留。您可以从义务表派生义务类型

    • 汽车

    • 汽车类型

    • 义务

    • 义务类型

    • 新表:Cartype_义务

      • 汽车类型识别码
      • 义务号

    您可以进一步解释:
    您可以从义务表中派生出义务类型。
    @CristianCamiloFlórez,从义务id,我们可以看到它属于什么义务类型,以及什么是carinalities?从Cartype_义务到car_类型_id的一对一,义务_id也是如此。我更新了我的问题。还有一件事,我把汽车牌照放在义务表中,如果我将义务与汽车类型联系起来,这是必要的吗?@CristianCamiloFlórez,在这种情况下,我们需要将表设为
    car\u义务
    ,而不是
    cartype\u义务
    。不要在多个表中重复这些信息。所有车辆信息都应在
    car
    表中。所以,
    car->cartype
    <代码>义务->义务类型<代码>汽车义务(映射汽车与相应义务)@CristianCamiloFlórez,对不起。我不知道你的对象模型。在这种情况下,将
    car\u id
    保留在
    responsibility
    表中,为一对多关系让路是有意义的。