带有可变列的数据库设计(mysql)

时间:2012-04-12 07:38:52

标签: mysql database-design

我正在研究一个问题,我正试图找出为此设计Db表的最佳方法。可以说我有多本书,每本书都有不同数量的页面......我需要跟踪每本书的页面浏览量

e.g。第1册= 10页,第2册= 20页,第3册和100页,依此类推 当用户查看书中的每个页面时,我需要记录该信息。

动机是在每本书的%视图中提出一些聚合数字。我应该可以说,例如“70%的人将第1册读到第7页然后放弃”

我将其视为

book 1 page 1 1000 views
book 1 page 2 950 views
book 1 page 3 800 views
.....
...
book 1 page 10 50 views

并且我可以生成各种各样的明细报告

但是,对于每本书中的可变页码,存储此信息的最佳方式是什么?

任何帮助将不胜感激

2 个答案:

答案 0 :(得分:1)

表格:

  • 图书ID
  • 书名

另一张表:

  • 图书ID
  • Page#
  • 读取数

如果您愿意,还可以使用Book_ID / Page_ID / Page#表进一步拆分分解。

答案 1 :(得分:1)

您需要添加一个额外的表格:

<强> PagesViews:

  • BookId
  • UserId
  • PageNumber
  • ViewDate
  • ...

使用复合主键(BookIdUserIdPageNumber)。