Таблица notes_page будет связывать заметки со страницами, но нужна ли вам таблица страниц?
Если вам нужна таблица страниц, тогда да, беспокойтесь о связи <-> страница многие-ко-многим.и создайте таблицу ссылок.Если вам не нужно хранить book_pages в виде строк таблицы, не надо.
Ваш дизайн: id |book_id |содержание |номер страницы |author_id |
Даст вам ответы на ваши вопросы, запросив их следующим образом:
Получить все заметки для страницы 43 определенной книги
выберите* из заметки, где book_id = 123 и page_number = 43;
Показать все отмеченные страницы определенной книги
выбрать номер страницы, количество (id) из заметки, где book_id= 123 сгруппировать по номеру страницы;
Если производительность является проблемой, поместите индекс на номер страницы.Вы также можете превратить (id, book_id, page_number) в составной ключ, чтобы ваши данные сохранялись (примечание 3, книга 123, стр. 43).