首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >数据库设计汽车-模型/汽车分类

数据库设计汽车-模型/汽车分类
EN

Stack Overflow用户
提问于 2013-02-18 22:58:32
回答 1查看 1.7K关注 0票数 1

我正在开发一个汽车分类广告,但我不确定如何是最好的设计方式,有一些汽车的特点,如如果它有2,4门,如果它是4x4或4x2,发动机1.6,2.0。

所有这些功能都是汽车特有的,但它们必须限制在该模式下,所以每次有人发布一辆自行车,例如,它不会在4x4的下拉列表中显示选项,或者引擎比该型号更高。

我不想让它通用,它只适用于汽车,所以思考如何才是通用分类广告不一定是最好的。

最好的设计方法是什么?

更多信息:

我的问题是如何设计汽车模型和实际汽车之间的关系,例如模型的年份可以是1990-2000年,当有人要添加该模型的汽车时,我只希望他们能够从该模型的选项中进行选择。如何将其存储在数据库中?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-19 03:12:12

您需要区分汽车模型实例("my car vin xxx")和汽车模型规范("2009 Mazda 3")。通常,一个型号规范有一个型号,一个型号实例有一个序列号(本例中是VIN )。

您还需要区分模型等级库的可用选项和模型实例的实际安装选项。

代码语言:javascript
运行
复制
/* 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)中,并在保存前使用应用程序逻辑进行检查。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14939173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档