2016-12-04 49 views
0

我设计了一个php应用程序的mysql数据库,它有两个部分:为房屋商店等属性添加广告..并搜索它们。房地产php应用程序的设计数据库,表有太多的列

我有users, addresses, ads...

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

物业类型:house, shop, fields...每个属性类型有像家的卧室数一些领域和其他领域,如空调系统,设施,设备.. 我应该怎么办?我应该把这张桌子分成更小的桌子吗?

+0

我觉得在你的情况下,好的设计是使用'桥表'农村女! –

回答

1

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

一般情况下,你有2点,选项它们都是架构设计:

  1. 只使用一个表(名为property)和批量数据添加到它。在这种情况下,字段是您的功能(如air_conditioning,卧室数量等)。通过将这些字段定义为布尔值并将“属性具有此功能”指定为1,将“此属性没有此功能”指定为0,则可以执行您想要的操作。

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

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

希望这个解释能帮助你!

1

我建议一个properties表,features表和property_features表。

properties表中将主要信息 - 地址,上市业主等

features表将是每行是一个可能的功能表 - air_conditioningroomsbathroomsgold_plated_toilets等。

property_features表将是property_idfeature_id列表,以及一个可选的value场(这可能是/false值10,或者像rooms这可能是一个数字计数)。