Skip to content

Latest commit

 

History

History
311 lines (219 loc) · 37.2 KB

README.md

File metadata and controls

311 lines (219 loc) · 37.2 KB

ICT_DataBases_2021-2022

Репозиторий для реализации дисциплин "Базы данных" и "Проектирование и реализация баз данных

Учебный журнал по дисциплинам. Здесь доступна информация о сроках сдачи работ, о текущей успеваемости студентов и о материалах курса.

Силабус:

Базы данных

Проектирование и реализация баз данных

Лекционные материалы:

Базы данных

Проектирование и реализация баз данных

Лабораторные работы - задания, оцениваемые преподавателем:

Базы данных

Проектирование и реализация баз данных

Практические задания - задания, которые желательно выполнить перед выполнением лабораторной работы для того, чтобы освоить тему:

Базы данных

Содержание зачета/экзамена - перечень тем для подготовки к зачету/экзамену:

Базы данных

Проектирование и реализация баз данных

ПРОЕКТИРОВАНИЕ И РЕАЛИЗАЦИЯ БАЗ ДАННЫХ (4 семестр 2021-2022)

Раздел 1 МЕТОДОЛОГИИ И СРЕДСТВА ПРОЕКТИРОВАНИЯ БАЗ ДАННЫХ

Лекция 1 Функциональные зависимости. Метод нормальных форм

Материалы лекции доступны здесь:

Целостность базы данных

Функциональные зависимости. Метод нормальных форм

Пример нормализации БД

Статья "Программа нормализации реляционных баз данных как основа предметно-ориентированной интеллектуальной обучающей системы"

Ключевая контрольная точка по завершению изучения раздела - тест 1 (тип вопросов: открытые, закрытые).

Раздел 2 РАЗРАБОТКА И ЭКСПЛУАТАЦИЯ БАЗ ДАННЫХ

Лекция 2.1 Создание базы данных средствами реляционной СУБД.

Материалы лекции доступны здесь

Практическое задание к лекции

Лабораторная работа 1 Создание БД в СУБД PostgreSQL. Резервное копирование и восстановление БД

Лабораторная работа 1 является ключевой контрольной точкой по разделу.

Целью работы явялется овладение практическими навыками установки СУБД PostgreSQL и создания базы данных в pgadmin 4, создания таблиц базы данных PostgreSQL 1Х, заполнения их рабочими данными, резервного копирования и восстановления БД

Подробно задание описано в тексте работы:

ЛР 1.1 Установка PostgreSQL и pgAdmin. Создание БД

ЛР 1.2 Создание БД PostgreSQL в pgAdmin. Резервное копирование и восстановление БД

Защита лабораторной работы №1

По итогам выполнения работы студент представляет реализованную БД в pgadmim. На GIT должен быть загружен pdf-файл отчета по работе в соответствии с требованиями, изложенными в файле работы. При представлении реализованной базы данных необходимо устно обосновать состояние реализованной БД в соответствии с нормальными формами.

Лекция 2.2.1 Манипулирование данными в SQL (добавление, редактирование, удаление, выборка данных). Построение запросов к БД

Материалы лекции доступны здесь

Лекция 2.2.2 Индексы в реляционной БД

Материалы лекции доступны здесь

Лабораторная работа 2 Запросы на выборку и модификацию данных, представления и индексы в PostgreSQL

Лабораторная работа 2 является ключевой контрольной точкой по разделу.

Целью работы является овладение практическими навыками создания представлений и запросов на выборку данных к базе данных PostgreSQL, использования подзапросов при модификации данных и индексов.

Подробно задание описано в тексте работы

Защита лабораторной работы №2

По итогам выполнения работы студент представляет отчет. На GIT должен быть загружен pdf-файл отчета в соответствии с требованиями, изложенными в файле работы. При представлении реализованного задания проводится устное собеседование по результатам работы.

Лекция 2.3 ASID vs BASE. Транзакции

Материалы лекции доступны здесь

Лекция 2.4 Хранимые процедуры. Процедуры и функции. Триггеры

