Topic: можно ли запихнуть одномерный числовой массив в одно поле?

проще говоря месячный календарь в одно поле, или для каждого числа всё-таки придётся создавать своё поле?

Re: можно ли запихнуть одномерный числовой массив в одно поле?

netros wrote:

проще говоря месячный календарь в одно поле, или для каждого числа всё-таки придётся создавать своё поле?

Запихать можно, но будет ли удобно вытаскивать? smile
Уточните вашу бизнес-задачу. Для чего нужен календарь?

Визуальное программирование: блог и телеграм-канал.

3 (edited by netros 2018-02-14 15:02:28)

Re: можно ли запихнуть одномерный числовой массив в одно поле?

для табелирования народа.
Т.е. просто проставить в какую смену кто когда вышел
А вытащить - просто пройтись циклом по строке

Re: можно ли запихнуть одномерный числовой массив в одно поле?

netros wrote:

для табелирования народа.
Т.е. просто проставить в какую смену кто когда вышел
А вытащить - просто пройтись циклом по строке

Рекомендую создать 2 таблицы: работники и табель выхода на работу. Всякие "оптимизации" с запихиванием данных в одно поле на пользу не пойдут, а все вычисления лучше делать не скриптами, а SQL-запросами.

Визуальное программирование: блог и телеграм-канал.

Re: можно ли запихнуть одномерный числовой массив в одно поле?

Да это понятно, что работники и табель в разных таблицах.
Речь идёт именно о таблице табель: мне не хочется создавать 31 поле, по количеству дней. Запросы будут гигантскими.

Re: можно ли запихнуть одномерный числовой массив в одно поле?

netros wrote:

Речь идёт именно о таблице табель: мне не хочется создавать 31 поле, по количеству дней.

Кроме ID, в табеле всего два поля:

  • id_person  - ссылка на сотрудника

  • date_ - дата выхода на работу

А вот заполнять данные в табличку на экране для привычного визуального представления (календарь или табельный лист) придётся скриптом, а для печатной формы сделать временную таблицу.

Визуальное программирование: блог и телеграм-канал.

Re: можно ли запихнуть одномерный числовой массив в одно поле?

k245, вы как-то сильно упрощаете задачу.
Не считая того, что у работников может быть (и есть)  несколько графиков сменности (это может решаться ещё одной таблицей и ссылкой на неё, но в которой опять же должен лежать календарь), существует и такая вещь, как разного рода неявки и выходы вне графика.
Так что всё равно надо держать полный график выходов.
Я решил просто всё обрабатывать как строковые данные. В поле типа Мемо можно впихивать довольно большие значения.

Re: можно ли запихнуть одномерный числовой массив в одно поле?

netros, воля ваша, но речь шла о табеле - то есть о хранении даты выхода конкретного сотрудника в конкретное время. Если нужно, то в нем в дополнительном поле можно хранить фактические отработанные часы и другие отметки вроде выходных, больничных или отпускных. Обычно использую для этого односимвольное значение, как это принято у кадровиков и зарплатников.
Для графика выходов, естественно, нужна отдельная таблица, которая, кстати, по структуре не сильно отличается от табеля.
Вопрос о способах хранения напрямую зависит от потребностях в получении аналитической информации. Если речь идёт о хранении, то можно и в строке, но когда вам понадобятся запросы вида "Сколько сантехников в возрасте от 30 до 40 лет выходили работать по воскресеньям в прошлом году?", вы снова вернётесь к этому вопросу smile

Визуальное программирование: блог и телеграм-канал.