php - 数据库中的Mysql关系

标签 php mysql database

我在存储广告的地方制作数据表。

我的广告表如下所示:

 Advertisement:
 id (PK)
 title
 description
 category_id (FK)
 ..

我有两种不同类型的广告:我销售汽车和销售房地产。 因此,我具有两种类型不同的属性。即汽车有品牌和门数,而房地产有房间数..

因此我想问一下存储这种关系的最佳方式是什么。

我是否应该将所有值都放在一个大广告表中,但缺点是有些值总是空的。

或者我应该制作 2 个额外的表并将公共(public)值保留在广告表中吗?

CarTable
id(PK)
advertisement_id (FK)
brand
numberOfDoors
...

RealEstateTable
id(PK)
advertisement_id (FK)
nrOfRooms
...

我认为带有 2 个附加表的第二种解决方案不是很好。 有什么建议么?谢谢

最佳答案

其中一种方式可能是:

Advertisement:
id (PK)
title
description
category_id (FK)
..

Attribute type:
id (PK)
name
code (can be optional)

Advertisement's attributes:
id (PK)
Advertisement id (FK)
Attribute id (FK)
Attribute value 

关于php - 数据库中的Mysql关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30014126/

相关文章:

mysql - SQLSTATE[42S02] : Base table or view not found: 1146 Table 'd72709_nimrod.api2_acl_attribute' doesn't exist

mysql - cakePHP 更新表字段

带有额外检查的 MySQL upsert

java - 我创建了一个空数据库,里面没有任何表和数据

php - 错误 SyliusProductBundle

php - 通过ajax发送数组到javascript

mysql - 从 XML 数据创建 SQL 表

python - 通过SSH隧道访问远程数据库

javascript - 通过 jQuery AJAX 设置和获取 PHP 变量

php - 在 mysqli 中使用 'config.php' 文件