Материалы лекции доступны здесь

Материалы к практическому занятию "Триггеры и функции. Работа в консоли PostgreSQL psql"

Работа в консоли PostgreSQL psql

Триггеры и функции

Лабораторная работа 3 Процедуры, функции и триггеры в PostgreSQL

Лабораторная работа 3 является ключевой контрольной точкой по разделу.

Целью работы является овладение практическими навыками создания представлений и запросов на выборку данных к базе данных PostgreSQL, использования подзапросов при модификации данных и индексов.

Подробно задание описано в тексте работы

Описание работы включает материалы пактического занятия по теме.

Защита лабораторной работы №3

По итогам выполнения работы студент представляет отчет. На GIT должен быть загружен pdf-файл отчета в соответствии с требованиями, изложенными в файле работы. При представлении реализованного задания проводится устное собеседование по результатам работы.

Лекция 2.5 Архитектура "клиент-сервер". Виды архитектур

Материалы лекции доступны здесь

Лекция 2.6 Разграничение доступа к БД. Привилегии пользователей

Материалы лекции доступны здесь

Ключевая контрольная точка по завершению изучения раздела - тест 2 (тип вопросов: открытые, закрытые).

Лабораторная работа 4 РАЗРАБОТКА ИНТЕРФЕЙСОВ ДЛЯ ВЫПОЛНЕНИЯ CRUD-ОПЕРАЦИЙ НАД БАЗОЙ ДАННЫХ СРЕДСТВАМИ PHP

Целью работы является овладение практическими навыками разработки форм для вставки, удаления, редактирования и выборки данных из базы данных PostgreSQL.

Вариант 1. Задание выполняется с использованием специализированного ПО XAMPP 8.0.5 (PHP 8.0.5) (или аналога). Допустимо реализовать работу на призвольном программном стеке.

Подробно задание описано в тексте работы.

Вариант 2. Как результат лаборатоной работы можно представить иной индивидуальный (или групповой) проект по тематике работы, реализованный на произвольном программном стеке.

Защита лабораторной работы №4

В качестве отчета по лабораторной работе представляется озвученый видеоролик с представлением реализованных CRUD-операций для БД, кода и комментариями по средствам реализации. Отчетные материалы (для пул-реквеста) включают видео-ролик представления работы.

ОНЛАЙН-КУРС "Data Manipulation Language (Начальный уровень)"

В рамках практического онлайн-курса "Data Manipulation Language (Начальный уровень)" предлагается выполнить 12 практических заданий (SQL-запросов) на вставку, удаление и редактирование данных (по нескольким предметным областям).

Онлайн-курс выполняется в рамках темы 2.2. 

Ссылка на онлайн-платформу: https://learnsql.ru/ 

Для получения комплекта заданий студенту необходимо зарегистриоваться на ресурсе и выбрать онлайн-курс. При регистрации необходимо правильно выбрать номер учебной группы и год обучения - 2021/2022. Электронная почта - только gmail.

После выполения онлайн-курса студент предоставляет преподавателю статистику выполения заданий на ресурсе (прогресс по группе).

Дэдлайн предоставления результатов выполнения онлайн-курса - 17 неделя в четвертом семестре.

Выполнение задания сопровождается описанием и схемой базы данных (по соответсвующей предметной области).

Каждое правильно решенное задание оценивается в 1 балл.

Для получения зачета по онлайн-курсу студент должен правильно выполнить 12 заданий из комлекта (статистика выполения на ресурсе - 100%).

Минимальное количество - 12 баллов (100% выполнение задания курса).

При выполнении курса не позднее 31.05.2022, обучающийся получает 3 дополнительных балла.

Максимальное количество баллов - 15.

Раздел 3 ВВЕДЕНИЕ В НЕРЕЛЯЦИОННЫЕ БАЗЫ ДАННЫХ (NOSQL)

Лекция 3 Введение в Nosql. СУБД MongoDB. Создание БД. Манипулирование данными

Материалы лекции доступны здесь

