mysql - 我应该将两个相似的表合并为一个吗?

标签 mysql database database-design

在我的数据库中,我目前有两个表,除了一个字段外,它们几乎完全相同。

为了快速解释一下,在我的项目中,每年企业都会向我提交一份他们向其销售和采购的供应商名单。由于这是每年进行一次,因此我有一个名为 sales 的表和一个名为 purchases 的表。

所以在 sales 表中,我会有如下字段:BusinessIDyearPurchaserID、等等。完全相反的是 purchases 表,除了会有一个 SellerID

所以基本上,除了 PurchaserID/SellerID 之外,两个表的字段完全相同。我继承了这个系统,所以我没有这样设计DB。我正在讨论将这两个表合并到一个名为 suppliers 的表中,并只是添加一个 type 字段来区分他们是卖给还是购买。

这听起来是个好主意吗?关于为什么这不是一个好主意,我是否遗漏了什么?

最佳答案

做对你有用的事。

课本答案是normalize .如果您规范化,您可能会有 2 个表,一个包含您的买家和卖家作为公司。还有一个交易表,告诉谁从谁那里买了什么。

关于mysql - 我应该将两个相似的表合并为一个吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/421279/

相关文章:

PHP 变量在 SQL 查询中不起作用?

java - 将电子邮件保存在 RDBMS 中

mysql - Cpanel MySQL 数据库凭据

php - sql使用偏移行获取没有足够的结果

c++ - 打开与 Qt/C++ 的数据库连接

c# - 如何防止重复插入我出勤日期的数据

database - 循环引用数据库的异常(exception) - 这是一个吗?

php - mysql中设计关系

Python、Flask——统计页面访问并写入数据库

php - 给出警告 : mysql_fetch_array() expects parameter 1 to be resource, null。