所以我要说我有一个订单,列出了多个项目和一些属性,比如他们的ID和价格....我的原始概念涉及单独处理这些对象,并通过列出的项目和命令它与共享属性相关联*作为order_ID *如果是这样,我如何在sql数据库中存储对象列表?
答案 0 :(得分:0)
这是一个经典问题。而且,它有一个“正确”的答案。写答案是为订单中的项目设置单独的表。以下是此类表格的示例:
create table OrderItems (
OrderItemId int not null auto_increment,
OrderId int,
ItemId int,
Price Money,
CreatedBy varchar(255),
CreatedAt timestamp
);
此格式是规范化格式,意思是(简单来说)每个单独的实体都有自己的表格。 OrderItems
表本身实际上只是将订单连接到商品,提供了一种在订单中包含商品列表的方法。
如果您来自编程背景,则可能需要一些时间和精力才能习惯SQL数据库中的规范化。将标准化数据视为一种存储数据的方式,使SQL引擎更高效,因为它们非常擅长将数据放在不同的表中。