User Tools

Site Tools


db:new

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
db:new [2025/10/08 08:34] – [💡 Лабораторная работа 6. Репликация и кластеризация] eugeneaidb:new [2025/10/08 08:53] (current) – [📈 Система оценивания] eugeneai
Line 1: Line 1:
 ====== Базы данных ====== ====== Базы данных ======
  
-{{topic>базы_данных&navbar}} +===== 🎓 Лабораторные работы: 🚀 ТОП-ИТ УРОВЕНЬ =====
- +
-===== 🎓 Лабораторные работы ===== +
- +
-==== 🎯 Лабораторная работа 1. Проектирование структуры БД ==== +
- +
-<wrap important>**Важно!** Согласовать модель с преподавателем до продолжения работы</wrap> +
- +
-**Цель**Спроектировать структуру базы данных, соответствующую бизнес-требованиям и нормализованную до 3NF. +
- +
-**📋 Требования:** +
-| Требование | Описание | +
-|------------|----------| +
-| **Требование 1** | Соответствие всем частям задания (структура + выходные документы) | +
-| **Требование 2** | 3-5 таблиц в базе данных | +
-| **Требование 3** | Нормализация до третьей нормальной формы | +
- +
-**🚀 Шаги выполнения:** +
-  1. **Выбор задачи** из учебных пособий: +
-     * {{db:варианты_заданий_по_уд.pdf| Варианты заданий к.т.н. Сосинской С.С.}} +
-     * Задачи, сгенерированные [[db:nn_tasks|нейронной сетью]] +
-  2. **Проектирование ER-диаграммы** в современных инструментах: +
-     * [[https://dbdiagram.io|DBDiagram]] (рекомендуется) +
-     * [[https://draw.io|Draw.io]] +
-     * [[https://plantuml.com|PlantUML]] +
-  3. **Валидация модели** через [[https://github.com/eugeneai/lab-db-2025-1|Deepseek]] +
-  4. **Согласование** полученной модели с преподавателем +
- +
-**📊 Пример проекта:** [[https://github.com/eugeneai/lab-db-2025-1|Github репозиторий]] +
- +
-==== 🎯 Лабораторная работа 2. Инсталляция БД на сервере ==== +
- +
-**Цель**: Практическое развертывание базы данных и работа с SQL. +
- +
-**🔧 Инструменты:** +
-* **Клиент БД**: [[https://sql.iscnet.ru/pgadmin4|pgAdmin 4]] или [[https://dbeaver.io|DBeaver]] +
-* **СУБД**: PostgreSQL 15+ +
- +
-**📋 Задачи:** +
-  - Преобразование ER-диаграммы в логическую модель +
-  - Проектирование физической модели +
-  - Создание DDL-запросов для PostgreSQL +
-  - Заполнение таблиц данными (минимум 4 строки) +
-  - Выполнение содержательных SELECT-запросов с JOIN 2-3 таблиц +
- +
-<code sql> +
--- Пример запроса с 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; +
-</code> +
- +
-==== 🎯 Лабораторная работа 3. Представления и процедуры ==== +
- +
-**Цель**: Освоение механизмов абстракции данных и программных модулей. +
- +
-**📋 Задачи:** +
-  - Создание представлений для выходных документов +
-  - Разработка хранимых процедур с параметрами +
-  - Оптимизация запросов через представления +
- +
-<code sql> +
--- Пример создания представления +
-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; +
-</code> +
- +
-==== 🎯 Лабораторная работа 4. Анализ производительности ==== +
- +
-**Цель**: Освоение методов анализа и оптимизации производительности БД. +
- +
-**📋 Задачи:** +
-  - Создание генератора данных (20 000 записей в каждой таблице) +
-  - Анализ планов выполнения запросов (EXPLAIN ANALYZE) +
-  - Оптимизация БД через индексы и настройки +
-  - Сравнение производительности до/после оптимизации +
- +
-**🔧 Инструменты:** +
-```sql +
-EXPLAIN (ANALYZE, BUFFERS)  +
-SELECT * FROM large_table WHERE condition; +
-``` +
- +
-==== 🎯 Лабораторная работа 5. Триггеры и аудит ==== +
- +
-**Цель**: Реализация бизнес-логики на уровне БД и системы аудита. +
- +
-**📋 Задачи:** +
-  - Триггеры каскадного удаления для связей "один-ко-многим" +
-  - Триггеры аудита изменений (INSERT, UPDATE, DELETE) +
-  - Создание таблицы-журнала для отслеживания изменений +
- +
-<code sql> +
--- Пример триггера аудита +
-CREATE TRIGGER audit_customer_changes +
-    AFTER INSERT OR UPDATE OR DELETE ON customers +
-    FOR EACH ROW EXECUTE FUNCTION log_customer_changes(); +
-</code> +
- +
-===== 🚀 ТОП-ИТ УРОВЕНЬ =====+
  
 ==== 💡 Лабораторная работа 6. Репликация и кластеризация ==== ==== 💡 Лабораторная работа 6. Репликация и кластеризация ====
Line 119: Line 16:
  
 **🔧 Технологии:** **🔧 Технологии:**
-* *Docker** для контейнеризации +  * **Docker** для контейнеризации 
-* **PgPool-II** для балансировки нагрузки +  * **PgPool-II** для балансировки нагрузки 
-* **WAL-G** для непрерывного архивирования+  * **WAL-G** для непрерывного архивирования
  
 **📊 Критерии оценки:** **📊 Критерии оценки:**
Line 138: Line 35:
   - Реализация отката миграций (rollback)   - Реализация отката миграций (rollback)
   - Интеграция с GitLab CI/GitHub Actions   - Интеграция с GitLab CI/GitHub Actions
 +
  
 **📁 Структура проекта:** **📁 Структура проекта:**
Line 161: Line 59:
  
 **📊 Метрики для мониторинга:** **📊 Метрики для мониторинга:**
-* QPS (Queries Per Second) +  * QPS (Queries Per Second) 
-* Latency (время ответа) +  * Latency (время ответа) 
-* Connection pool usage +  * Connection pool usage 
-* Cache hit ratio+  * Cache hit ratio
  
 ==== 💡 Лабораторная работа 9. Безопасность и авторизация ==== ==== 💡 Лабораторная работа 9. Безопасность и авторизация ====
Line 218: Line 116:
 | Лаб 10. NoSQL | 25 | +5 к итогу | | Лаб 10. NoSQL | 25 | +5 к итогу |
  
-<wrap important>**Примечание:** Лабораторные 6-10 являются дополнительными и выполняются по желанию для повышения оценки</wrap>+**Примечание:** Лабораторные 6-10 являются дополнительными и выполняются по желанию для повышения оценки
  
 ===== 🔗 Ресурсы и контакты ===== ===== 🔗 Ресурсы и контакты =====
  
 **📚 Учебные материалы:** **📚 Учебные материалы:**
-* {{db:варианты_заданий_по_уд.pdf|Базовые задания}} +  * {{db:варианты_заданий_по_уд.pdf|Базовые задания}} 
-* [[db:nn_tasks|Задания от нейросети]] +  * [[db:nn_tasks|Задания от нейросети]] 
-* [[https://github.com/eugeneai/lab-db-2025-1|Пример проекта на GitHub]]+  * [[https://github.com/eugeneai/lab-db-2025-1|Пример проекта на GitHub]]
  
 **💼 Платформы для сдачи:** **💼 Платформы для сдачи:**
-* [[https://github.com|GitHub]]  +  * [[https://github.com|GitHub]]  
-* [[https://gitverse.ru|GitVerse]] (российский аналог)+  * [[https://gitverse.ru|GitVerse]] (российский аналог)
  
 **📞 Контакты:** **📞 Контакты:**
-* **Telegram**: @eugeneai +  * **Telegram**: @eugeneai 
-* **Пример организации проекта**: [[https://github.com/eugeneai/lab-db-2025-1|GitHub]]+  * **Пример организации проекта**: [[https://github.com/eugeneai/lab-db-2025-1|GitHub]]
  
-<wrap tip>**Совет:** Начните работу заранее - сложные лабораторные требуют глубокого понимания и времени на отладку!</wrap>+**Совет:** Начните работу заранее - сложные лабораторные требуют глубокого понимания и времени на отладку!
  
 {{tag>базы_данных лабораторные_работы postgresql топ-ит}} {{tag>базы_данных лабораторные_работы postgresql топ-ит}}
 +
db/new.1759883666.txt.gz · Last modified: by eugeneai