Лабораторная работа 5 Реализация БД с использованием СУБД MongoDB. Запросы к базе данных

Лабораторная работа 5.1 Введение в СУБД MongoDB. Установка MongoDB

Целью работы является овладние практическими навыками установки и начальными навыками работы с СУБД MongoDB. Задание выполняется с использованием СУБД MongoDB 5.0.8.

Подробно задание описано в тексте работы.

Отчет по работе не требуется.

Лабораторная работа 5.2 Работа с БД в СУБД MongoDB

Целью работы является овладние практическими навыками работы с CRUD-операциями, с вложенными объектами в коллекции базы данных MongoDB, агрегации и изменения данных, со ссылками и индексами в базе данных MongoDB.

Задание выполняется с использованием СУБД MongoDB 5.0.8.

Подробно задание описано в тексте работы.

Защита лабораторной работы №5

По итогам выполнения работы студент представляет отчет. На GIT должен быть загружен pdf-файл отчета в соответствии с требованиями, изложенными в файле работы. При представлении реализованного задания проводится устное собеседование по результатам работы.

Ключевая контрольная точка по завершению изучения раздела - тест 3 (тип вопросов: закрытые).

БАЗЫ ДАННЫХ (3 семестр 2021-2022)

Раздел 1 ВВЕДЕНИЕ В КОНЦЕПЦИЮ БАЗ ДАННЫХ

Лекция 1.1 ВВЕДЕНИЕ

  1. Актуальность проблематики АИС и лежащих в их основе БД
  2. Состав и фукции СУБД. Трехуровневая архитектура БД и СУБД (часть 1) (презентация)
  3. Состав и фукции СУБД. Трехуровневая архитектура БД и СУБД (часть 2) (текстовые материалы)

Раздел 2 МЕТОДОЛОГИИ И СРЕДСТВА ПРОЕКТИРОВАНИЯ БАЗ ДАННЫХ

Лекция 2.1 СТРУКТУРНЫЙ ПОДХОД К ПРОЕКТИРОВАНИЮ АИС. АНАЛИЗ ПОВЕДЕНИЯ СИСТЕМЫ С ИСПОЛЬЗОВАНИЕМ КОНТЕКСТНЫХ ДИАГРАММ (DFD)

Материалы лекции доступны здесь

Лабораторная работа №1 АНАЛИЗ ПОВЕДЕНИЯ СИСТЕМЫ С ИСПОЛЬЗОВАНИЕМ КОНТЕКСТНЫХ ДИАГРАММ (DFD)

Целью работы является овладение практическими навыками и умениями исследования предметной области на уровне анализа поведения системы с использованием DFD-диаграмм (DFD).

Подробно задание описано в тексте работы.

Работа выполняется в командах (до 4-х студентов). Возможно выполнение индивидуально. Для сдачи работы необходимо сделать презентацию по этапам выполнения и защитить ее на занятии или консультации.

Моделирование функционального поведения системы выполняется в CASE-средстве Erwin Process Modeler. Возможны два варианта установки: новая версия с оффициального сайта и получение студенческой лицензии, либо использование триальной версии.

Практикум по работе программой здесь

Старая версия Erwin Process Modele здесь.

Пример и объяснение того, как сделать функциональную модель, можно посмотреть здесь.

Защита лабораторной работы №1

Представление проекта на занятии или консультации. На GIT должен быть загружен pdf-файл с моделью, презентация в pdf, erwin-файл (или иной). Комментарии должны содержать информацию о варианте.

Дополнительно:

  1. Несколько рекомендаций по построению DFD-диаграмм здесь.

  2. Мастер-классы Юрия Купоросова (Университет ИТМО) "Искусство выступать"

Чаcть 1. Как не надо делать презентацию

Часть 2. Особенности выступления на защите проекта

Лекция 2.2 КОНЦЕПЦИИ ПРОЕКТИРОВАНИЯ БД. ИНФОЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ. МЕТОД "СУЩНОСТЬ-СВЯЗЬ"

