Загрузка данных


Вот словарь данных для вашей базы данных туристического агентства.

Легенда:

· PK — первичный ключ
· FK — внешний ключ
· Обязательное: ✅ Да / ❌ Нет

---

1. clients (Клиенты)

Ключ Поле Тип данных Обязательное Примечание
PK client_id SERIAL ✅ Уникальный ID клиента
 first_name VARCHAR(100) ✅ Имя
 last_name VARCHAR(100) ✅ Фамилия
 email VARCHAR(255) ✅ Уникальный, используется для связи
 phone VARCHAR(20) ❌ Номер телефона
 passport_number VARCHAR(50) ❌ Номер загранпаспорта
 passport_expiry DATE ❌ Дата окончания паспорта
 has_visa BOOLEAN ❌ Наличие визы (TRUE/FALSE)
 has_insurance BOOLEAN ❌ Наличие страховки (TRUE/FALSE)
 document_notes TEXT ❌ Доп. заметки по документам

---

2. employees (Сотрудники)

Ключ Поле Тип данных Обязательное Примечание
PK employee_id SERIAL ✅ Уникальный ID сотрудника
 first_name VARCHAR(100) ✅ Имя
 last_name VARCHAR(100) ✅ Фамилия
 role VARCHAR(20) ✅ Роль: guide, translator, manager, driver
 phone VARCHAR(20) ❌ Телефон
 email VARCHAR(255) ❌ Email
 languages VARCHAR(255) ❌ Какие языки знает (через запятую)
 is_available BOOLEAN ❌ Доступен ли для работы (по умолчанию TRUE)

---

3. tours (Туры)

Ключ Поле Тип данных Обязательное Примечание
PK tour_id SERIAL ✅ Уникальный ID тура
 tour_name VARCHAR(255) ✅ Название тура
 country VARCHAR(100) ❌ Страна
 city VARCHAR(100) ❌ Город
 description TEXT ❌ Описание тура
 base_price DECIMAL(10,2) ✅ Базовая цена тура
 allocated_budget DECIMAL(10,2) ❌ Выделенный бюджет на тур
 spent_budget DECIMAL(10,2) ❌ Потраченный бюджет
 marketing_channel VARCHAR(20) ❌ Канал рекламы: social, tv, print, online_ads, none
 marketing_budget DECIMAL(10,2) ❌ Бюджет на рекламу
 marketing_start DATE ❌ Дата старта рекламы
 marketing_end DATE ❌ Дата окончания рекламы
 marketing_notes TEXT ❌ Заметки по рекламе

---

4. services (Услуги)

Ключ Поле Тип данных Обязательное Примечание
PK service_id SERIAL ✅ Уникальный ID услуги
 service_type VARCHAR(20) ✅ Тип: flight, hotel, transfer, excursion, meal, other
 provider_name VARCHAR(255) ❌ Название провайдера (авиакомпания, отель и т.д.)
 description TEXT ❌ Описание услуги
 cost DECIMAL(10,2) ✅ Стоимость услуги

---

5. bookings (Бронирования)

Ключ Поле Тип данных Обязательное Примечание
PK booking_id SERIAL ✅ Уникальный ID бронирования
FK client_id INT ✅ Ссылка на clients(client_id)
FK tour_id INT ✅ Ссылка на tours(tour_id)
 booking_date DATE ✅ Дата бронирования
 start_date DATE ✅ Дата начала тура
 end_date DATE ✅ Дата окончания тура
 status VARCHAR(20) ❌ Статус: planned, active, completed, cancelled
 total_price DECIMAL(10,2) ❌ Итоговая цена бронирования
 incident_description TEXT ❌ Описание инцидента (если был)
 incident_status VARCHAR(20) ❌ Статус инцидента: none, open, resolved
 incident_resolution TEXT ❌ Решение по инциденту
 client_feedback TEXT ❌ Отзыв клиента
 client_rating TINYINT ❌ Оценка клиента (от 1 до 5)

---

6. booking_services (Услуги в бронировании)

Ключ Поле Тип данных Обязательное Примечание
PK booking_service_id SERIAL ✅ Уникальный ID записи
FK booking_id INT ✅ Ссылка на bookings(booking_id)
FK service_id INT ✅ Ссылка на services(service_id)
 service_date TIMESTAMP ❌ Дата и время оказания услуги
 notes TEXT ❌ Заметки по конкретной услуге

---

7. booking_staff (Персонал на бронь)

Ключ Поле Тип данных Обязательное Примечание
PK booking_staff_id SERIAL ✅ Уникальный ID записи
FK booking_id INT ✅ Ссылка на bookings(booking_id)
FK employee_id INT ✅ Ссылка на employees(employee_id)
 task_description TEXT ❌ Описание задач сотрудника на эту бронь

---

Связи между таблицами (кратко)

Таблица 1 Таблица 2 Тип связи Поле связи
clients bookings 1:N bookings.client_id
tours bookings 1:N bookings.tour_id
bookings booking_services 1:N booking_services.booking_id
services booking_services 1:N booking_services.service_id
bookings booking_staff 1:N booking_staff.booking_id
employees booking_staff 1:N booking_staff.employee_id

Готово. Этот словарь можно перенести в Excel, Notion или любую документацию.