-- Создание таблицы расписания работы гидов CREATE TABLE IF NOT EXISTS guide_schedules ( id SERIAL PRIMARY KEY, guide_id INTEGER NOT NULL REFERENCES guides(id) ON DELETE CASCADE, work_date DATE NOT NULL, notes TEXT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- Уникальный индекс для предотвращения дублирования UNIQUE(guide_id, work_date) ); -- Индексы для оптимизации запросов CREATE INDEX IF NOT EXISTS idx_guide_schedules_guide_id ON guide_schedules(guide_id); CREATE INDEX IF NOT EXISTS idx_guide_schedules_work_date ON guide_schedules(work_date); CREATE INDEX IF NOT EXISTS idx_guide_schedules_date_range ON guide_schedules(guide_id, work_date); -- Комментарии COMMENT ON TABLE guide_schedules IS 'Расписание рабочих дней гидов'; COMMENT ON COLUMN guide_schedules.guide_id IS 'ID гида'; COMMENT ON COLUMN guide_schedules.work_date IS 'Дата рабочего дня'; COMMENT ON COLUMN guide_schedules.notes IS 'Дополнительные заметки о рабочем дне';