php - 为房地产 php 应用程序设计数据库,表中的列太多

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

<分区>

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

我有用户、地址、广告...

的表格

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

属性(property)类型:房子、商店、田地... 每个属性(property)类型都有一些字段,例如房屋的卧室数量,以及其他字段,例如空调系统、设施、设备... 我应该怎么办?我应该把这张 table 分成更小的 table 吗?

最佳答案

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

通常,您有 2 个都是模式设计的选择:

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

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

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

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

关于php - 为房地产 php 应用程序设计数据库,表中的列太多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40964813/

相关文章:

postgresql - 如何选择 * WHERE 并接收与找到的主键相关的其他结果?

php curl_exec 返回空

PHP/Ajax在向sql数据库添加值后自动刷新

postgresql - 构建数据库

mysql - 通过单个 SQL 查询插入多行时处理 BEFORE INSERT 触发器中的多行

php - 如何从表中获取唯一的数据?

python - 相互依赖的一对多关系 SQLAlchemy

php - 生日登记表麻烦

php - 带有授权检查器的 Symfony kernel.response 监听器

php - mysql:按匹配排序