gpt4 book ai didi

mysql - "Invoice"表在专业数据库中是什么样子的?

转载 作者:搜寻专家 更新时间:2023-10-30 23:40:15 25 4
gpt4 key购买 nike

我正在创建一个 .NET 簿记应用程序,并且认为从其他人那里听取我的数据库表应该是什么样子是个好主意。

我有一个“产品”和一个“发票”表以及一些与我的问题无关的其他表。

除了计算机语言之外,大多数情况下一张发票包含多种产品。

我应该创建一个包含 InvoiceId 和 ProductId 列的桥接表“invoiceProduct”吗? 或者我应该只在我的“发票”表中添加任意数量的列,名称格式如下:“product1”、“product2”...直到达到某个限制?

最佳答案

通常的习惯用法是有一个父 Invoices 表和一个子 InvoiceItems 表,像这样:

CREATE TABLE invoices
(
invoice_number INT,
customer_id INT REFERENCES customers (customer_id),
purchase_date DATE,
-- other fields go here,
PRIMARY KEY (invoice_number)
);

CREATE TABLE invoice_items
(
invoice_number INT REFERENCES invoices (invoice_number),
line_number INT,
product_id INT REFERENCES products (product_id),
quantity INT,
-- more fields,
PRIMARY KEY (invoice_number, line_number)
);

请注意,这是一个通用的伪 SQL,需要针对您的特定平台进行编辑,而且我为大多数字段选择 INT 完全是任意的。

关于mysql - "Invoice"表在专业数据库中是什么样子的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35761411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com