Разработка, Разработка модели модуля с учетом архитектурных решений, Полиморфные связи - Разработка модуля для хранения и управления документами в электронном виде
Разработка модели модуля с учетом архитектурных решений
Полиморфные связи
Документ может относиться к объектам различного типа, поэтому разумно реализовать возможность его привязки к любым типам (в т. ч. другому документу).
В реляционной базе данных для связи сущностей "один ко многим" используются внешний ключ, который хранится в отдельном поле таблицы и хранит идентификатор записей другой таблицы.
Но такая схема не является приемлемой, если необходимо обеспечить возможность отношения таблицы к любой другой произвольной таблице. Если запись таблицы хранит внешний идентификатор, то таблица, запись которой он идентифицирует, должна быть однозначно определена. Для решения этой задачи фреймворк Ruby on Rails поддерживает механизм полиморфных связей.
Суть этой технологии заключается в том, что помимо внешнего ключа каждая запись должна содержать имя таблицы, строки которой он идентифицирует.
Как видно из диаграммы, для идентификации записи в произвольной таблице сущности documents достаточно иметь внешний ключ (documentable_id) и имя этой таблицы (documentable_type).
В разрабатываемом приложении полиморфная связь использована для реализации моделей документа (document) и вложения (attachment).
Похожие статьи
-
Обзор паттерна MVC Впервые описал схему Model-view-controller (Модель-вид-контроллер) Трюгве Реенскауг, норвежский ученый из университета в Осло,...
-
Веб-фреймворк Ruby on Rails разработан на языке Ruby и является вторым по популярности по версии http://hotframeworks. com. Основными чертами фреймворка...
-
Subversion - Разработка модуля для хранения и управления документами в электронном виде
Сайт: http://subversion. apache. org/ Subversion -- централизованная система контроля версий, распространяемая под свободной лицензией (Apache License)....
-
Тестирование - Разработка модуля для хранения и управления документами в электронном виде
С запуска нового проекта на Rails среда создает для него всю необходимую тестовую инфраструктуру. Фреймворк поддерживает следующие виды тестов: 1)...
-
Контроллер является связующим звеном между пользователем, представлением и моделью. Он получает запросы от пользователя, взаимодействует с моделью и...
-
Среда Rails поддерживает работу с большинством современных баз данных, таких как MySQL, SQLite, PostgreSQL. Для этого используются различные адаптеры,...
-
В настоящее время существует множество систем управления информационными ресурсами предприятия (ECM - Enterprise content management ), предназначенных...
-
Модуль должен поддерживать механизм состояний документов. На стадии разработки технического задания были выделены следующие состояния: - Черновик...
-
Flagship Docs представляет собой популярную систему управления документами, разработанную компанией RPI Web Tech Group. Данная система решает широкий...
-
Анализ требований к модулю электронных документов Сущность документа Разрабатываемый модуль должен вводить в приложение новую сущность -- документ,...
-
Еще одна причина выбрать git в качестве системы контроля версий -- сильное и профессиональное сообщество, возникшее на сайте GitHub (https://github....
-
Введение - Разработка модуля для хранения и управления документами в электронном виде
Актуальность Во многих современных системах автоматизированного управления бизнес-процессами предприятий возникает необходимость в организации и...
-
Объектно-ориентированное программирование (ООП) является парадигмой программирования, которая представляет понятия, как "объекты", которые имеют поля...
-
На рис. 4 представлена схема работы Rails-приложения. Рассмотрим ее подробнее: 1) клиент из браузера посылает запрос на сервер; 2) запрос обрабатывается...
-
Сравнение Git и SVN - Разработка модуля для хранения и управления документами в электронном виде
Аргументы в пользу Subversion: 1) централизованность системы позволяет не хранить на компьютере весь репозиторий, а лишь срез репозитория -- конкретную...
-
Git - Разработка модуля для хранения и управления документами в электронном виде
Git -- распределенная система контроля версий, разработанная создателем ядра Linux Линусом Торвальдсом в 2005 году. Система быстро набрала популярность и...
-
Вид - Разработка модуля для хранения и управления документами в электронном виде
Представления в Ruby on Rails реализованы в виде Erb-шаблонов -- html-файлов со вставками кода на языке Ruby. Дополнительная логика, внедряемая в шаблон,...
-
В работе использовались следующее программное обеспечение для решения поставленных задач: AutoCAD, ANSYS Workbench, ANSYS Icepak. Система AutoCAD...
-
Для начала разрабатывается модель базы данных (рис.1). Главная идея создания функциональной модели заключается в том, чтобы описать, "увидеть" и...
-
Для определения наиболее актуальных функциональных требований необходимо полностью рассмотреть предлагаемые в научном сообществе решения по...
-
Каждая СУБД имеет особенности в представлении структуры таблиц, связей, определении типов данных и т. д. которую необходимо учитывать при проектировании....
-
Общие сведения о системах контроля версий При разработке программного обеспечения необходимо иметь подробную историю изменений в исходных кодах...
-
Очередность разработки Системы А) разработка программного обеспечения для ввода, редактирования и актуализации контента, синхронизации с хранилищем...
-
Для разработки программного обеспечения использован язык Java. Разработка проводилась в среде Eclipse Ganymede 3.2. В качестве СУБД для тестирования...
-
Поскольку клиентская часть представляет собой приложение на базе операционной системы Android, то для ее разработки был выбран рекомендуемый...
-
Связи между таблицами - Разработка информационной системы "Гостиница"
Все ранее созданные таблицы должны быть связаны между собой каким-либо определенным полем, называемым ключевым полем. Ключевое поле позволяет однозначно...
-
Отчет по выполненному заданию - Разработка учебной подсистемы учета кадров
В информационной среде одним из наиболее трудоемких, важных и ответственных этапов функционирования является формирование входных массивов на основании...
-
Web of Science -- платформа, на которой размещены авторитетная политематическая реферативно-библиографическая и библиометрическая базы данных. В ней...
-
Обоснование выбора средств разработки проекта Для реализации корпоративной информационной системы "Бюджетное планирование и отчетность" в исследуемой...
-
Непременным атрибутом офиса любой современной компании являются компьютеры. При наличии нескольких компьютеров практически всегда их объединяют в...
-
ITSM - является подмножеством библиотеки ITIL, которое описывает процессный подход к управлению и организации ИТ услуг. Управление ИТ услугами...
-
С эксплуатационной точки зрения удобно рассматривать то, как устройства в IoT соединяются и "общаются" друг с другом, говоря о технических моделях...
-
Создание модели хранилища данных Модель хранилища данных будет создаваться на основе описания предметной области, сделанного во 2 главе. Хранилища данных...
-
Инфологическое моделирование - Банки и базы данных. Системы управления базами данных
Инфологическое проектирование является вторым этапом проектирования БД, который следует непосредственно после анализа предметной области. Эта стадия...
-
Наиболее часто на практике семантическое моделирование используется на первой стадии проектирования базы данных. При этом в терминах семантической модели...
-
2.1 Процесс проектирования БД на основе принципов нормализации представляет собой последовательность переходов от неформального словесного описания...
-
К задачам параметрической оптимизации, относятся следующие задачи: - Определение оптимальных значений параметров. - Назначение оптимальных допусков на...
-
Структура комплекса представлена на рисунке 3. Комплекс состоит из следующих модулей: - пользовательский интерфейс; - математическая модель; - библиотека...
-
Общие требования к разработке графического интерфейса. Под графическим интерфейсом пользователя (Graphical User Interface -- GUI) -- вид...
-
Одним из главных вопросов на пути повышения качества образования является следующий: с помощью, каких механизмов можно улучшать, совершенствовать процесс...
Разработка, Разработка модели модуля с учетом архитектурных решений, Полиморфные связи - Разработка модуля для хранения и управления документами в электронном виде