Лекция 2.2.1 КОНЦЕПЦИИ ПРОЕКТИРОВАНИЯ БД

Лекция 2.2.2 ИНФОЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ. МЕТОД"СУЩНОСТЬ-СВЯЗЬ"

Материалы лекции доступны здесь

Практическое задание 1 ИЛМ БД CarWash (ERwin Data Modeler)

Лабораторная работа 2 АНАЛИЗ ДАННЫХ. ПОСТРОЕНИЕ ИНФОЛОГИЧЕСКОЙ МОДЕЛИ ДАННЫХ

Цель работы является овладение практическими навыками проведения анализа данных системы и построения инфологической модели БД методом «сущность-связь».

Подробно задание описано в тексте работы.

В рамках ЛР 2 выполняется задание 1.1 варианта. Остальные задания варианта включаются в состав лабораторных работ по дисциплине "Проектирование и реализация баз данных" в 4 семестре. Задание выполняется индивидуально.

Допустимо предложить для выполнения свою предметную область (согласовать с преподавателем). Модель БД должна содержать не менее 7 сущностей.

Модель БД в нотации IDEF1X выполняется в Erwin Data Modeler (или аналоге). Возможны два варианта установки: новая версия с оффициального сайта и получение студенческой лицензии, либо использование триальной версии.

Старая версия доступна с здесь.

Пример и объяснение того, как сделать модель данных в нотации IDEF1X, можно посмотреть здесь

Дополнительный лабораторный практикум по Erwin Data Modeler здесь

Модель БД перед сдачей отчета должна быть согласована (на занятии или консультации).

Отчетные материалы (для пул-реквеста) включают файл отчета по лабораторной работе (PDF) и файл модели в Erwin Data Modeler (+PDF).

Лекция 2.3 КЛАСИФИКАЦИЯ МОДЕЛЕЙ ДАНННЫХ. РЕЛЯЦИОННАЯ МОДЕЛЬ ДАННЫХ

Материалы лекции доступны здесь

Лекция 2.3.1 ПРЕОБРАЗОВАНИЕ ИНФОЛОГИЧЕКОЙ МОДЕЛИ ДАННЫХ В РЕЛЯЦИОННУЮ

Материалы лекции доступны здесь

12 правил Кодда

Материалы доступны здесь

Запись лекции от 03.11.2021

Ссылка на запись

Ращдел 3 ВВЕДЕНИЕ В SQL

Лекция 3.1 РЕЛЯЦИОННАЯ АЛГЕБРА

Лекция 3.1 РЕЛЯЦИОННАЯ АЛГЕБРА

Материалы лекции доступны здесь

Лекция 3.1.1 Дополнительно Операции РА

Материалы доступны здесь

Дополнительно:

Реляционная алгебра

Лекция 3.2 ОПИСАНИЕ ДАННЫХ И МАНИПУЛИРОВАНИЕ ДАННЫМИ SQL. DDL, DML, SELECT

3.2.1 ВВЕДЕНИЕ В SQL

Материалы доступны здесь

3.2.2 КОМАНДЫ DDL И DML SQL

Материалы доступны здесь

3.2.3 SELECT SQL. Базовая конструкция

Материалы доступны здесь

3.2.4 SELECT SQL. Переменные таблицы Множественные операторы

Материалы доступны здесь

3.2.5 SELECT SQL. Подзапросы

Материалы доступны здесь

3.2.6 SELECT SQL. Соединения

Материалы доступны здесь

3.2.7 SELECT SQL. Агрегатные функции. Группирующие запросы

Материалы доступны здесь

3.2.8 SELECT SQL. NULL-значения

Материалы доступны здесь

Операторы языка SQL Select

Материалы доступны здесь

Тестовая база данных:

Скрипты запросов БД Колледж 3.2.3-3.2.9 здесь

ОНЛАЙН-КУРС "ОСНОВЫ SELECT SQL (БАЗОВЫЙ УРОВЕНЬ)"

