powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Делаю Scheduler переговорных комнат, как правильно создать базу?
2 сообщений из 2, страница 1 из 1
Делаю Scheduler переговорных комнат, как правильно создать базу?
    #32025417
vilarik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Делаю 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
Делаю Scheduler переговорных комнат, как правильно создать базу?
    #32025437
michael
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
попробуй отказаться от даты окончания используй только дату начала далее если комната не резервируется другим то пусть считается что она зарезервирована за последним кто в ней был, или используй целое значение часов на сколько была зарезервирована так проще построить индексы ... и ещё не используй view как только данных станет много это вилы
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Делаю Scheduler переговорных комнат, как правильно создать базу?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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