User Tools

Site Tools


db:main

Базы данных

<!– базы_данных&navbar –>

🎓 Лабораторные работы

Лабораторные работы 6-10 🚀 ТОП-ИТ уровня 8-).

🎯 Лабораторная работа 1. Проектирование структуры БД

Важно! Согласовать модель с преподавателем до продолжения работы

Цель: Спроектировать структуру базы данных, соответствующую бизнес-требованиям и нормализованную до 3NF.

📋 Требования:

Требование Описание
Требование 1 Соответствие всем частям задания (структура + выходные документы)
Требование 2 3-5 таблиц в базе данных
Требование 3 Нормализация до третьей нормальной формы

🚀 Шаги выполнения:

  1. Выбор задачи из учебных пособий:
  2. Проектирование ER-диаграммы в современных инструментах:
  3. Валидация модели через Deepseek
  4. Согласование полученной модели с преподавателем

📊 Пример проекта: Github репозиторий

🎯 Лабораторная работа 2. Инсталляция БД на сервере

Цель: Практическое развертывание базы данных и работа с SQL.

🔧 Инструменты:

📋 Задачи:

  1. Преобразование ER-диаграммы в логическую модель
  2. Проектирование физической модели
  3. Создание DDL-запросов для PostgreSQL
  4. Заполнение таблиц данными (минимум 4 строки)
  5. Проверка при помощи Deepseek 4 и 5 нормальных форм (по желанию) 8-)
    1. Делаете дамп вашей схемы данных (для командной строки пример - 'pg_dump -n eugeneai –insert study') в клиенте
    2. Отдаете в ваш чат Deepseek с запросом на проверку
    3. Добавляете результат в отчет
  6. Выполнение содержательных SELECT-запросов с JOIN 2-3 таблиц (Выходные документы по заданию, их два!)
-- Пример запроса с JOIN
SELECT u.name, o.order_date, p.product_name
FROM users u
JOIN orders o ON u.id = o.user_id
JOIN products p ON o.product_id = p.id;

🎯 Лабораторная работа 3. Представления и процедуры

Цель: Освоение механизмов абстракции данных и программных модулей.

📋 Задачи:

  1. Создание представлений для выходных документов
  2. Разработка хранимых процедур с параметрами
  3. Представление сложных запросов при помощи представления
-- Пример создания представления
CREATE VIEW sales_report AS
SELECT c.name, SUM(o.amount) AS total_sales
FROM customers c
JOIN orders o ON c.id = o.customer_id
GROUP BY c.name;

🎯 Лабораторная работа 4. Анализ производительности

Цель: Освоение методов анализа и оптимизации производительности БД.

📋 Задачи:

  1. Создание генератора данных (20 000 записей в каждой таблице)
  2. Анализ планов выполнения запросов (EXPLAIN ANALYZE)
  3. Оптимизация БД через индексы и настройки
  4. Сравнение производительности до/после оптимизации

🔧 Инструменты:

EXPLAIN (ANALYZE, BUFFERS) 
SELECT * FROM large_table WHERE condition;

🎯 Лабораторная работа 5. Триггеры и аудит

Цель: Реализация бизнес-логики на уровне БД и системы аудита.

📋 Задачи:

  1. Триггеры каскадного удаления для связей “один-ко-многим”
  2. Триггеры аудита изменений (INSERT, UPDATE, DELETE)
  3. Создание таблицы-журнала для отслеживания изменений
-- Пример триггера аудита
CREATE TRIGGER audit_customer_changes
    AFTER INSERT OR UPDATE OR DELETE ON customers
    FOR EACH ROW EXECUTE FUNCTION log_customer_changes();

🚀 ТОП-ИТ УРОВЕНЬ

Лабораторные работы 6-10 🚀 ТОП-ИТ уровня 8-).

📈 Система оценивания

🎓 Базовый уровень (лабы 1-5):

Лабораторная Макс. балл Срок сдачи
Лаб 1. Проектирование 20 3 недели
Лаб 2. Инсталляция 25 2 недели
Лаб 3. Представления 20 2 недели
Лаб 4. Производительность 20 2 недели
Лаб 5. Триггеры 15 2 недели
Итого 100

🚀 ТОП-ИТ уровень (лабы 6-10):

Лабораторная Макс. балл Бонусы
Лаб 6. Репликация 25 +5 к итогу
Лаб 7. CI/CD 25 +5 к итогу
Лаб 8. Оптимизация 25 +5 к итогу
Лаб 9. Безопасность 25 +5 к итогу
Лаб 10. NoSQL 25 +5 к итогу

Примечание: Лабораторные 6-10 являются дополнительными и выполняются по желанию для повышения оценки

🔗 Ресурсы и контакты

📚 Учебные материалы:

💼 Платформы для сдачи:

📞 Контакты:

  • Telegram: @eugeneai
  • Пример организации проекта: GitHub

Совет: Начните работу заранее - сложные лабораторные требуют глубокого понимания и времени на отладку!

базы_данных лабораторные_работы postgresql топ-ит

db/main.txt · Last modified: by eugeneai