У меня есть база данных SQLite, которая содержит набор таблиц. Все данные в этих таблицах можно выделить в группы множеств некоторым id. Например:Создать базу данных SQLite из другой базы данных SQLite C#
Table A
ID value1 value2
1 asd fgh
2 sdf ghj
Table B
ID ID2 value4
1 10 vbn
2 11 bnm
Table C
ID2 value5 value6
10 asdfg qwer
11 tyui hjkl
Где каждый ID
колонка будет отображать другую ID
и каждый ID2
будет отображаться на другой ID2
.
Я хочу взять эту базу данных, и создать ряд небольших баз данных, каждый из которых имеет ту же структуру, но будет содержать данные только с 1 ID
:
Database1.sqlite
Table A
ID value1 value2
1 asd fgh
Table B
ID ID2 value4
1 10 vbn
Table C
ID2 value5 value6
10 asdfg qwer
Database2.sqlite
Table A
ID value1 value2
2 sdf ghj
Table B
ID ID2 value4
2 11 bnm
Table C
ID2 value5 value6
11 tyui hjkl
Я мог бы просто создать таблицы по одному, собрать все данные за ID
через серию SELECT
, а затем добавьте его в ряд заявлений INSERT
, но я думаю, что должен быть лучший способ.
Моя другая идея состоит в том, что я могу создать серию представлений, каждая из которых изолирует данные в формате выше. Оттуда я мог просто написать эти серии представлений как sqlite-файл в качестве базы данных.
Мой вопрос: Насколько реалистична идея представления моего представления? Можно ли создать серию представлений, которые имитируют структуру каждой таблицы, но, скажем, где ID = 1
, а затем сохранить эти представления в виде файла sqlite? Все это нужно сделать на C#. Есть ли лучший способ сделать то, что я пытаюсь сделать?
Дополнительная информация Эти таблицы могут иметь несколько строк с одинаковыми идентификаторами. Для каждой таблицы также должны быть некоторые первичные ключи/внешние ключи. В идеале мы могли бы взять эти меньшие таблицы, а затем сжать их все в большую таблицу в будущем.