Skip to content

Репозиторий для реализации дистанционного обучения по дисциплине "Основы проектирования баз данных" (09.02.07, ФСПО)

License

Notifications You must be signed in to change notification settings

TonikX/ITMO_FSPO_DataBases_2020-2021

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ITMO_FSPO_DataBases_2020-2021

Репозиторий для реализации дистанционного обучения по дисциплине "Основы проектирования баз данных" (09.02.07, ФСПО)

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

Силабус

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

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

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

Лабораторная работа №1

Лабораторная работа №1 выполняется в ErwinProcessModeler. Два варианта установки: новая версия с оффициального сайта и получение студенческой лицензии, либо использование триальной версии. Скачивание старой версии с гугл диска.

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

Практическая часть 1

Реализовать idef0 модель работы автомойки. Желательно в этой программе. Пример тут

Отчет о практической части содержит PDF/JPEG-файл с вашей функциональной моделью и отправляется пул реквестом в этот репозиторий в папку Pr0_idef0 (Пример students/k3340/Petrov_Vasya/Pr0_idef0 ). Шаблон названия пул реквеста "ИТМО ФСПО Номер_группы Практическая работа ФИО". Пример: "ИТМО ФСПО К3340 Практическая работа №1 Филимонов Филипп".

Практическая часть 2

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

  • Процесс производства меховых шуб. В процессе существуют заказы, проекты, подбор материалов, рассчет материалов, заказ материалов, рассчет производственных мощностей, поставка товара, производство. (чет)

  • Процесс заказа товара в интернет магазине. Выбор - заказа - оформление доставки - доставка - получение. (нечет)

(текстовое описание работы с программой) тут

(программа) тут

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

Отчет о практической части содержит PDF-файл с вашей функциональной моделью и отправляется пул реквестом в этот репозиторий в папку students/k3340/Petrov_Vasya/Pr1_dfd. Шаблон названия пул реквеста "ИТМО ФСПО Номер_группы Практическая работа ФИО". Пример: "ИТМО ФСПО К3340 Практическая работа №1 Филимонов Филипп".

Лабораторная часть

Лабораторная работа выполняется в соответствии с заданием. При желании необходимо объединиться в группы и обратиться к преподавателю, написав ему в социальной сети "Вконтакте" для получения варианта. Для сдачи работы необходимо сделать презентацию и защитить ее преподавателю на консультации. Подробнее задание описано в тексте работы.

Сдача работы №1

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

Лабораторная работа №2

Лабораторная работа и практическая задания №2 выполнются в ErwinDataModeler.

Примеры для леции тут

Практическая часть 2.1

Реализовать модель мойки автомобилей в нотации Питера-Чена (см. пример в презентации).

Краткое описание:

Клиент, приезжает на мойку. Выбирает тип мойки. Выбирает из спсика доп услуг те дополнительные услуги, которые нужно выполнить во время мойки. Мойщик моей машину и выполняет доп услуги.

Средства реализации: draw.io. Шаблон basic.

Отчет о практической части содержит PDF-файл с вашей моделью данных и отправляется пул реквестом в этот репозиторий в папку students/k3340/Petrov_Vasya/Pr2.1_PiterChen. Шаблон названия пул реквеста "ИТМО ФСПО Номер_группы Практическая работа ФИО". Пример: "ИТМО ФСПО К3340 Практическая работа №1 Филимонов Филипп".

Практическая часть 2.2

Ознакомитсья с примером построения модели данных в нотации idef1x (ссылка).

После просмотра примера реализовать модель данных по одному из вариантов:

  • Процесс производства меховых шуб. В процессе существуют заказы, проекты, подбор материалов, рассчет материалов, заказ материалов, рассчет производственных мощностей, поставка товара, производство. (чет)

  • Процесс заказа товара в интернет магазине. Выбор - заказа - оформление доставки - доставка - получение. (нечет)

(текстовое описание работы с программой) тут

(программа) тут. Пользователи Unix систем, могут использовать dbdiagram.io/ как альтертаиву.

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

