数据库设计:如何表示关系中的条件?
Database design: How can you represent conditions in a relationship?
有些情况下,根据条件,一种类型的实体必须与另一种类型的实体相关联,例如:
- 有
car entity
可以是不同的types
,可以是public服务车,比如出租车,也可以是私家车(家用车) .
- 根据汽车类型,您可能需要支付
obligations(this is the way I represent the taxes on a car)
费用。如果你有一辆私家车,你需要逐年纳税,但例如在某些国家出租车或public汽车必须额外缴纳税款才能在某个城市提供运送乘客的服务。
- 两种车都有一定的义务(税),不管是什么车,私人的还是public,都必须交税。但是每种类型的汽车都可以有自己的义务(税)类型来支付。
条件
根据车辆类型,必须支付 taxes/obligations 类型的费用。如果是私家车,您将缴纳正常税费,但如果是 public 汽车,您将缴纳正常税费,外加用于乘客运输的额外税费。 如何在数据库模型中表示这些类型的条件?
我试过的
我不确定它是否是表示这种情况的正确方法,但我使用的是中间 table,我称之为 obligation_type_of_car
,它与 type of car
与 type of obligation
。我也不确定从这个中间 table 到其他 tables.
放置什么基数
更新
我建议您将义务映射到 cartype,因为它与 cartype 相关联。
obligationtype 与 cartype 无关。所以,最好把它从cartype_obligationtable留下。您可以从义务 table.
派生义务类型
汽车
car_type
义务
obligation_type
新 table: Cartype_obligation
- car_type_id
- obligation_id
有些情况下,根据条件,一种类型的实体必须与另一种类型的实体相关联,例如:
- 有
car entity
可以是不同的types
,可以是public服务车,比如出租车,也可以是私家车(家用车) . - 根据汽车类型,您可能需要支付
obligations(this is the way I represent the taxes on a car)
费用。如果你有一辆私家车,你需要逐年纳税,但例如在某些国家出租车或public汽车必须额外缴纳税款才能在某个城市提供运送乘客的服务。 - 两种车都有一定的义务(税),不管是什么车,私人的还是public,都必须交税。但是每种类型的汽车都可以有自己的义务(税)类型来支付。
条件
根据车辆类型,必须支付 taxes/obligations 类型的费用。如果是私家车,您将缴纳正常税费,但如果是 public 汽车,您将缴纳正常税费,外加用于乘客运输的额外税费。 如何在数据库模型中表示这些类型的条件?
我试过的
我不确定它是否是表示这种情况的正确方法,但我使用的是中间 table,我称之为 obligation_type_of_car
,它与 type of car
与 type of obligation
。我也不确定从这个中间 table 到其他 tables.
更新
我建议您将义务映射到 cartype,因为它与 cartype 相关联。
obligationtype 与 cartype 无关。所以,最好把它从cartype_obligationtable留下。您可以从义务 table.
派生义务类型汽车
car_type
义务
obligation_type
新 table: Cartype_obligation
- car_type_id
- obligation_id