|
|
|
Многие-ко-многим. Как упростить?
|
|||
|---|---|---|---|
|
#18+
Есть таблица Events (события). Каждое событие имеет дату-время проведения. Их может быть несколько, например 1)5 марта-23 апреля с 9.30 до 18.00 2)3 мая с 9.00 до 14.00, 5 мая с 11.00 до 18.00, 9 мая с 9.00 до 14.00, 10 мая с 19.00 до 23.00, 14 мая с 12.00 до 22.00 То есть даты могут идти не по-порядку, их может быть как одна, так и несколько. Время тоже может различаться. Разные события тоже могут иметь одинаковое дату-время работы. Я думаю, что нужно сделать таблицу WorkingDateTimes (EventID, DateTimeFrom, DateTimeTo) с отнощением многие-ко-многим. Она, конечно, подойдет. Но как быть с первым случаем: разве придется перечислять все даты в интервале 5 марта-23 апреля? Как быть упростить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2011, 09:40 |
|
||
|
Многие-ко-многим. Как упростить?
|
|||
|---|---|---|---|
|
#18+
DaroomaНо как быть с первым случаем: разве придется перечислять все даты в интервале 5 марта-23 апреля? Как быть упростить?Вы подумайте, как эти данные будут использоваться. Скорее всего, "WorkingDateTimes (EventID, DateTimeFrom, DateTimeTo)" и будет самым простым в использовании вариантом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2011, 10:32 |
|
||
|
Многие-ко-многим. Как упростить?
|
|||
|---|---|---|---|
|
#18+
alexeyvgDaroomaНо как быть с первым случаем: разве придется перечислять все даты в интервале 5 марта-23 апреля? Как быть упростить?Вы подумайте, как эти данные будут использоваться. Скорее всего, "WorkingDateTimes (EventID, DateTimeFrom, DateTimeTo)" и будет самым простым в использовании вариантом. Они будут отображаться и по ним будет осуществляться поиск, например, найти события, которые происходят в определенный промежуток. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2011, 11:39 |
|
||
|
Многие-ко-многим. Как упростить?
|
|||
|---|---|---|---|
|
#18+
DaroomaalexeyvgВы подумайте, как эти данные будут использоваться. Скорее всего, "WorkingDateTimes (EventID, DateTimeFrom, DateTimeTo)" и будет самым простым в использовании вариантом. Они будут отображаться и по ним будет осуществляться поиск, например, найти события, которые происходят в определенный промежуток.Какой промежуток? например: с 3 мая 12.00 до 9 мая 13.00, попадающие в "окна", описанные в данных или с 3 мая до 9 мая с 12.00 до 13.00, попадающие в "окна", описанные в данных Вот в зависимости от этого и выбирайте схему данных. Нужно довольно детальнрое описание, "которые происходят в определенный промежуток" всё таки слишком лаконично... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2011, 12:23 |
|
||
|
Многие-ко-многим. Как упростить?
|
|||
|---|---|---|---|
|
#18+
alexeyvgDaroomaпропущено... Они будут отображаться и по ним будет осуществляться поиск, например, найти события, которые происходят в определенный промежуток.Какой промежуток? например: с 3 мая 12.00 до 9 мая 13.00, попадающие в "окна", описанные в данных или с 3 мая до 9 мая с 12.00 до 13.00, попадающие в "окна", описанные в данных Вот в зависимости от этого и выбирайте схему данных. Нужно довольно детальнрое описание, "которые происходят в определенный промежуток" всё таки слишком лаконично... с 3 мая по 9 мая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2011, 13:28 |
|
||
|
Многие-ко-многим. Как упростить?
|
|||
|---|---|---|---|
|
#18+
Какую схему выбрать в таком случае? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2011, 16:20 |
|
||
|
Многие-ко-многим. Как упростить?
|
|||
|---|---|---|---|
|
#18+
Darooma, Можно, например, хранить дату-время начала каждого события, продолжительность (в часах, минутах или секундах, как удобнее) и дату завершения. Такая структура закрывает даже достаточно сложные варианты, когда событие, например, начинается в понедельник в 21.00, а завершается во вторник в 16.00. Другой вариант, дата-время начала, дата-время конца и дата завершения. Если даты завершения нет - повторяется каждый день. Можно еще такой вариант: дата начала, дата завершения, время начала и время завершения. Но тогда перехлест с одного дня на другой чуть сложнее сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2011, 18:43 |
|
||
|
Многие-ко-многим. Как упростить?
|
|||
|---|---|---|---|
|
#18+
Vladimir Kiselev, интересно, надо подумать, спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 00:02 |
|
||
|
Многие-ко-многим. Как упростить?
|
|||
|---|---|---|---|
|
#18+
Vladimir KiselevDarooma, 1. Можно, например, хранить дату-время начала каждого события, продолжительность (в часах, минутах или секундах, как удобнее) и дату завершения. Такая структура закрывает даже достаточно сложные варианты, когда событие, например, начинается в понедельник в 21.00, а завершается во вторник в 16.00. 2. Другой вариант, дата-время начала, дата-время конца и дата завершения. Если даты завершения нет - повторяется каждый день. 1. Вы имеете ввиду -----9 мая 12.00 ---- 14 часов ---- 10 мая 2 часа------- ? Для чего здесь продолжительность или дата окончания? Что-то лишнее. Потому, что событие а) может повторяться не каждый день б) иметь различные графики в каждый из дней 2. То же самое: а) может повторяться не каждый день б) иметь различные графики в каждый из дней ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 00:09 |
|
||
|
Многие-ко-многим. Как упростить?
|
|||
|---|---|---|---|
|
#18+
up ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2011, 23:15 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=37263343&tid=1542166]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
158ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 492ms |

| 0 / 0 |
