Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Генерация контекстных ограничений для баз данных Выполнил: Жолудев В. Научный руководитель: Терехов А.Н. Рецензент: Иванов А.Н.

Similar presentations


Presentation on theme: "1 Генерация контекстных ограничений для баз данных Выполнил: Жолудев В. Научный руководитель: Терехов А.Н. Рецензент: Иванов А.Н."— Presentation transcript:

1 1 Генерация контекстных ограничений для баз данных Выполнил: Жолудев В. Научный руководитель: Терехов А.Н. Рецензент: Иванов А.Н.

2 2 Введение Автоматическая генерация приложений Технология REAL-IT Модель данных и ограничения на них Два подхода к реализации ограничений: - На уровне приложения - На уровне базы данных Исследован и реализован второй подход

3 3 Постановка задачи Обзор спецификаций ограничений на данные Реализация синтаксического анализатора формата XMI для диаграмм классов и коопераций UML Реализация универсальной генерации схем баз данных Алгоритм для генерации контекстных ограничений применительно к базам данных Обоснование правильности работы алгоритма Реализация модуля для генерации триггеров в базе данных Создание набора тестовых входных данных

4 4 Спецификации ограничений на данные Object Constraint Language Visual OCL Constraints Diagrams Диаграммы коопераций UML

5 5 Контекстные ограничения Рассматриваем два объекта, связанные ассоциацией Выделяем все связанные с ними объекты и ассоциации. Будем называть это контекстом ассоциации Рассматриваемая ассоциация допустима, если существуют другие объекты, которые связаны с рассматриваемыми двумя объектами Такого рода ограничения будем называть контекстными ограничениями ссылочной целостности

6 6 Нотация Диаграммы коопераций UML Каждая диаграмма представляет собой граф Для ограничиваемых ассоциаций вводится стереотип >, для тех, которые должны отсутствовать – стереотип > Граф должен иметь одну компоненту связности Граф содержит только одну > ассоциацию

7 7 Алгоритм Диаграммы группируются по > ассоциации Для каждого ограничения из группы выбираем объекты всех классов, которые не соответствуют Limited ассоциации Каждая связь добавляет условие на выборку данных Объединяем результаты по диаграммам из одной группы

8 8 Реализация алгоритма для баз данных Триггеры создаются для Microsoft SQL Server и Oracle Создаются AFTER-триггеры Для той таблицы, вставка в которую влечет создание новой ограничиваемой ассоциации, создается триггер на вставку и обновление Для остальных таблиц создаются отдельно триггеры на обновление и триггеры на удаление Алгоритм применяется для каждой вставленной, измененной или удаленной записи

9 9 Реализация Приложение написано на платформе Java 2 Standard Edition Получение диаграмм классов и коопераций через XMI Генерация схем баз данных на основе файла диалекта СУБД Возможность соединения с Microsoft Access и Microsoft SQL Server Генерация триггеров для Microsoft SQL Server и Oracle

10 10 Результаты Рассмотрены различные спецификации ограничений на данные Исследована спецификация в виде диаграмм коопераций UML Реализован синтаксический анализатор XMI Реализован генератор схемы базы данных в зависимости от диалекта СУБД Предложен алгоритм для генерации контекстных ограничений применительно к базам данных Предложена реализация генерации контекстных ограничений для баз данных Обоснована правильность такой реализации Создан набор тестовых входных данных


Download ppt "1 Генерация контекстных ограничений для баз данных Выполнил: Жолудев В. Научный руководитель: Терехов А.Н. Рецензент: Иванов А.Н."

Similar presentations


Ads by Google