Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Делаю Scheduler переговорных комнат, как правильно создать базу? / 2 сообщений из 2, страница 1 из 1
15.03.2002, 14:06
    #32025417
vilarik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Делаю Scheduler переговорных комнат, как правильно создать базу?
Делаю Scheduler переговорных комнат, как правильно создать базу?

Надо бронировать:
1. На определенные дни недели, на одно и тоже время.
2. На все дни недели, на одно и тоже время
3. На несколько дней

Как вариант создал таблицу:
StartDate - DateTime
EndDate - DateTime
DayOfWeek - Int
RoomID - Int

DayOfWeek:
1-7 номер дня недели.
0 - все дни недели
null - на несколько дней(промежуток)

Например, если StartDate=15.04.2002 16:00:00,а ЕndDate= 31.04.2002 17:00:00
При DayOfWeek =5,это значит 5 - пятница:
комната букируется с 16:00 до 17:00, по пятницам,15.04.2002, 22.04.2002, 29.04.2002
При DayOfWeek =0, это значит:
комната букируется с 16:00 до 17:00, на все дни с 15.04.2002 по 31.04.2002
При DayOfWeek =Null, это значит:
комната букируется с 16:00 15.04.2002 по 17:00 31.04.2002 на все время


Пример данных:
StartDate = 15.04.2002 16:00:00
EndDate = 31.04.2002 17:00:00
DayOfWeek = 5
RoomID = 1

StartDate = 15.04.2002 16:00:00
EndDate = 31.04.2002 17:00:00
DayOfWeek = 0
RoomID = 2

StartDate = 15.04.2002 16:00:00
EndDate = 31.04.2002 17:00:00
DayOfWeek = Null
RoomID = 3

Хотелось бы сделать View, что бы получать данные в следующем виде. А потом делать выборки, задавая условия на поля tmpStartDate, tmpEndDate

StartDate, EndDate, DayOfWeek, Room,IDtmpStartDate, tmpEndDate
"15.04.2002 16:00:00", "31.04.2002 17:00:00", 5, 1, "15.04.2002 16:00:00", "15.04.2002 17:00:00"
"15.04.2002 16:00:00", "31.04.2002 17:00:00", 5, 1, "22.04.2002 16:00:00", "22.04.2002 17:00:00"
"15.04.2002 16:00:00", "31.04.2002 17:00:00", 5, 1, "29.04.2002 16:00:00", "29.04.2002 17:00:00"
"15.04.2002 16:00:00", "31.04.2002 17:00:00", null, 3, "15.04.2002 16:00:00", "31.04.2002 17:00:00"
"15.04.2002 16:00:00", "31.04.2002 17:00:00", 0, 2, "15.04.2002 16:00:00", "15.04.2002 17:00:00"
"15.04.2002 16:00:00", "31.04.2002 17:00:00", 0, 2, "16.04.2002 16:00:00", "16.04.2002 17:00:00"
"15.04.2002 16:00:00", "31.04.2002 17:00:00", 0, 2, "17.04.2002 16:00:00", "17.04.2002 17:00:00"
....т.д.
"15.04.2002 16:00:00", "31.04.2002 17:00:00", 0, 2, "30.04.2002 16:00:00", "30.04.2002 17:00:00"
"15.04.2002 16:00:00", "31.04.2002 17:00:00", 0, 2, "31.04.2002 16:00:00", "31.04.2002 17:00:00"

Как правильно написать View? Или как правильно изменить структуру данных, что бы было удобно работать?
Алексей
...
Рейтинг: 0 / 0
15.03.2002, 15:30
    #32025437
michael
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Делаю Scheduler переговорных комнат, как правильно создать базу?
попробуй отказаться от даты окончания используй только дату начала далее если комната не резервируется другим то пусть считается что она зарезервирована за последним кто в ней был, или используй целое значение часов на сколько была зарезервирована так проще построить индексы ... и ещё не используй view как только данных станет много это вилы
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Делаю Scheduler переговорных комнат, как правильно создать базу? / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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