Отчет о практической части содержит PDF-файл с вашей моделью данных и отправляется пул реквестом в этот репозиторий в папку students/k3340/Petrov_Vasya/Pr1_dfd. Шаблон названия пул реквеста "ИТМО ФСПО Номер_группы Практическая работа ФИО". Пример: "ИТМО ФСПО К3340 Практическая работа №1 Филимонов Филипп".

Лабораторная часть

Текст работы тут (Групповой мини проект делать не нужно)

Вариант соответствует Вашему порядковому номеру в журнале на ггул диске. Если Ваш номер более 15, счет начинается с начала. Если у студента 16 номер, он выполняет варианрт 1.

Очет выполняется в соответствии с инструкциями в тексте работ. Отчет высылается на antongovorov@gmail.com. Шаблон темы письма "ИТМО ИКТ Номер_группы Лабораторная_и_номер ФИО". Пример: "ИТМО ИКТ К3340 Лабораторная работа №1 Филимонов Филипп Филиппович".

Сдача работы №2

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

Лабораторная работа №3

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

Выполнть задание в соответствии с инструкцией.
Комментарий: не забудьте выполнить импорт (относительно БД) данных из csv-файла.

Пул-реквест с практической частью содержит:

  • файл с получившейся базой данных.
  • sql-файл с дампом БД ("Файл" -> "Экспорт" -> "Базу данных в файл SQL").
  • sql-файл с командами, которые Вы попробовали выполнять в пункте 8.

Файлы пул-реквеста отправляются в этот репозиторий в папку Pr3.1_SQLite (Пример students/k3340/Petrov_Vasya/Pr3.1_SQLite). Шаблон названия пул реквеста "ИТМО ФСПО Номер_группы Практическая работа ФИО". Пример: "ИТМО ФСПО К3340 Практическая работа №1 Филимонов Филипп".

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

Создание базы в PostgreSQL

Практикум 1 - создание базы в PostgreSQL средствами PGAdmin.

Практикум 2 - Работа с базой в PGAdmin.

Задачи:

  1. Выполнить 2 практические работы. Создать БД по вариантам из Практической работы 2.2. Для тех, кто не понял, нужно:
    1.1 Установить PgAdmin.
    1.2 Создать базу данных и схему базы данных с произвольными именами.
    1.3 Создать таблицы по схеме данных сделанной в Практической работе 2.2, настроить ограничения целостности.
    1.4 Настроить ключевые поля (первичные и внешние ключи).
    1.5 Заполнить таблицы примерами данных.
  2. Выполнить по 3 команды к разным таблицам на следующие операторы:
  • insert
  • select
  • update
  • delete

Пул-реквест о практической части содержит файл с дампом получившейся базы данных и sql файл с коандами из пункта 2 и отправляется пул реквестом в этот репозиторий в папку Pr3.2_PostgreSQL (Пример students/k3340/Petrov_Vasya/Pr3.2_PostgreSQL). Шаблон названия пул реквеста "ИТМО ФСПО Номер_группы Практическая работа ФИО". Пример: "ИТМО ФСПО К3340 Практическая работа №1 Филимонов Филипп".

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

Описать папку в репозитории с помощью markdown и readme.md

Структура описания:

  • Текстовое описание папки в репозитории
  • Список работ в виде таблицы (нумерованный) со ссылками в папки с работами

Ссылка на презентацию

Лабораторная часть

Часть 1. Код

Реализовать код создания таблиц, связей между ними и добавления данных (3-5 строк на таблицу). Индивидуальные необходтимо взять из лабораторной работы номер 2. Работать только с командной строкой SQL Shell(psql).

Полезные материалы:

Часть 2. Документация к коду

Реализовать документацию, описывающую работу все таблицы средствами Read the Docs или MkDocs.

Структура документации:

  • Главная страница: описание системы, скриншот из модели данных
  • Описание СУБД: Название СУБД, Версия СУБД, код создания БД
    • Описание каждой таблицы в БД: необходимо сделать таблицу и заполнить следубщие столбцы:
      • Наименование поля
      • Тип данных
      • Указатель на первичный ключ
      • Указатель на внешний ключ
      • Указатель униекльности
      • Ограничения целостности списком
    • Код создания таблиц
    • Код заполнения данных

