gpt4 book ai didi

mysql - 各种对象的数据库设计

转载 作者:行者123 更新时间:2023-11-29 19:07:16 25 4
gpt4 key购买 nike

我有一个应用程序,用户可以在其中创建/更新有关不同对象(公寓、房间、房屋、土地等)的信息

每种类型的对象都有不同的参数集。

我寻求解决方案:

  1. 将所有信息存储在一张表中
    id、标题、object_type、rooms_count、house_floors_count、land_area、flat_area、描述等。

    优点:快速搜索(因为每列都有正确的数据类型, rooms_count - 整数,描述 - 文本)
    缺点:巨大的非规范化

  2. 将信息存储在不同的表中对象:id、标题、object_type、价格object_params:id、param_title、param_type(整数、文本、浮点型等)object_param_values:id_param,id_object,value(文本类型的列)
    优点:非规范化,前端保证当 object_type='flat' 时,仅向用户显示 flat 的参数(在 1 .它也像这样工作)
    缺点:object_param_values中的value具有text类型,这对速度不利。

最佳答案

还有第三种选择,使用两个表。

一张表来存储对象的基础信息:ID、标题、对象类型

另一个存储参数的表:id、object_id(来自上表)、参数、数据

关于mysql - 各种对象的数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43386568/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com