Professional Documents
Culture Documents
004 - M Из MVC. ActiveRecord. Migrations and Associations (Description)
004 - M Из MVC. ActiveRecord. Migrations and Associations (Description)
Содержание урока
ActiveModel
ActiveRecord
Migrations
References
Normalisation & Denormalisation
Indexes
Partial indexes
View and Materialized View
Associations
Seeds
db/schema.rb
Резюме
Page | 1
CyberBionic Systematics ® 2020 Tel. 0 800 750 312 Title: Ruby on Rails
19 Eugene Sverstyuk Str., 5 floor E-mail: edu@cbsystematics.com Lesson: 4
Kyiv, Ukraine Site: www.edu.cbsystematics.com |
itvdn.com
Денормализация – обратный нормализации процесс, призванный уменьшить связность
данных, дублируя или резервируя какие-либо результаты вычислений запросов в таблице.
Данный процесс приводит к уменьшению сложности запросов, требуя от БД меньше
связей с другими таблицами, что ускоряет общую скорость загрузки. Цена –
необходимость отдельно обновлять денормализованные поля таблицы.
Индексация – это способ сортировки нескольких записей по нескольким полям. Создание
индекса для поля в таблице создает другую структуру данных, которая содержит значение
поля и указатель на запись, к которой он относится. Затем эта структура индекса
сортируется, что позволяет выполнять бинарный поиск. Недостатком индексации
является то, что эти индексы требуют дополнительного места на диске, так как индексы
хранятся вместе в таблице. этот файл может быстро достичь пределов размера базовой
файловой системы, если проиндексировано много полей в одной таблице.
DB View – Запрос к БД, записанный на языке SQL, хранимый в файле при проекте,
обращение на чтение к которому происходит как к отдельной реальной таблице,
посредством ассоциации результата этого запроса и выводимых полей с отдельной
ActiveModel сущности им соответствующей. Отсутствует возможность добавлять данные
в эту виртуальную таблицу.
Закрепление материала
Дополнительное задание
Задание
Сформировать seed.rb файл наполняющий сайт данными, посредством последовательного
выполнения команды create на необходимых моделях, передавая валидные параметры. Добавить
к Постам поле slug, которое должно выступать в виде уникальной ссылки, идентифицирующей
данную статью.
Задание 1
Создать структуру (Migrations, Models, Associations, Indexes, View)
Библиотека
Читатель имеет право осуществить поиск и заказ книг по каталогу Книг. В каталоге библиотекарь
выдает читателю книгу на абонемент или в читательский зал. Книга может присутствовать в
библиотеке в одном или нескольких экземплярах. Читатель может увидеть топ-10 самых
популярных книг., может оставить комментарий к книге, оставить комментарий к комментарию,
поставить оценку.
Задание 2
Создать структуру (Migrations, Models, Associations, Indexes, View)
Больница
Врач определяет диагноз, и делает назначение пациенту (процедуры, лекарства, операция).
Назначение может выполнить медсестра (процедуры, лекарства) или врач (процедуры, лекарства,
Page | 2
CyberBionic Systematics ® 2020 Tel. 0 800 750 312 Title: Ruby on Rails
19 Eugene Sverstyuk Str., 5 floor E-mail: edu@cbsystematics.com Lesson: 4
Kyiv, Ukraine Site: www.edu.cbsystematics.com |
itvdn.com
операция). Пациент может быть выписан из больницы, при этом фиксируется окончательный
диагноз. Пациент может оставить отзыв про Врача или Медсестру, которые его обслуживали. Все
участники могут оставить комментарий к отзыву. Пациент может поставить оценку лечащим его
врачам и медсестрам. Выводится список самых лучших врачей (топ-10).
Задание 3
Создать структуру (Migrations, Models, Associations, Indexes, View)
Турагентство
Заказчик выбирает и оплачивает Тур (отдых, экскурсия, шопинг). Турагентство определяет тур как
горячий и размеры скидок для постоянных клиентов. Заказчик может оставить отзыв,
комментарий на отзыв оценку на пройденный тур. Выводится рейтинг самых качественных туров
(топ-5).
Рекомендуемые ресурсы
Рекомендации по денормализации
https://habr.com/ru/company/latera/blog/281262/
Page | 3
CyberBionic Systematics ® 2020 Tel. 0 800 750 312 Title: Ruby on Rails
19 Eugene Sverstyuk Str., 5 floor E-mail: edu@cbsystematics.com Lesson: 4
Kyiv, Ukraine Site: www.edu.cbsystematics.com |
itvdn.com