我希望存储书籍,并能够搜索单个页面。它一次只会搜索一页。
我最初的想法是将书籍按页码存储在数据库中,并显示一个列,显示页面的章节/部分
所以列将是
ID
书名
书名
文本
页
章
章节名称
文本将是最大的部分
我将使用Android操作系统,所以如果可以获得这将是一个很好的解决方案/排序范例?关于存储不是特定于android的书籍存在类似的问题,而且这些问题是使用其他技术
答案 0 :(得分:1)
我认为这对于向用户呈现页面来说是一个很好的解决方案。您可以为书籍ID和页面添加索引,因为用户将请求读取特定页面(书签,下一页,上一页,如果开始新书,则为第一页)。每分钟你会有1-2个请求,所以即使没有索引它也不会花太长时间,你可以提前预先安排下一页,以使体验更加顺畅。
虽然平面数据库结构是一个很好的解决方案,但性能是一个问题,我强烈建议三个表:
BOOK (book_id,book_title,book_author,book_ISBN,book_release_date,...)
CHAPTER (chapter_id,chapter_number,chapter_title,book_id_ref)
PAGE (page_id,page_number,chapter_id_ref)
这样,元数据中的任何修改都可以在一个地方完成,您不必修改每个页面来修改图书的作者。此外,如果使用任何新字段扩展元数据,则只需更改书表的记录。
如果另一方面你想实现文本搜索,那么这将无效。为此,您必须构建一个单词数据库,每个单词都列出了它的出现位置。这将使您的数据库大小增加一倍以上。