Я хочу создать базу данных SQLITE для хранения объектов. У объектов есть свойства с несколькими значениями, для которых я создал отдельные таблицы.
CREATE TABLE objs
(
id INTEGER,
name TEXT
);
CREATE TABLE prop1
(
id INTEGER,
value TEXT,
FOREIGN KEY(id) REFERENCES objs(id)
);
CREATE TABLE prop2
(
id INTEGER,
value TEXT,
FOREIGN KEY(id) REFERENCES objs(id)
);
Для списка id s, который я получаю в результате JOIN, я хочу найти значения этих двух свойств. Для этого я выполняю СОЕДИНЕНИЯ, за которыми следует еще одно СОЕДИНЕНИЕ с таблицей prop1. Затем я повторяю это для таблицы prop2. Я подозреваю, что это неэффективно (слишком много объединений) и может быть улучшено. У меня два вопроса.
- Это правильный способ проектирования БД?
- Какой самый эффективный способ извлечь значения свойств, которые я хочу?