Репозиторий для реализации дистанционного обучения по дисциплине "Основы проектирования баз данных" (09.02.07, ФСПО)
Учебный журнал по дисциплине. Здесь доступна информация о сроках сдачи работ, о текущей успеваемости студентов и описаны все материалы, необходимые для реализации курса.
Лабораторные работы - задания, оцениваемые преподавателем.
Практические задания - задания, которые необходимо выполнить перед выполнением лабораторной работы для того, чтобы освоить тему.
Лабораторная работа №1 выполняется в ErwinProcessModeler. Два варианта установки: новая версия с оффициального сайта и получение студенческой лицензии, либо использование триальной версии. Скачивание старой версии с гугл диска.
Практические задания и лабораторные работы можно выполнять в группах до двух человек.
Реализовать idef0 модель работы автомойки. Желательно в этой программе. Пример тут
Отчет о практической части содержит PDF/JPEG-файл с вашей функциональной моделью и отправляется пул реквестом в этот репозиторий в папку Pr0_idef0 (Пример students/k3340/Petrov_Vasya/Pr0_idef0 ). Шаблон названия пул реквеста "ИТМО ФСПО Номер_группы Практическая работа ФИО". Пример: "ИТМО ФСПО К3340 Практическая работа №1 Филимонов Филипп".
Перед выполнением задания необхордимо выполнить практикум в соответствии с инструкциями из папки "Практические работы". После выполнения заданий, указанных в тексте практикума, составить функциональную модель, по одному из вариантов рассмотренных на занятии. Варианты:
-
Процесс производства меховых шуб. В процессе существуют заказы, проекты, подбор материалов, рассчет материалов, заказ материалов, рассчет производственных мощностей, поставка товара, производство. (чет)
-
Процесс заказа товара в интернет магазине. Выбор - заказа - оформление доставки - доставка - получение. (нечет)
(текстовое описание работы с программой) тут
(программа) тут
(видео-лекция) Пример и объяснение того, как сделать функциональную модель, можно посмотреть тут
Отчет о практической части содержит PDF-файл с вашей функциональной моделью и отправляется пул реквестом в этот репозиторий в папку students/k3340/Petrov_Vasya/Pr1_dfd. Шаблон названия пул реквеста "ИТМО ФСПО Номер_группы Практическая работа ФИО". Пример: "ИТМО ФСПО К3340 Практическая работа №1 Филимонов Филипп".
Лабораторная работа выполняется в соответствии с заданием. При желании необходимо объединиться в группы и обратиться к преподавателю, написав ему в социальной сети "Вконтакте" для получения варианта. Для сдачи работы необходимо сделать презентацию и защитить ее преподавателю на консультации. Подробнее задание описано в тексте работы.
На гит должен быть загружен пдф файл с моделью, презентация в пдф, ервин файл. Пул реквест должен содержать информация о варианте.
Лабораторная работа и практическая задания №2 выполнются в ErwinDataModeler.
Примеры для леции тут
Реализовать модель мойки автомобилей в нотации Питера-Чена (см. пример в презентации).
Краткое описание:
Клиент, приезжает на мойку. Выбирает тип мойки. Выбирает из спсика доп услуг те дополнительные услуги, которые нужно выполнить во время мойки. Мойщик моей машину и выполняет доп услуги.
Средства реализации: draw.io. Шаблон basic.
Отчет о практической части содержит PDF-файл с вашей моделью данных и отправляется пул реквестом в этот репозиторий в папку students/k3340/Petrov_Vasya/Pr2.1_PiterChen. Шаблон названия пул реквеста "ИТМО ФСПО Номер_группы Практическая работа ФИО". Пример: "ИТМО ФСПО К3340 Практическая работа №1 Филимонов Филипп".
Ознакомитсья с примером построения модели данных в нотации idef1x (ссылка).
После просмотра примера реализовать модель данных по одному из вариантов:
-
Процесс производства меховых шуб. В процессе существуют заказы, проекты, подбор материалов, рассчет материалов, заказ материалов, рассчет производственных мощностей, поставка товара, производство. (чет)
-
Процесс заказа товара в интернет магазине. Выбор - заказа - оформление доставки - доставка - получение. (нечет)
(текстовое описание работы с программой) тут
(программа) тут. Пользователи Unix систем, могут использовать dbdiagram.io/ как альтертаиву.
(видео-лекция) Пример и объяснение того, как сделать функциональную модель, можно посмотреть тут
Отчет о практической части содержит PDF-файл с вашей моделью данных и отправляется пул реквестом в этот репозиторий в папку students/k3340/Petrov_Vasya/Pr1_dfd. Шаблон названия пул реквеста "ИТМО ФСПО Номер_группы Практическая работа ФИО". Пример: "ИТМО ФСПО К3340 Практическая работа №1 Филимонов Филипп".
Текст работы тут (Групповой мини проект делать не нужно)
Вариант соответствует Вашему порядковому номеру в журнале на ггул диске. Если Ваш номер более 15, счет начинается с начала. Если у студента 16 номер, он выполняет варианрт 1.
Очет выполняется в соответствии с инструкциями в тексте работ. Отчет высылается на antongovorov@gmail.com. Шаблон темы письма "ИТМО ИКТ Номер_группы Лабораторная_и_номер ФИО". Пример: "ИТМО ИКТ К3340 Лабораторная работа №1 Филимонов Филипп Филиппович".
На гит должен быть загружен пдф файл с моделью, отчет в PDF, ервин файл. Пул реквест должен содержать информация о варианте.
Выполнть задание в соответствии с инструкцией.
Комментарий: не забудьте выполнить импорт (относительно БД) данных из csv-файла.
Пул-реквест с практической частью содержит:
- файл с получившейся базой данных.
- sql-файл с дампом БД ("Файл" -> "Экспорт" -> "Базу данных в файл SQL").
- sql-файл с командами, которые Вы попробовали выполнять в пункте 8.
Файлы пул-реквеста отправляются в этот репозиторий в папку Pr3.1_SQLite (Пример students/k3340/Petrov_Vasya/Pr3.1_SQLite). Шаблон названия пул реквеста "ИТМО ФСПО Номер_группы Практическая работа ФИО". Пример: "ИТМО ФСПО К3340 Практическая работа №1 Филимонов Филипп".
Создание базы в PostgreSQL
Практикум 1 - создание базы в PostgreSQL средствами PGAdmin.
Практикум 2 - Работа с базой в PGAdmin.
Задачи:
- Выполнить 2 практические работы. Создать БД по вариантам из Практической работы 2.2.
Для тех, кто не понял, нужно:
1.1 Установить PgAdmin.
1.2 Создать базу данных и схему базы данных с произвольными именами.
1.3 Создать таблицы по схеме данных сделанной в Практической работе 2.2, настроить ограничения целостности.
1.4 Настроить ключевые поля (первичные и внешние ключи).
1.5 Заполнить таблицы примерами данных. - Выполнить по 3 команды к разным таблицам на следующие операторы:
- insert
- select
- update
- delete
Пул-реквест о практической части содержит файл с дампом получившейся базы данных и sql файл с коандами из пункта 2 и отправляется пул реквестом в этот репозиторий в папку Pr3.2_PostgreSQL (Пример students/k3340/Petrov_Vasya/Pr3.2_PostgreSQL). Шаблон названия пул реквеста "ИТМО ФСПО Номер_группы Практическая работа ФИО". Пример: "ИТМО ФСПО К3340 Практическая работа №1 Филимонов Филипп".
Описать папку в репозитории с помощью markdown и readme.md
Структура описания:
- Текстовое описание папки в репозитории
- Список работ в виде таблицы (нумерованный) со ссылками в папки с работами
Реализовать код создания таблиц, связей между ними и добавления данных (3-5 строк на таблицу). Индивидуальные необходтимо взять из лабораторной работы номер 2. Работать только с командной строкой SQL Shell(psql).
Полезные материалы:
- Создание БД. Если Вы подключились через SQL Shell(psql), в нем создать новую БД можно средствами команды CREATE DATABASE, далее в нее будет необходимо подключиться из нового окна SQL Shell(psql)
- Презентация с лекции о создании таблиц
- Оффициальная документация postgresql о создании таблиц - в первую очередь необходимо использовать разделы 5.1-5.3
Реализовать документацию, описывающую работу все таблицы средствами Read the Docs или MkDocs.
Структура документации:
- Главная страница: описание системы, скриншот из модели данных
- Описание СУБД: Название СУБД, Версия СУБД, код создания БД
- Описание каждой таблицы в БД: необходимо сделать таблицу и заполнить следубщие столбцы:
- Наименование поля
- Тип данных
- Указатель на первичный ключ
- Указатель на внешний ключ
- Указатель униекльности
- Ограничения целостности списком
- Код создания таблиц
- Код заполнения данных
- Описание каждой таблицы в БД: необходимо сделать таблицу и заполнить следубщие столбцы:
Полезные материалы:
- Краткое руководство по Маркдауну
- Пункт 3 из практической работы №3.2
Полученный SQL-код и документациюв mk-docs залить в папку этого репозитория students/группа/laboratory_works/фамилия_имя/laboratory_work_4. Инструкция о загрузке работы ниже. Не забывайте о файле .gitignore. На гит должен быть загружен PDF-файл с отчетом, sql-файл с базой. Для каждой таблицы в sql-файле должен быть написан комментарий с ее описанием. Как делать пул реквест описано в разделе Сдача работ
Лекция по нормализации тут.
До лекции можно посмотреть первых 4 видео урока из этого плейлиста. Этого достаточно, чтобы понять суть нормализации и выполнить лабораторную работу.
Лабораторная работа и практическая задания выполнются в DBprom. Текст работы тут.
Работа выполняется в той же предметной области, что и работа №2.
Очет выполняется в соответствии с инструкциями в тексте работы. Шаблон темы пул-реквеста "ИТМО ИКТ Номер_группы Лабораторная_и_номер ФИО". Пример: "ИТМО ИКТ К3340 Лабораторная работа №1 Филимонов Филипп Филиппович". На гит должен быть загружен пдф файл с моделью, отчет в PDF. Пул реквест должен содержать информацию о варианте.
- Необходимо создать базу данных для реализации примеров и заданий из презентации ниже.
СУБД: PostgreSQL.
Средство (песочница для работы с запросами): https://sqliteonline.com/ .
Код создания БД - Презентация 1 тут (Тема: SELECT SQL: Соединения)
- Презентация 2 тут(Тема: SELECT SQL: Переменные таблицы. Множественные операторы)
- Презентация 3 тут(Тема: SELECT SQL: Подзапросы (Some, any..)
Необходимо реализовать некоторое количество SQL-запросов. В лабораторной работе №4 Вам требуется написать определенное количество запросов на определенное количество баллов, зависимое от оценки, на которую Вы претендуете. . Примерный набор требуемых запросов:
- выбор значений, заданных атрибутов из более, чем двух таблиц, с сортировкой – от 1 балла;
- использование условий WHERE, состоящих из более, чем одного условия – от 1 балла;
- использование функций для работы с датами – от 2 баллов;
- использование строковых функций – от 2 баллов;
- запрос с использованием подзапросов – от 2 баллов (многострочный подзапрос - от 2 баллов);
- вычисление групповой (агрегатной) функции – от 1 балла (с несколькими таблицами – от 2 баллов);
- вычисление групповой (агрегатной) функции с условием HAVING – от 2 баллов;
- использование предикатов EXISTS, ALL, SOME и ANY - от 2 баллов;
- использование запросов с операциями реляционной алгебры (объединение, пересечение и т.д.) - от 2 баллов;
- использование объединений запросов (inner join и т.д.) - от 2 баллов.
Запросов должно быть не менее 10 (30 баллов на 5, 25 баллов на 4, 20 баллов на 3)(5, 4, 3 - это оценки, а не суммы баллов в журнале).
Для сдачи работы необходимо:
- Полученный SQL-код (*.sql) залить в папку этого репозитория students/группа/laboratory_works/фамилия_имя/laboratory_work_5.
- Дописать документацию из работы №3 и добавить в нее раздел "Запросы", в котором для каждого запроса описать:
- Номер запроса
- Описание запроса
- Код запроса
- Пример получившихся данных (таблица с заголовками)
Инструкция о загрузке работы ниже. Не забывайте о файле гитигнор. Новый срок сдачи 21.04.2021 На гит должен быть загружен пдф файл с отчетом, sql файл с запросами. Для каждого запроса в sql файле должен быть написан комментарий с описанием того, что делает запрос. Как делать пул реквест описано в разделе Сдача работ
Срок сдачи 5 мая
Создание интерфейсов к СУБД средствами php
Отчет делать не нужно. Нужно дополнить сущестующую документацию в mkdoks. Документация должна содержать описание интерфейсов выполненных в практическом задании (скриншот+краткое текстовое описание ).
Часть1 Полученный php код залить в папку этого репозитория students/группа/practical_works/фамилия_имя/practical_works_6. Инструкция о загрузке работы ниже. Не забывайте о файле .gitignore.
Часть2 Полученный код сайта залить в папку этого репозитория students/группа/laboratory_works/фамилия_имя/laboratory_work_6. Инструкция о загрузке работы ниже. Не забывайте о файле .gitignore.
Как делать пул реквест описано в разделе Сдача работ
Лабораторная работа по MongoDB.
SQL или NoSQL — вот в чём вопрос
MySQL и MongoDB — когда и что лучше использовать
Как работают NoSQL базы: документ-ориентированные типа MongoDB
Текст практической части работы доступен тут:
Вариант выбирается в соответствии с вариантом из ЛР№2.
Отчет делать не нужно. Нужно сделать документацию в mkdocs. Страницы документации:
- описание, создание и заполнение коллекции.
- запросы.
Полученную модель, код и отчет залить в папку этого репозитория students/группа/laboratory_works/фамилия_имя/laboratory_work_7. Инструкция о загрузке работы ниже. Не забывайте о файле гитигнор. На гит должен быть загружен пдф файл с отчетом, файл с запросами. Для каждого запроса в файле должен быть написан комментарий с описанием того, что делает запрос. Как делать пул реквест описано в разделе Сдача работ
Дедлайн - конец семестра. Требуется выполнить курс "Оператор Select (версия 2021)" на сайте http://learnsql.ru/. Курс содержит 60 заданий на различные темы. Задания могут относиться к разным темам. При выполнении заданя в меню "Темы для изучения", доступны ссылки на методрические материалы по необходимым для выполнения задания темам.
Для сдачи работы в связи с переходом на дистанционную форму обучения введены дополднительные правила игры.
Все отчеты сохраняются в pdf (документы и презентации).
Все студенческие работы хранятся в папке Students Для сдачи работы необходимо:
- Зарегиться на гите.
- Сделать форк репозитория с заданиями в свой аккаунт (на странице https://github.com/TonikX/ITMO_FSPO_DataBases_2020-2021 кнопка fork справа, сверху).
- Установить гит на компьютер.
- Открыть папку, где хранятся Ваши проекты. В контекстом меню нажать "Open Git Bash here". Склонировать форкнутый репозиторий на компьютер (git clone https://github.com/ваш аккаунт/ITMO_FSPO_DataBases_2020).
- В файловой системе Вашего компрьютера, в склонированном репозитории создать в папке students/группа Вашу личную папку в формате Фамилия_Имя латиницей (Пример students/k3340/Petrov_Vasya).
- В личной папке сделать подпапку с текущей работой в формате lr_номер (Пример students/k3340/Petrov_Vasya/Lr1).
- Записать в папку отчетные материалы.
- Сделать коммит, описать его адекватно (Пример "был добавлен файл перезентация_петров.pdf"). Набрать команлы git add и git commit -m "название комита".
- Сделать push в Ваш форкнутый репозиторий (git push).
- Сделать пул-реквест в мой репозиторий из вашего форкнутого, описать его адекватно. Пока пользуйтесь этой инструкцией, у нас нет веток с заданиями, как тут, но Вам поможет. Скоро запишу ролик. Все работы сдаются средствами создания Pull Requests в папку students в этом репозитории. Прошедшие работы тоже необходимо запулреквестить.
Еще один мануал о том, как сделать Pull Request, описан тут.