我正在开发一个汽车分类广告,但我不确定如何是最好的设计方式,有一些汽车的特点,如如果它有2,4门,如果它是4x4或4x2,发动机1.6,2.0。
所有这些功能都是汽车特有的,但它们必须限制在该模式下,所以每次有人发布一辆自行车,例如,它不会在4x4的下拉列表中显示选项,或者引擎比该型号更高。
我不想让它通用,它只适用于汽车,所以思考如何才是通用分类广告不一定是最好的。
最好的设计方法是什么?
更多信息:
我的问题是如何设计汽车模型和实际汽车之间的关系,例如模型的年份可以是1990-2000年,当有人要添加该模型的汽车时,我只希望他们能够从该模型的选项中进行选择。如何将其存储在数据库中?
发布于 2013-02-19 03:12:12
您需要区分汽车模型实例("my car vin xxx")和汽车模型规范("2009 Mazda 3")。通常,一个型号规范有一个型号,一个型号实例有一个序列号(本例中是VIN )。
您还需要区分模型等级库的可用选项和模型实例的实际安装选项。
/* the model specifications: */
vehicle_model
id
model_name
from_year
to_year (nullable)
manufacturer_id
/* engine specifications */
engine
id
name (ex. "Cummings Turbo Diesel")
...
/* available engines for a model. you would use this table to show only the appropriate engines for a given model spec */
vehicle_model_engine
model_id
engine_id
/* vehicle instances: */
vehicle
id
vin
model_id FK vehicle_model
engine_id FK engine您可以将vehicle(model_id,engine_id)中的多列外键放入vehicle_model_engine(model_id,engine_id)中,也可以将单个键放入engine(id)中,并在保存前使用应用程序逻辑进行检查。
https://stackoverflow.com/questions/14939173
复制相似问题