Возникла проблема при проектировании БД. Нужен совет людей, которые понимают в этой теме лучше меня. =)
Для простоты я убрал много информации, оставив лишь малую часть.
Итак, есть некие задачи. Задачи могут иметь время начала и завершения выполнения, а могут и не иметь - это всё зависит от пользователя.
Проблема заключается в следующем: создавать ли отдельную таблицу для задач, у которых известно время начала и завершения выполнения, или всё писать в одну таблицу.
Всё в одной таблице:
Задачи
код задачи
заголовок задачи
описание задачи
выполнена ли задача
дата выполнения задачи
время начала выполнения задачи
время завершения выполнения задачи
Задачи в разных таблицах:
Задачи
код задачи
заголовок задачи
описание задачи
выполнена ли задача
дата выполнения задачи
------------------------- Задачи с известным временем
код задачи (FK)
время начала выполнения задачи
время завершения выполнения задачи
Я читал про нормализацию, но так и не понял, как правильнее будет сделать. Важным моментом является то, что типов задач будет минимум 4. То есть отдельно 4 таблицы создавать под каждый тип задачи или всё писать в одну таблицу, где будут всегда какое-то количество пустых полей?
Спасибо.
Администрация!Пожалуйста, добавьте птичку "решено", а также соответствующую кнопку на ajax'е в теме (подробнее здесь).
Я бы делал одну таблицу, в которой время начала и окончания могут принимать значение NULL. Дополнительные таблицы будут связаны с основной по принципу один-к-одному, в данном случае, ИМХО, излишне.
Не понял, почему дополнительных таблиц 4, так как Вы разделили, получается таблица заданий и таблица начала и конца, ну для задач без начала с концом и с началом без конца еще 2 дополнительных. Но Вы с этим только намучаетесь. И память особо не сэкономите (если вообще сэкономите).
Я бы делал одну таблицу, в которой время начала и окончания могут принимать значение NULL. Дополнительные таблицы будут связаны с основной по принципу один-к-одному, в данном случае, ИМХО, излишне.
Не понял, почему дополнительных таблиц 4, так как Вы разделили, получается таблица заданий и таблица начала и конца, ну для задач без начала с концом и с началом без конца еще 2 дополнительных. Но Вы с этим только намучаетесь. И память особо не сэкономите (если вообще сэкономите).
Я для упрощения привёл пример только с двумя таблицами. На самом деле параметров больше, соответственно и разделить можно будет не на 2 таблицы как в данном примере, а на 4 как минимум. Ну это не суть. Просто хочу узнать, как лучше: делить или не делить. =)
Администрация!Пожалуйста, добавьте птичку "решено", а также соответствующую кнопку на ajax'е в теме (подробнее здесь).
какой сервер и какие преположительные объемы таблиц? для начала можно поделить условно - меньше миллиона записей и больше..
если задача - объект статический и одну и ту же задачу можно несколько раз запустить, тогда структура, конечно, не верна..
Второй вариант легко "эмулируется" в оракле посредством создания правильных индексов