|
|
|
Хранить режим работы в базе данных
|
|||
|---|---|---|---|
|
#18+
Добрый день) Есть необходимость создать график работы предприятий. Выглядеть должно примерно так: Режим работыПн. 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......... Так гораздо экономичнее... Но в таком случае вычислять есть ли уже такой интервал, если есть то указывать его, а если нету, то добавлять новый, т.е. либо добавлять столбец с контрольной суммой, либо вычислять в программе... Так вот, хотел бы узнать, мало ли кто сталкивался с такой задачей, есть ли какое-нибудь более элегантное решение?.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 17:50 |
|
||
|
Хранить режим работы в базе данных
|
|||
|---|---|---|---|
|
#18+
DastiX Есть вариант с таблицей "Предприятия+Время_Работы+Интервал": Предпр_ИДПн.Вт.Ср.Чт.Пт.Сб.Вс.1id1id1id1id1id2id3id3........................ где ИДНачалоКонецid109:0021:00id209:0019:00id311:0019:00......... Так гораздо экономичнее... Но в таком случае вычислять есть ли уже такой интервал, если есть то указывать его, а если нету, то добавлять новый, т.е. либо добавлять столбец с контрольной суммой, либо вычислять в программе... Так вот, хотел бы узнать, мало ли кто сталкивался с такой задачей, есть ли какое-нибудь более элегантное решение?.... Зачем так усложнять себе жизнь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 18:34 |
|
||
|
Хранить режим работы в базе данных
|
|||
|---|---|---|---|
|
#18+
IMHO : Cмысл экономить есть если собираются фактические данные которые не совпадают с плановыми, а если каждая неделя одинаковая, то у предприятия П1 есть недельный график Г1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 18:38 |
|
||
|
Хранить режим работы в базе данных
|
|||
|---|---|---|---|
|
#18+
AmKad Зачем так усложнять себе жизнь? Есть варианты попроще? to _kyky Ну так и есть, у каждого предприятия свой график работы. Но только этих предприятий в наличии пятьсот и в перспективе может добавиться сколько угодно. И если для каждого предприятия делать собственный график работы, который может повторяться с другими графиками, а может и нет, то получается очень большая таблица с совершенно не нужными данными... Т.е. если у ста предприятий одинаковый график, то нужна таблица 100строкX15полей. Это если первым способом. А если вторым, то 100строкX8полей+7строкX7полей. Т.е. фактическое уменьшение таблицы в два раза на лицо. Конечно все это не обязательно, не думаю что это очень сильно повлияет на скорость или размеры, но просто хочется научится делать изначально правильно... А не потом, когда вдруг база при привышении энного количества записей начинает работать медленнее, чем дохлая черепаха. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 19:26 |
|
||
|
Хранить режим работы в базе данных
|
|||
|---|---|---|---|
|
#18+
А особенно будет заметна экономия, когда таблица "Интервал" охватит весь диапазон стандартных интервалов работы. Т.е. заполняться будет только таблица "График" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 19:29 |
|
||
|
Хранить режим работы в базе данных
|
|||
|---|---|---|---|
|
#18+
ну а чем Предприятие-Дата-Начало-Конец не устраивает ? или если графики стабилиные и периодические то вообще 2 таблицы 1. График-Начало-Конец 2. Предприятие-График какие там большие таблицы ? в три колонки пару сотен записей в день ? (если у вас столько предприятий) или раскройте задачу для чего вами придуманные сложности ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 21:44 |
|
||
|
Хранить режим работы в базе данных
|
|||
|---|---|---|---|
|
#18+
Изначально правильно, по моим понятиям) так Т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 старая запись закрывается предыдущим днем новая открывается с текущего ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 11:23 |
|
||
|
Хранить режим работы в базе данных
|
|||
|---|---|---|---|
|
#18+
Таким образом : 1.хранится только ссылка на график который не повторяется каждый раз для предприятия 2.в случае изменения графика хранится история непонятно пака как все это планируется использовать, мож из этого структура вытекает более правильная Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 11:32 |
|
||
|
Хранить режим работы в базе данных
|
|||
|---|---|---|---|
|
#18+
зачем две последние колонки в Т3 ? они уже есть в Т2.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 11:40 |
|
||
|
Хранить режим работы в базе данных
|
|||
|---|---|---|---|
|
#18+
Не путайте график работы по дням недели с периодом действия графика, те с какой и по какую дату он действует ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 12:28 |
|
||
|
Хранить режим работы в базе данных
|
|||
|---|---|---|---|
|
#18+
_kykyНе путайте график работы по дням недели с периодом действия графика, те с какой и по какую дату он действует а зачем ? в таблице изменений режимов Предприятие-График-Дата соответственно + две таблицы (предприятий и графиков с временем и датой рабочего дня) и всё как вы потом в отчетах будет выборку действовавших графиков по периоду делать ? координатно-шахматным методом ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 13:20 |
|
||
|
Хранить режим работы в базе данных
|
|||
|---|---|---|---|
|
#18+
вообще какая цель проекта ? вести учет времени или планировать его ? если только второе тогда возможно вы и правы... если только первое или и то и другое тогда не совсем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 13:23 |
|
||
|
Хранить режим работы в базе данных
|
|||
|---|---|---|---|
|
#18+
Насчет периода действия это моя отсебятина, изначально у автора такого нет, но то что графики меняются это кмк объективная реальность ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 15:31 |
|
||
|
Хранить режим работы в базе данных
|
|||
|---|---|---|---|
|
#18+
_kykyНасчет периода действия это моя отсебятина, изначально у автора такого нет, но то что графики меняются это кмк объективная реальность ну и пусть себе меняются... какой был график в какой день будет видно в таблице и не надо плясать с бубном насчет запроса собирая периоды действия графиков попадающие в периоды расчета зп по пересечению их дат начала и конца действия о_О а вот если ТОЛЬКО планировать надо это да... другой вопрос там может и пригодиться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 16:10 |
|
||
|
Хранить режим работы в базе данных
|
|||
|---|---|---|---|
|
#18+
от задачи все зависит, например если график меняется раз в сезон и по постановке хочется знать какой он был прошлой осенью я так предполагал, если это неважно можно не историзировать изменения графика ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2010, 12:51 |
|
||
|
Хранить режим работы в базе данных
|
|||
|---|---|---|---|
|
#18+
Граждане, и это вы говорите мне, что я все усложняю) Мне всего-то и надо что бы у меня в информации о предприятии был режим работы. И все. Вот вы подходите к аптеке, а там табличка: Пн.-Пт. 09:00-21:00 Сб. 11:00-21:00 Вс. Выходной Никаких вычислений с этой информацией не будет. Только отображение. И мне интересно, как можно хранить эту информацию в более уплотненном и корректном виде? Всего-то..а вы уже и планирование и шахматка...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2010, 17:35 |
|
||
|
Хранить режим работы в базе данных
|
|||
|---|---|---|---|
|
#18+
Так и храните тогда текстом, и не парьтесь проектированием ORG_ID,ORDER_ID,TEXT 1,1, Пн.-Пт. 09:00-21:00 1,2, Сб. 11:00-21:00 1,3, Вс. Выходной ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2010, 18:34 |
|
||
|
Хранить режим работы в базе данных
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2010, 18:47 |
|
||
|
Хранить режим работы в базе данных
|
|||
|---|---|---|---|
|
#18+
Ну это конечно хорошо, но не очень удобно с точки зрения ввода, редактирования и отображения информации. Я хочу что бы она была структурирована и отображалась как я указал в начале темы. Ну да ладно. Чего-то мне сегодня все это лень делать :) сделаю как текст) Спасибо за ответы))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2010, 19:03 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=36549050&tid=1542780]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
89ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 220ms |
| total: | 421ms |

| 0 / 0 |
