Работа с взаимоисключающими значениями в базе данныхAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Работа с взаимоисключающими значениями в базе данных

Сообщение Anonymous »


У меня есть БД для хранения задач. Задача может быть повторяемой, ее можно запланировать на несколько дней недели или несколько дат.

Структура:

enum class ScheduleType(val value: Int) { НЕТ(-1), ДАТА(0), ДЕНЬ НЕДЕЛИ(1); } @Сущность( ForeignKeys = [ForeignKey( сущность = Пользователь::класс, родительские столбцы = arrayOf("id"), childColumns = arrayOf("authorId"), onDelete = ForeignKey.CASCADE )] ) класс данных Задача( @PrimaryKey(autoGenerate = true) //TODO не генерируется автоматически действительный идентификатор: Int? = ноль, тип значения: ScheduleType, val заголовок: Строка, val тело: String?, valauthorId: Int, val isFavorite: Boolean = false, val созданная дата: ZonedDateTime, val updateDate: ZonedDateTime? = ноль, val LastSyncDate: ZonedDateTime? = ноль, val deleteDate: ZonedDateTime? = ноль, ) @Сущность( ForeignKeys = [ForeignKey( сущность = Задача::класс, родительские столбцы = arrayOf("id"), childColumns = arrayOf("taskId"), onDelete = ForeignKey.CASCADE )], ) класс данных ScheduleTask( @PrimaryKey var TaskId: Int = ID_UNSPECIFIED, время вал: LocalTime, val isRepeat: Boolean = false, ) @Сущность( ForeignKeys = [ForeignKey( сущность = ScheduleTask::класс, родительские столбцы = arrayOf("taskId"), childColumns = arrayOf("taskId"), onDelete = ForeignKey.CASCADE )], PrimaryKeys = ["taskId", "weekDay"] ) класс данных ScheduleWeekWithTime( var TaskId: Int = ID_UNSPECIFIED, val WeekDay: WeekDays, val LastScheduleDate: ZonedDateTime? = ноль, val LastDoneDate: ZonedDateTime? = ноль, val LastDelayedTime: ZonedDateTime? = ноль, val LastDelayValue: Long = 0 ) @Сущность( ForeignKeys = [ForeignKey( сущность = ScheduleTask::класс, родительские столбцы = arrayOf("taskId"), childColumns = arrayOf("taskId"), onDelete = ForeignKey.CASCADE )], PrimaryKeys = ["taskId", "дата"] ) класс данных ScheduleDateWithTime( var TaskId: Int = ID_UNSPECIFIED, дата валидации: LocalDate, val LastScheduleDate: ZonedDateTime? = ноль, val LastDoneDate: ZonedDateTime? = ноль, val LastDelayedTime: ZonedDateTime? = ноль, val LastDelayValue: Long = 0 ) Нормально ли иметь одинаковые атрибуты в ScheduleDateWithTime и ScheduleWeekWithTime, например «lastScheduleDate, LastDoneDate..»? Есть ли способ сохранить их вместе в одной таблице или для этого может быть более работоспособная структура базы данных?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»