【问题标题】:Design database for a real estate php app, tables have too many columns [closed]房地产php应用程序的设计数据库,表的列太多[关闭]
【发布时间】:2017-04-19 06:55:54
【问题描述】:

我正在为一个 php 应用程序设计 mysql 数据库,它有两个部分:为房屋商店等属性添加广告......以及搜索它们。

我有 users, addresses, ads... 的表格

问题是properties 表。我不知道我应该把它分成多张桌子还是应该有一张大桌子?列太多。我有多达 100 个字段,例如:

物业类型:house, shop, fields... 每个物业类型都有一些字段,如房屋的卧室号码,以及空调系统、设施、设备等其他字段。 我该怎么办?我应该把这张桌子分成更小的桌子吗?

【问题讨论】:

  • 我认为在你的情况下,好的设计是使用bridge table countrywoman!

标签: php mysql database-design entity-attribute-value


【解决方案1】:

我建议使用bridge 表。你可以在这个Link 上看到什么是桥接表。

通常,您有 2 个选择,它们都是架构设计:

  1. 只使用一个表(名为property)并向其中添加批量数据。在这种情况下,字段是您的特征(如空调、卧室号码等)。通过将这些字段定义为布尔值并将 1 表示为“该属性具有此功能”和 0 表示“该属性没有此功能”,您可以做任何您想做的事情。

  2. 使用简单的bridge 表,该表将property 表连接到您应该为属性项定义的features

其实第二种方法是一种适用于数据库设计的方法。因为它是可扩展的,即您可以每次添加每个新功能!

希望这个解释对你有帮助!

【讨论】:

    【解决方案2】:

    我建议使用properties 表、features 表和property_features 表。

    您的properties 表将包含主要信息 - 地址、列表所有者等。

    您的 features 表将是一个表,其中每一行都是一个可能的特征 - air_conditioningroomsbathroomsgold_plated_toilets 等。

    您的property_features 表将是property_idfeature_id 和可选value 字段的列表(可以是true/falseair_conditioning 值,或类似@ 987654337@ 可能是数字)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-30
      • 1970-01-01
      • 1970-01-01
      • 2018-01-16
      • 2020-03-12
      • 2010-09-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多