多个表中的唯一标识符?

时间:2014-06-21 05:28:53

标签: mysql database-design relational-database database-schema

多个表中的唯一标识符?

使用MySQL,我试图将产品与采购订单相关联。 这些产品可能来自不同的表格,可能具有不同的模式。 我不能通过架构来关联每个产品的身份,而不是通过各种产品。

手机

+-----+--------+---------+-------+----------+-------+
| id  | brand  | version | color | capacity | price |
+-----+--------+---------+-------+----------+-------+
| 1   | iphone | 5s      | black | 16       | 9500  |
| 2   | iphone | 5s      | white | 32       | 10000 |
| 3   | iphone | 5s      | blue  | 32       | 10000 |
+-----+--------+---------+-------+----------+-------+

+-----+-----------+------------+-------+
| id  | topic     | idschedule | price |
+-----+-----------+------------+-------+
| 1   | Photoshop |  1         | 9500  |
| 2   | HTML5     |  2         | 10000 |
| 3   | CSS3      |  3         | 10000 |
+-----+-----------+------------+-------+

我制作了一个表格产品,它与产品标识一起产生了一个唯一的标识符。

产品

+-----+-----------+
| id  | Schema    |
+-----+-----------+
| 1   | Cellphone |
| 2   | Course    |
+-----+-----------+

ProductEspecification

+-----+-----------+------------------+----------+------------+
| id  | idproduct | idespecification | quantity | idpurchase |
+-----+-----------+------------------+----------+------------+
| 1   | 1         |  1               | 10       | 1          |=> 10 iphones
| 2   | 2         |  3               | 1        | 1          |=> 1 CSS3 course
+-----+-----------+------------------+----------+------------+

有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

您需要使用抽象和Table Inheritance

您销售的抽象物品(商品,服务等)称为产品。

您销售的抽象物品称为“好”。好继承产品。

您提供的抽象服务称为服务。服务继承产品。

手机继承良好。

课程继承服务。