【发布时间】:2018-02-15 22:54:08
【问题描述】:
我有两个数据库结构:
#1:每本书都是一行:
// sale
+----+---------+-------------+
| id | book_id | customer_id |
+----+---------+-------------+
| 1 | 5 | 123 |
| 2 | 5 | 123 |
| 3 | 9 | 123 |
| 4 | 4 | 456 |
| 5 | 12 | 456 |
+----+---------+-------------+
#2:有数字列:
// sale
+----+---------+-------------+--------+
| id | book_id | customer_id | number |
+----+---------+-------------+--------+
| 1 | 5 | 123 | 2 |
| 2 | 9 | 123 | 1 |
| 3 | 4 | 456 | 1 |
| 4 | 12 | 456 | 1 |
+----+---------+-------------+--------+
如您所见,第一个对于每本书都有不同的存在(这对将来的一些想法有好处,即退回的书籍需要返回日期,或者对多次采购给予一些折扣)同一本书或其他)。但第二个似乎更理想,因为它的行数更少。
不管怎样,你推荐哪一个?我个人喜欢第一个,我只是担心冗余。第一个结构是否有冗余?
【问题讨论】:
-
书店的数据库会有很多表——至少有几十个。也就是说,用于存储销售的表格将具有您所说的“冗余”,但这只是野兽的本性,因为该表格正在跟踪“事件”-“在这个日期,此时,在这家商店,这位顾客以这个价格买了这本书,并被这位员工借阅。”看到了吗?
标签: mysql database algorithm performance database-design