В рамках практического онлайн-курса "Основы SELECT SQL (версия 2021)" предлагается выполнить 60 практических заданий (SQL-запросов) на выборку данных (по нескольким предметным областям).

Онлайн-курс выполняется в рамках темы 3.2. Описание данных и манипулирование данными в SQL. DDL, DML, SELECT.

Ссылка на онлайн-платформу: https://learnsql.ru/ 

Для получения комплекта заданий студенту необходимо зарегистриоваться на ресурсе и выбрать онлайн-курс. При регистрации необходимо правильно выбрать номер учебной группы и год обучения - 2021/2022. Электронная почта - только gmail.

После выполения онлайн-курса студент предоставляет преподавателю статистику выполения заданий на ресурсе (прогресс по группе).

Дэдлайн предоставления результатов выполнения онлайн-курса - 17 неделя в третьем семестре.

Выполнение задания сопровождается описанием и схемой базы данных (по соответсвующей предметной области).

Каждое правильно решенное задание оценивается в 0.3 балла.

Для получения зачета по онлайн-курсу студент должен правильно выполнить 60 заданий из комлекта (статистика выполения на ресурсе - 100%).

Минимальное количество - 18 баллов (100% выполнение задания курса).

При выполнении курса не позднее 21.12.2021, обучающийся получает 2 дополнительных балла.

Максимальное количество баллов - 20.

Требования к отчетным материалам по лабораторным работам

Структура отчета соответсвует требованиям, заданным в лабораторной работе.

Оформлении текста отчета соответствует основным правилам оформления в соответствии с ГОСТ 7.32-2017 СИБИД Отчет о научно-исследовательской работе. Структура и правила оформления (с Поправками) (только оформление заголовков, основного текста, таблиц, рисунков, формул, списков, приложений).

Имя pdf-файла отчета задается по шаблону: Группа_Фамилия_Имя_ЛР№. Например: K3240_Иванов_Василий_ЛР2

В соответствии с требованиями работы в отчетные материалы могут включаться схемы, рисунки, презентации и т.д.

Сдача работ

Работы защищаются на занятиях или консультациях. Все отчеты сохраняются в pdf (документы и презентации). Отчеты предоставленные в других форматах приниматься не будут. Все студенческие работы хранятся в папке Students Для сдачи работы необходимо:

  1. Зарегистрироваться на GIT.
  2. Сделать форк репозитория с заданиями в свой аккаунт (на странице https://github.com/marinagovorova/ICT_DataBases_2021-2022 кнопка fork справа, сверху).
  3. Установить GIT на компьютер.
  4. Открыть папку, где хранятся Ваши проекты на Вашем ПК. В контекстом меню нажать "Open Git Bash here". Склонировать форкнутый репозиторий на компьютер (git clone https://github.com/ваш аккаунт/ICT_DataBases_2021-2022).
  5. В файловой системе Вашего компрьютера, в склонированном репозитории создать в папке students/группа Вашу личную папку в формате Фамилия_Имя латиницей. Например: students/k3240/Petrov_Vasya
  6. В личной папке сделать подпапку с текущей работой в формате LR_номер. Например: students/k3240/Petrov_Vasya/LR_1
  7. Записать в папку отчетные материалы.
  8. Сделать коммит, описать его адекватно Например: "Был добавлен файл перезентация_петров.pdf". Комментарий обязателен. Набрать команлы git add и git commit -m "название комита".
  9. Сделать push в Ваш форкнутый репозиторий (git push).
  10. Сделать пул-реквест в этот репозиторий из Вашего форкнутого, описать его адекватно. Комментарий обязателен. Имя пулреквеста задается по шаблону: Группа_Фамилия_Имя_ЛР№. Например: K3240_Иванов_Василий_ЛР2. На каждую лабораторную работу создается свой пул-реквест. Можно воспользоватьсяэтой инструкцией. У нас нет веток с заданиями, как здесь, но Вам поможет. Все работы сдаются средствами создания Pull Requests в папку students в этом репозитории.

Еще один мануал о том, как сделать Pull Request, описан здесь.

Желаю успехов!