0

所以假设我有一个订单,其中列出了多个项目和一些属性,如它们的 ID 和价格......我最初的概念涉及分别处理这些对象,并通过列出的项目和它的订单关联每个订单中列出的项目与共享属性关联*作为 order_ID* 如果是这样,我如何将对象列表存储在 sql 数据库中?

4

1 回答 1

0

这是一个经典的问题。而且,它有一个“正确”的答案。写答案是为订单中的项目创建一个单独的表格。以下是此类表的示例:

create table OrderItems (
    OrderItemId int not null auto_increment,
    OrderId int,
    ItemId int,
    Price Money,
    CreatedBy varchar(255),
    CreatedAt timestamp
);

这种格式是一种标准化格式,意思是(简单来说)每个单独的实体都有自己的表。该OrderItems表本身实际上只是将订单连接到项目,提供了一种在订单中包含项目列表的方法。

如果您具有编程背景,则可能需要一些时间和精力来适应 SQL 数据库中的规范化。将规范化数据视为一种存储数据的方式,使 SQL 引擎更高效,因为它们非常擅长将不同表中的数据组合在一起。

于 2013-05-22T21:00:12.570 回答