powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Хранить режим работы в базе данных
19 сообщений из 19, страница 1 из 1
Хранить режим работы в базе данных
    #36548808
DastiX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день)
Есть необходимость создать график работы предприятий.
Выглядеть должно примерно так:

Режим работыПн. 09:00-21:00Вт. 09:00-21:00Ср. 09:00-21:00Чт. 09:00-21:00Пт. 09:00-19:00Сб. 11:00-19:00Вс. 11:00-19:00
Соответственно для каждого предприятия такая штука.
Вот я хотел бы спросить у вас, как это лучше реализовать?
У меня есть вариант "Предприятия+Время_работы":
Предпр_ИДПн.НачалоПн.КонецВт.НВт.КСр.НСр.КЧт.НЧт.КПт.НПт.КСб.НСб.КВс.НВс.К109:0021:0009:0021:0009:0021:0009:0021:0009:0019:0011:0019:0011:0019:00.............................................
Но по-моему это глупый вариант ), слишком много избыточных данных...

Есть вариант с таблицей "Предприятия+Время_Работы+Интервал":
Предпр_ИДПн.Вт.Ср.Чт.Пт.Сб.Вс.1id1id1id1id1id2id3id3........................
где
ИДНачалоКонецid109:0021:00id209:0019:00id311:0019:00.........
Так гораздо экономичнее...
Но в таком случае вычислять есть ли уже такой интервал, если есть то указывать его, а если нету, то добавлять новый, т.е. либо добавлять столбец с контрольной суммой, либо вычислять в программе...
Так вот, хотел бы узнать, мало ли кто сталкивался с такой задачей, есть ли какое-нибудь более элегантное решение?....
...
Рейтинг: 0 / 0
Хранить режим работы в базе данных
    #36548928
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DastiX
Есть вариант с таблицей "Предприятия+Время_Работы+Интервал":
Предпр_ИДПн.Вт.Ср.Чт.Пт.Сб.Вс.1id1id1id1id1id2id3id3........................
где
ИДНачалоКонецid109:0021:00id209:0019:00id311:0019:00.........
Так гораздо экономичнее...
Но в таком случае вычислять есть ли уже такой интервал, если есть то указывать его, а если нету, то добавлять новый, т.е. либо добавлять столбец с контрольной суммой, либо вычислять в программе...
Так вот, хотел бы узнать, мало ли кто сталкивался с такой задачей, есть ли какое-нибудь более элегантное решение?....
Зачем так усложнять себе жизнь?
...
Рейтинг: 0 / 0
Хранить режим работы в базе данных
    #36548940
_kyky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IMHO : Cмысл экономить есть если собираются фактические данные которые не совпадают с плановыми, а если каждая неделя одинаковая, то у предприятия П1 есть недельный график Г1.
...
Рейтинг: 0 / 0
Хранить режим работы в базе данных
    #36549050
DastiX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKad
Зачем так усложнять себе жизнь?

Есть варианты попроще?

to _kyky
Ну так и есть, у каждого предприятия свой график работы.
Но только этих предприятий в наличии пятьсот и в перспективе может добавиться сколько угодно.
И если для каждого предприятия делать собственный график работы, который может повторяться с другими графиками, а может и нет, то получается очень большая таблица с совершенно не нужными данными...
Т.е. если у ста предприятий одинаковый график, то нужна таблица 100строкX15полей.
Это если первым способом.
А если вторым, то 100строкX8полей+7строкX7полей.
Т.е. фактическое уменьшение таблицы в два раза на лицо.

Конечно все это не обязательно, не думаю что это очень сильно повлияет на скорость или размеры, но просто хочется научится делать изначально правильно...
А не потом, когда вдруг база при привышении энного количества записей начинает работать медленнее, чем дохлая черепаха.
...
Рейтинг: 0 / 0
Хранить режим работы в базе данных
    #36549060
DastiX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А особенно будет заметна экономия, когда таблица "Интервал" охватит весь диапазон стандартных интервалов работы. Т.е. заполняться будет только таблица "График"
...
Рейтинг: 0 / 0
Хранить режим работы в базе данных
    #36549266
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну а чем

Предприятие-Дата-Начало-Конец

не устраивает ?

или если графики стабилиные и периодические то вообще 2 таблицы

1. График-Начало-Конец
2. Предприятие-График


какие там большие таблицы ? в три колонки пару сотен записей в день ? (если у вас столько предприятий)


