我来自非 SQL 数据库 (MongoDB),我正在构建一个新项目,但使用的是 MySQL(关系数据库)。
我正在制作一个餐厅系统,在这个系统中,有一个页面,您可以在其中创建产品并描述其成分。
在 MongoDB(非 SQL 数据库)中,您可以为您的文档创建此模式(我将使用 JSON 来描述它只是为了说明要点):
// imagine this is a document of a product stored in the products collection
{
name: "Burger",
price: 200,
ingredients: [
{ name: 'tomato', qty: 2 }, // qty: ie quantity
{ name: 'cheese', qty: 1 },
{ name: 'bread', qty: 2 },
{ name: 'meat', qty: 1 },
]
}
但是,在 SQL 关系数据库中,您必须创建类似于以下内容的内容:
乍一看很难看,但仔细一想,现在也开始习惯了。
首先,我想问一个关于这种方法的问题:
- 这是解决这个问题的方法吗?
我相信您已经数百次遇到过这种情况。
其次,我还有一个问题:
现在用户按下了“创建”按钮来创建他的产品,他向服务器发送了请求来处理这个请求,
我如何将这些行插入数据库?!
是通过做一个for循环并向数据库发送5个请求:
- 第一个请求是在产品成分表中创建ID#1的行。
- 第二个请求是在产品成分表中创建ID#2的行。
- 第三个请求是在产品成分表中创建ID#3的行。
- 第四个请求是在产品成分表中创建ID#4的行。
- 第五个也是最后一个请求是在产品表中创建ID#1的行。
这看起来有点疯狂。
这就是我的大脑在说什么。
这就是为什么我特别问这个问题。
后面会有一个更新的产品页面,类似的for循环,一堆请求,要在数据库上执行。
现在的问题是如何。
我感谢所有愿意将我的大脑带入关系数据库世界的人。?