Думаю, я справлюсь со всем этим самостоятельно, но ... я думаю, что я потратил слишком много времени ... Привет всем!Я борюсь со структурой базы данных Room - я не уверен, верен ли мой подход или нет.Я пытаюсь добиться того, чтобы иметь возможность добавлять Сервисы (подкатегории) в Категории, но также могут быть дополнительные Подкатегории:
Категория -> Сервис
Категория ->необязательная подкатегория -> Служба
То, что я уже сделал (пропустил некоторые основные части кода):
a) созданные объекты
@Entity
class Category
int id
String name
@Entity
class Subcategory
int id
String name
int categoryID
@Entity
class Subcategory
int id
String name
int categoryID
int subcategoryID
b) созданные таблицы соединений
@Entity
class Join
int id
int categoryID
int subcategoryID
int serviceID
Это просто, когда у категории есть подкатегория с любыми услугами:
id | categoryId | SubcategoryId| ServiceId|
-------------------------------------------
1 | 1 | 1 | 1 |
1 | 1 | 1 | 2 |
, но если нет подкатегории, и услуга принадлежит только к категории:
id | categoryId | SubcategoryId| ServiceId|
-------------------------------------------
1 | 1 | null | 1 |
Я поставил null
в качестве SubcategoryId и проверил, является ли подкатегория нулевой
Итак, вопрос в следующем: Является ли этот подход правильным с точки зрения проектирования реляционных баз данных?
Или я должен: 1. создать таблицы подкатегорий категории-подкатегории, службы подкатегории, категории-службы и каким-то образом объединить их в конечном итоге в одно большое соединение?2. или добавить к сервису categoryId и subcategoryId?
Любые комментарии, советы и рекомендации очень ценятся!:)