
Доработки по требованиям преподавателей включены в стоимость.
Гарантийный срок — до 21 дня, это период в течение которого вы можете обратиться за бесплатными доработками.
Бесплатная онлайн-поддержка до защиты
Наши менеджеры ответят на любой вопрос 24/7
Задачу по базам данных принимают не за верный результат, а за обоснование выбора нормальной формы и запроса. Ниже: какие задачи встречаются чаще всего, что входит в решение, нормализация и ER-модель, SQL-запросы. Пункты не заменяют друг друга: рабочий SQL-запрос без объяснения, зачем нужен именно такой JOIN, комиссией не принимается. Разбираем каждый пункт: цена — от 100 ₽, срок — от часа.
Нормализация: приведение отношения к 1НФ, 2НФ, 3НФ или НФБК, определение функциональных зависимостей, устранение аномалий вставки и удаления.
ER-модель: построение диаграммы «сущность — связь», определение мощности и класса принадлежности связей, преобразование модели в реляционные таблицы.
SQL-запросы: выборка с условиями и сортировкой, соединения таблиц, группировка с агрегатными функциями, подзапросы и оконные функции.
Реляционная алгебра: запись запроса через операции выборки, проекции, соединения и деления.
Проектирование схемы: назначение первичных и внешних ключей, ограничения целостности, индексы.
Транзакции: свойства ACID, уровни изоляции, разбор конфликтов при параллельном доступе.
Приведение к нормальной форме идёт по шагам: сначала устраняются повторяющиеся группы для 1НФ, затем частичные зависимости от части составного ключа для 2НФ, затем транзитивные зависимости для 3НФ. Каждый шаг сопровождается указанием, какая функциональная зависимость нарушала форму и как декомпозиция её устраняет. ER-диаграмма строится с явным указанием мощности связей — один-к-одному, один-ко-многим, многие-ко-многим, — потому что от этого зависит, нужна ли отдельная таблица для связи.
Соединение таблиц выбирается по смыслу задачи, а не по умолчанию: INNER JOIN отбрасывает строки без пары, LEFT JOIN сохраняет все строки левой таблицы, и подмена одного другим меняет результат. Группировка с HAVING фильтрует уже агрегированные группы, а WHERE — исходные строки до группировки, и путать эти два условия нельзя. Подзапрос выбирается коррелированный или нет в зависимости от того, нужно ли обращаться к внешней таблице на каждой итерации.
Условие с описанием предметной области или исходной схемой таблиц, тестовые данные, если задание должно быть проверено на них, требуемую СУБД — синтаксис отличается между MySQL, PostgreSQL и MS SQL, — методичку с принятой нотацией ER-диаграмм.
Заявка бесплатна и обратима: посмотрите отклики с ценой и сроком и решайте уже по ним. Сравнивайте отклики по опыту автора в этом направлении, а не только по названной сумме. Расчёт с автором идёт после проверки готового файла.
Да, каждый шаг — от 1НФ до нужной формы — сопровождается указанием конкретной функциональной зависимости и того, какую аномалию она вызывала.
Да, укажите MySQL, PostgreSQL или MS SQL — синтаксис оконных функций и работа с датами у них различаются.
Да, если тестовые данные есть в задании, запрос выполняется на них и результат сверяется с ожидаемым.
Да, с явным указанием один-к-одному, один-ко-многим или многие-ко-многим — от этого зависит итоговая схема таблиц.