为房地产 php 应用程序设计数据库,表中的列太多
Design database for a real estate php app, tables have too many columns
我正在为一个 php 应用程序设计 mysql 数据库,它有两个部分:为房屋商店等物业添加广告......,并搜索它们。
我有 table users, addresses, ads...
问题是properties
table。我不知道我应该把它分成多个 table 还是应该有一个大的 table?列太多了。我最多有 100 个字段,例如:
属性类型:house, shop, fields...
每个属性类型都有一些字段,例如房屋的卧室数量,以及其他字段,例如空调系统,设施,设备..
我应该怎么办?我应该把这个 table 分成更小的 table 吗?
我建议 properties
table、features
table 和 property_features
table.
您的 properties
table 将包含主要信息 - 地址、房源所有者等
您的 features
table 将是一个 table,其中每一行都是一个可能的特征 - air_conditioning
、rooms
、bathrooms
, gold_plated_toilets
, 等等
您的 property_features
table 将是 property_id
、feature_id
和一个可选的 value
字段(可以是 true
/false
air_conditioning
的值,或者类似 rooms
的值可能是数字计数)。
我建议使用 bridge
table。您可以在此 Link 上看到桥 table 是什么。
通常,您有 2 个选择,它们都是架构设计:
仅使用一个 table(名为 property
)并向其添加批量数据。在这种情况下,字段是您的特征(例如 air_conditioning、卧室号码等)。通过将这些字段定义为布尔值并将 "The property has this feature" 表示为 1,"The property has NOT this feature" 表示为 0,您可以做您想做的事。
使用一个简单的 bridge
table,它是一个 table,将 property
table 连接到 features
您应该为 属性 项定义。
其实第二种方法在数据库设计中是一种适用的方法。因为它是可扩展的,即您每次都可以添加每个新功能!
希望以上解释对您有所帮助!
我正在为一个 php 应用程序设计 mysql 数据库,它有两个部分:为房屋商店等物业添加广告......,并搜索它们。
我有 table users, addresses, ads...
问题是properties
table。我不知道我应该把它分成多个 table 还是应该有一个大的 table?列太多了。我最多有 100 个字段,例如:
属性类型:house, shop, fields...
每个属性类型都有一些字段,例如房屋的卧室数量,以及其他字段,例如空调系统,设施,设备..
我应该怎么办?我应该把这个 table 分成更小的 table 吗?
我建议 properties
table、features
table 和 property_features
table.
您的 properties
table 将包含主要信息 - 地址、房源所有者等
您的 features
table 将是一个 table,其中每一行都是一个可能的特征 - air_conditioning
、rooms
、bathrooms
, gold_plated_toilets
, 等等
您的 property_features
table 将是 property_id
、feature_id
和一个可选的 value
字段(可以是 true
/false
air_conditioning
的值,或者类似 rooms
的值可能是数字计数)。
我建议使用 bridge
table。您可以在此 Link 上看到桥 table 是什么。
通常,您有 2 个选择,它们都是架构设计:
仅使用一个 table(名为
property
)并向其添加批量数据。在这种情况下,字段是您的特征(例如 air_conditioning、卧室号码等)。通过将这些字段定义为布尔值并将 "The property has this feature" 表示为 1,"The property has NOT this feature" 表示为 0,您可以做您想做的事。使用一个简单的
bridge
table,它是一个 table,将property
table 连接到features
您应该为 属性 项定义。
其实第二种方法在数据库设计中是一种适用的方法。因为它是可扩展的,即您每次都可以添加每个新功能!
希望以上解释对您有所帮助!