sql - 如何避免有太多相似的列?

标签 sql sql-server database rdbms

假设我有一个表,其中包含我正在销售的所有产品的信息,还有一个表,其中包含我的七个商店的信息,每个商店都有自己的 ID。现在我想创建一个表格,告诉我某种产品的库存总数以及每个商店的库存量。我正在考虑让每个商店都成为新表中的一列。有什么聪明的方法可以做到这一点?有没有更好的办法来处理呢?我可以有一个没有主键的表吗?

enter image description here

最佳答案

库存表,您应该在其中拥有:

  • 产品 ID (FK)

  • StoreId (FK)

  • 库存

如果您想了解商店的总​​库存 - 使用 GROUP BY 创建一个 View 。 对于 PK,您可以使用 ProductId + StoreId 的复合体或创建一个人工复合体。 几乎总是强烈推荐主键。

关于sql - 如何避免有太多相似的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46739601/

相关文章:

mysql - 划分不同MySQL表中的两列

sql-server - SQL 查询不返回相关记录处于非事件状态的记录

php - MySQL:如何允许 CHAR 行重复?

php - 将查询结果放入对象

c# - 什么是 Microsoft.Practices.EnterpriseLibrary.Data

python - 为什么在这个简单的基准测试中 SQLite 比 Redis 快?

c# - c# 具有行锁定功能的嵌入式数据库

asp.net - SQL Server 和 ADO.NET 中事务的区别?

sql-server - 在sql server 2012中不使用filetable进行语义搜索

MySQL:更改唯一键名?