Полезные материалы:

Сдача работы №4

Полученный SQL-код и документациюв mk-docs залить в папку этого репозитория students/группа/laboratory_works/фамилия_имя/laboratory_work_4. Инструкция о загрузке работы ниже. Не забывайте о файле .gitignore. На гит должен быть загружен PDF-файл с отчетом, sql-файл с базой. Для каждой таблицы в sql-файле должен быть написан комментарий с ее описанием. Как делать пул реквест описано в разделе Сдача работ

Лабораторная работа №4

Лекция по нормализации тут.

До лекции можно посмотреть первых 4 видео урока из этого плейлиста. Этого достаточно, чтобы понять суть нормализации и выполнить лабораторную работу.

Лабораторная работа и практическая задания выполнются в DBprom. Текст работы тут.

Лабораторная часть

Работа выполняется в той же предметной области, что и работа №2.

Сдача работы №4

Очет выполняется в соответствии с инструкциями в тексте работы. Шаблон темы пул-реквеста "ИТМО ИКТ Номер_группы Лабораторная_и_номер ФИО". Пример: "ИТМО ИКТ К3340 Лабораторная работа №1 Филимонов Филипп Филиппович". На гит должен быть загружен пдф файл с моделью, отчет в PDF. Пул реквест должен содержать информацию о варианте.

Лабораторная работа №5

