汽车之家的车型库的数据库设计以及多属性查询是如何实现的?

发布于 2022-09-02 20:08:09 字数 137 浏览 22 评论 0

clipboard.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

岛歌少女 2022-09-09 20:08:09

建立三个表,车型表、属性表、车型属性表
车型表car
id car
属性表 attr
id attr
车型属性 car_attr
c_id a_id data

这样无论有后期添加多少属性,都不用修改表结构
车型表和属性表就不做过多介绍了吧,分别记录不同车型和不同的属性类型
车型属性中
每一行对应:某一车型+某一属性+该属性值

现在比如我要找所有带天窗的车型,逻辑如下:
先去属性表找到“天窗”属性的id,用该ID(a_id)带入车型属性表中找到所有带天窗的车型
select id from attr where attr = "天窗";
id = 2
select c_id from car_attr where a_id = 2 and data = 1
c_id = 1,3,6,9
select car from car where id = ......

浅沫记忆 2022-09-09 20:08:09

每个属性对用一个字段,里面是个字典值,与之对应的是有个字典表
(为了速度,字典值也可能是静态的,直接放在配置文件中读取,因为了这些字段很少改动)
大多数的值都是单选框,只不过样式变了
已选条件是回传值,判断你选中了什么

我说的可能有点迷糊,这其实是对于数据库而言是简单的设计,对前端要求高点

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文