или раскройте задачу для чего вами придуманные сложности ?
...
Рейтинг: 0 / 0
Хранить режим работы в базе данных
    #36550008
_kyky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изначально правильно, по моим понятиям) так
Т1 Список предприятий (ID_ORG,NAME)
Т2,T2.1 График работы (ID_GR,NAME) и (ID_GR,DAY,TIME_FROM,TIME_TO )
Т3 Прериод действитя графика (ID_ORG,ID_GR,DATE_FROM ,DATE_TO)

При смене графика в T3
старая запись закрывается предыдущим днем
новая открывается с текущего
...
Рейтинг: 0 / 0
Хранить режим работы в базе данных
    #36550035
_kyky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таким образом :
1.хранится только ссылка на график который не повторяется каждый раз для предприятия
2.в случае изменения графика хранится история

непонятно пака как все это планируется использовать,
мож из этого структура вытекает более
правильная

Удачи!
...
Рейтинг: 0 / 0
Хранить режим работы в базе данных
    #36550056
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зачем две последние колонки в Т3 ? они уже есть в Т2.1
...
Рейтинг: 0 / 0
Хранить режим работы в базе данных
    #36550218
_kyky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не путайте график работы по дням недели с периодом действия графика, те с какой и по какую дату он действует
...
Рейтинг: 0 / 0
Хранить режим работы в базе данных
    #36550364
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_kykyНе путайте график работы по дням недели с периодом действия графика, те с какой и по какую дату он действует

а зачем ? в таблице изменений режимов

Предприятие-График-Дата

соответственно + две таблицы (предприятий и графиков с временем и датой рабочего дня)

и всё

как вы потом в отчетах будет выборку действовавших графиков по периоду делать ? координатно-шахматным методом ?
...
Рейтинг: 0 / 0
Хранить режим работы в базе данных
    #36550372
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообще какая цель проекта ?

вести учет времени или планировать его ?

если только второе тогда возможно вы и правы... если только первое или и то и другое тогда не совсем
...
Рейтинг: 0 / 0
Хранить режим работы в базе данных
    #36550804
_kyky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчет периода действия это моя отсебятина, изначально у автора такого нет, но то что графики меняются это кмк объективная реальность
...
Рейтинг: 0 / 0
Хранить режим работы в базе данных
    #36550909
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_kykyНасчет периода действия это моя отсебятина, изначально у автора такого нет, но то что графики меняются это кмк объективная реальность

ну и пусть себе меняются... какой был график в какой день будет видно в таблице и не надо плясать с бубном насчет запроса собирая периоды действия графиков попадающие в периоды расчета зп по пересечению их дат начала и конца действия о_О

а вот если ТОЛЬКО планировать надо это да... другой вопрос там может и пригодиться
...
Рейтинг: 0 / 0
Хранить режим работы в базе данных
    #36552651
_kyky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
от задачи все зависит,
например если график меняется раз в сезон
и по постановке хочется знать какой он был прошлой осенью
я так предполагал,
если это неважно можно не историзировать изменения графика
...
Рейтинг: 0 / 0
Хранить режим работы в базе данных
    #36553618
DastiX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Граждане, и это вы говорите мне, что я все усложняю)
Мне всего-то и надо что бы у меня в информации о предприятии был режим работы. И все.
Вот вы подходите к аптеке, а там табличка:

Пн.-Пт. 09:00-21:00
Сб. 11:00-21:00
Вс. Выходной

Никаких вычислений с этой информацией не будет. Только отображение.
И мне интересно, как можно хранить эту информацию в более уплотненном и корректном виде?
Всего-то..а вы уже и планирование и шахматка...)
...
Рейтинг: 0 / 0
Хранить режим работы в базе данных
    #36553791
_kyky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так и храните тогда текстом, и не парьтесь проектированием

ORG_ID,ORDER_ID,TEXT
1,1, Пн.-Пт. 09:00-21:00
1,2, Сб. 11:00-21:00
1,3, Вс. Выходной
...
Рейтинг: 0 / 0
Хранить режим работы в базе данных
    #36553816
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Хранить режим работы в базе данных
    #36553849
DastiX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну это конечно хорошо, но не очень удобно с точки зрения ввода, редактирования и отображения информации.
Я хочу что бы она была структурирована и отображалась как я указал в начале темы.
Ну да ладно. Чего-то мне сегодня все это лень делать :) сделаю как текст)
Спасибо за ответы)))
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Хранить режим работы в базе данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]