Лекционно-практическая часть

  1. Необходимо создать базу данных для реализации примеров и заданий из презентации ниже.
    СУБД: PostgreSQL.
    Средство (песочница для работы с запросами): https://sqliteonline.com/ .
    Код создания БД
  2. Презентация 1 тут (Тема: SELECT SQL: Соединения)
  3. Презентация 2 тут(Тема: SELECT SQL: Переменные таблицы. Множественные операторы)
  4. Презентация 3 тут(Тема: SELECT SQL: Подзапросы (Some, any..)

Лабораторная часть

Срок сдачи 21.04.2021

Необходимо реализовать некоторое количество SQL-запросов. В лабораторной работе №4 Вам требуется написать определенное количество запросов на определенное количество баллов, зависимое от оценки, на которую Вы претендуете. . Примерный набор требуемых запросов:

  1. выбор значений, заданных атрибутов из более, чем двух таблиц, с сортировкой – от 1 балла;
  2. использование условий WHERE, состоящих из более, чем одного условия – от 1 балла;
  3. использование функций для работы с датами – от 2 баллов;
  4. использование строковых функций – от 2 баллов;
  5. запрос с использованием подзапросов – от 2 баллов (многострочный подзапрос - от 2 баллов);
  6. вычисление групповой (агрегатной) функции – от 1 балла (с несколькими таблицами – от 2 баллов);
  7. вычисление групповой (агрегатной) функции с условием HAVING – от 2 баллов;
  8. использование предикатов EXISTS, ALL, SOME и ANY - от 2 баллов;
  9. использование запросов с операциями реляционной алгебры (объединение, пересечение и т.д.) - от 2 баллов;
  10. использование объединений запросов (inner join и т.д.) - от 2 баллов.

Запросов должно быть не менее 10 (30 баллов на 5, 25 баллов на 4, 20 баллов на 3)(5, 4, 3 - это оценки, а не суммы баллов в журнале).

Сдача работы №5

Для сдачи работы необходимо:

  • Полученный SQL-код (*.sql) залить в папку этого репозитория students/группа/laboratory_works/фамилия_имя/laboratory_work_5.
  • Дописать документацию из работы №3 и добавить в нее раздел "Запросы", в котором для каждого запроса описать:
    • Номер запроса
    • Описание запроса
    • Код запроса
    • Пример получившихся данных (таблица с заголовками)

Инструкция о загрузке работы ниже. Не забывайте о файле гитигнор. Новый срок сдачи 21.04.2021 На гит должен быть загружен пдф файл с отчетом, sql файл с запросами. Для каждого запроса в sql файле должен быть написан комментарий с описанием того, что делает запрос. Как делать пул реквест описано в разделе Сдача работ

Лабораторная работа №6

Срок сдачи 5 мая

Создание интерфейсов к СУБД средствами php

Часть1

Часть2

важно

Отчет делать не нужно. Нужно дополнить сущестующую документацию в mkdoks. Документация должна содержать описание интерфейсов выполненных в практическом задании (скриншот+краткое текстовое описание ).

Сдача работы №6

Часть1 Полученный php код залить в папку этого репозитория students/группа/practical_works/фамилия_имя/practical_works_6. Инструкция о загрузке работы ниже. Не забывайте о файле .gitignore.

Часть2 Полученный код сайта залить в папку этого репозитория students/группа/laboratory_works/фамилия_имя/laboratory_work_6. Инструкция о загрузке работы ниже. Не забывайте о файле .gitignore.

Как делать пул реквест описано в разделе Сдача работ

Лабораторная работа №7

Лабораторная работа по MongoDB.

Лекционная часть

SQL или NoSQL — вот в чём вопрос

MySQL и MongoDB — когда и что лучше использовать

Как работают NoSQL базы: документ-ориентированные типа MongoDB

Практическая часть

Текст практической части работы доступен тут:

Часть 1

Часть 2

Лабораторная часть

текст лабораторной работы

Вариант выбирается в соответствии с вариантом из ЛР№2.

Отчет делать не нужно. Нужно сделать документацию в mkdocs. Страницы документации:

  • описание, создание и заполнение коллекции.
  • запросы.

Сдача работы №7

Полученную модель, код и отчет залить в папку этого репозитория students/группа/laboratory_works/фамилия_имя/laboratory_work_7. Инструкция о загрузке работы ниже. Не забывайте о файле гитигнор. На гит должен быть загружен пдф файл с отчетом, файл с запросами. Для каждого запроса в файле должен быть написан комментарий с описанием того, что делает запрос. Как делать пул реквест описано в разделе Сдача работ

Типовик (Дополнение к лабороторной по написанию запрсов на выборку)

Дедлайн - конец семестра. Требуется выполнить курс "Оператор Select (версия 2021)" на сайте http://learnsql.ru/. Курс содержит 60 заданий на различные темы. Задания могут относиться к разным темам. При выполнении заданя в меню "Темы для изучения", доступны ссылки на методрические материалы по необходимым для выполнения задания темам.

Сдача работ

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

Все отчеты сохраняются в pdf (документы и презентации).

Все студенческие работы хранятся в папке Students Для сдачи работы необходимо:

  1. Зарегиться на гите.
  2. Сделать форк репозитория с заданиями в свой аккаунт (на странице https://github.com/TonikX/ITMO_FSPO_DataBases_2020-2021 кнопка fork справа, сверху).
  3. Установить гит на компьютер.
  4. Открыть папку, где хранятся Ваши проекты. В контекстом меню нажать "Open Git Bash here". Склонировать форкнутый репозиторий на компьютер (git clone https://github.com/ваш аккаунт/ITMO_FSPO_DataBases_2020).
  5. В файловой системе Вашего компрьютера, в склонированном репозитории создать в папке students/группа Вашу личную папку в формате Фамилия_Имя латиницей (Пример students/k3340/Petrov_Vasya).
  6. В личной папке сделать подпапку с текущей работой в формате lr_номер (Пример students/k3340/Petrov_Vasya/Lr1).
  7. Записать в папку отчетные материалы.
  8. Сделать коммит, описать его адекватно (Пример "был добавлен файл перезентация_петров.pdf"). Набрать команлы git add и git commit -m "название комита".
  9. Сделать push в Ваш форкнутый репозиторий (git push).
  10. Сделать пул-реквест в мой репозиторий из вашего форкнутого, описать его адекватно. Пока пользуйтесь этой инструкцией, у нас нет веток с заданиями, как тут, но Вам поможет. Скоро запишу ролик. Все работы сдаются средствами создания Pull Requests в папку students в этом репозитории. Прошедшие работы тоже необходимо запулреквестить.

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

About

Репозиторий для реализации дистанционного обучения по дисциплине "Основы проектирования баз данных" (09.02.07, ФСПО)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published