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


Лишнего там нет, но объем действительно выглядит внушительно из-за развернутых пояснений. В задании требуют ровно три вещи: отношения со всеми полями и ключами, связи и доказательство 3НФ.
Если хочется сдать компактный отчет без «воды», вот сокращенный, максимально сухой вариант:
Отчёт по лабораторной работе №2
Предметная область: Вариант 6. Бюро по трудоустройству
1. Схема базы данных
(Сюда вставляется скриншот диаграммы)
2. Описание отношений (таблиц)
 * Виды деятельности (ActivityTypeID INT [PK], название VARCHAR(100))
 * Работодатели (EmployerID INT [PK], название_компании VARCHAR(150), ActivityTypeID INT [FK], адрес VARCHAR(200), телефон VARCHAR(20))
 * Вакансии (VacancyID INT [PK], EmployerID INT [FK], должность VARCHAR(100), оклад DECIMAL(10,2))
 * Соискатели (ApplicantID INT [PK], фамилия VARCHAR(50), имя VARCHAR(50), отчество VARCHAR(50), квалификация VARCHAR(100), профессия VARCHAR(100))
 * Сделки (DealID INT [PK], ApplicantID INT [FK], VacancyID INT [FK], комиссионные DECIMAL(10,2), дата_сделки DATE)
3. Связи между таблицами
 * Виды деятельности ➔ Работодатели (1:M по ключу ActivityTypeID)
 * Работодатели ➔ Вакансии (1:M по ключу EmployerID)
 * Вакансии ➔ Сделки (1:M по ключу VacancyID)
 * Соискатели ➔ Сделки (1:M по ключу ApplicantID)
4. Доказательство 3НФ
 * 1НФ: Все поля содержат атомарные (неделимые) значения, списков в ячейках нет, у каждой таблицы задан первичный ключ.
 * 2НФ: Таблицы находятся в 1НФ, а все первичные ключи — простые (несоставные, состоят из одного ID). Частичные функциональные зависимости отсутствуют.
 * 3НФ: Таблицы находятся во 2НФ, и отсутствуют транзитивные зависимости (неключевые поля зависят только от своего PK):
   * Справочник отраслей вынесен из Работодатели в отдельную таблицу.
   * Работодатель и должность убраны из таблицы Сделки, так как однозначно определяются через связь с Вакансии (VacancyID).
В таком виде отчет занимает всего одну страницу, но при этом закрывает абсолютно все требования из формулировки задания.