Три таблицы:
NOTE: _id, title, details
LIST: _id, listname
NOTES_IN_LIST: note_id, list_id
Затем, когда вы добавляете заметку в список, вы добавляете в NOTES_IN_LIST новую строку, которая соединяет эту заметку ('note_id) с списком (' list_id).
Всякий раз, когда вы редактируете заметку, вы просто редактируете ее в таблице ПРИМЕЧАНИЕ.
Всякий раз, когда вы перечисляете содержимое списка, для которого у вас есть идентификатор, вы выбираете что-то вроде:
SELECT title, details
from NOTE
where NOTE._id in (
SELECT note_id from NOTES_IN_LIST
where list_id=<your list id>
)
или
SELECT title, details
from NOTE, NOTES_IN_LIST
where
NOTE._id=NOTES_IN_LIST.note_id
and
NOTES_IN_LIST.list_id=<your list id>
Хм, чтобы перевести старые заметки в новую структуру, я бы:
- создать новую таблицу заметок с новым полем идентификатора автоинкремента
- затем выберите отчет (название заметки, детали заметки) в эту новую таблицу заметок
- затем присоедините старую таблицу заметок к новой таблице заметок в old_title = new_title и old_detail = new_detail, затем выберите из этого новый идентификатор заметки и старый идентификатор списка, затем вставьте полученную таблицу в таблицу NOTES_IN_LIST
- тогда я думаю, что вы можете удалить старую таблицу заметок
Убедитесь, что никто не редактирует и не добавляет заметки, пока это происходит, иначе вы потеряете заметки.
Также вам потребуется обновить пользовательский интерфейс для работы с новой таблицей заметок, помещать заметки в списки не копируя, а вставляя новую строку в NOTES_IN_LIST и т. Д.