Генерация скрипта создания базы данных с учетом зависимостей Автор : Максим Масунов, 545 группа Санкт - Петербургский государственный университет Математико.

Презентация:



Advertisements
Похожие презентации
Генерация средств импорта данных в рамках проектов ИС, реализованных в технологии REAL-IT Выполнил Комиссаров Антон Научный руководитель: Иванов А.Н. Рецензент:
Advertisements

Сравнение различных технологий создания и использования web-сервисов Дипломная работа студентки 544 группы Григорьевой Елены Научный руководитель: Графеева.
Санкт - Петербургский Государственный Университет Математико - механический факультет Кафедра системного программирования Система проверки данных на полноту.
Санкт-Петербургский Государственный Университет Математико-Механический факультет Кафедра системного программирования Межъязыковое взаимодействие OCaml.
ПОТОКО-ЧУВСТВИТЕЛЬНЫЙ АНАЛИЗ УКАЗАТЕЛЕЙ ЯЗЫКА С, ОСНОВАННЫЙ НА ДИАГРАММАХ ДВОИЧНЫХ РЕШЕНИЙ Санкт-Петербургский Государственный Университет Математико-Механический.
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Математико-механический факультет Кафедра системного программирования Автоматизация выбора оптимальной.
Санкт-Петербургский Государственный Университет Математико-механический факультет Кафедра системного программирования Научный руководитель: Я.А. Кириленко.
Проверка эквивалентности срединной и линейной осей многоугольника Дипломная работа студента 545 группы Подколзина Максима Валериевича Санкт-Петербургский.
Апробация технологий Silverlight/LINQ/WCF для создания web-приложений, ориентированных на интенсивную обработку данных Дипломная работа студента 545 группы.
Автоматическая генерация каркасов клиентских приложений для систем с сервисно-ориентированной архитектурой Дипломная работа студента 545 группы Аязяна.
Использование автогенерации кода для тестирования драйверов ОС Windows Дипломная работа студента 545 группы Комольцева Дмитрия Владимировича Научный руководитель:
Поддержка разработки Parallels Business Automation в среде Eclispe Научный руководитель: Сергушенков Ю. А. Рецензент: доцент кафедры системного программирования,
Разработка отладчика для программ на языке haXe и целевой платформы Adobe Flash 9 Выполнил студент 544 группыКрасько Н.Л. Научный руководительПлискин М.М.
Санкт-Петербургский Государственный Университет Математико-механический факультет Кафедра системного программирования Научный руководитель: Б.А. Новиков.
Создание сервиса синхронизации разнородных баз данных Допущена к защите зав. кафедрой: д.ф.м.н., профессор Терехов А.Н. Научный руководитель: доцент Графеева.
Алгоритм приближённого joinа на потоках данных Выполнил : Юра Землянский, 445 группа Научный руководитель : Б.А. Новиков СПб, 2011 Санкт-Петербургский.
Автоматизация нагрузочного тестирования DB2 Подготовил студент 545 группы Вячеслав Филиппов Кафедра Системного Программирования Научный руководитель Графеева.
Архитектура, возможности и методы использования платформы облачных вычислений Microsoft Windows Azure Лекция 3 Основные концепции и архитектура Microsoft.
Санкт-Петербургский Государственный Университет Математико-механический факультет Кафедра системного программирования Курсовая работа студентки 361 группы.
Автоматизированная система учета расходования личных средств Фомин Алексей Дмитриевич 545 группа Научный руководитель: к. ф.-м. н. Д.С. Шалымов САНКТ-ПЕТЕРБУРГСКИЙ.
Транксрипт:

Генерация скрипта создания базы данных с учетом зависимостей Автор : Максим Масунов, 545 группа Санкт - Петербургский государственный университет Математико - Механический факультет Кафедра системного программирования Научный руководитель : Графеева Н. Г. Рецензент : Помыткина Т. Б.

Проблема Скрипты разложены по разным файлам Скрипты находятся в одном текстовом файле Table1.sql Tables.sql Table1.sql Views.sql Table1.sql Triggers.sql DataBase.sql

Создание скрипта с учетом зависимостей DataBase Application Script.sql

Существующие инструменты Aqua Data Studio* EMS SQL Manager Advanced Query Tool * UDB Workbench Toad for DB2 freeware -Tables Views Aliases Sequences Indexes Triggers Procedures Functions User Datatypes Зависимости Патчи Freeware ----+

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

Порядок создания объектов Пользовательские типы Таблицы Встроенные процедуры, функции, представления … Индексы … … …

Поиск зависимостей Функция _ 1 Процедура _1 Процедура _3 Процедура _ 2 Представление _3 Независимые объекты 1-й уровень зависимости 2-й уровень зависимости k -й уровень зависимости

Проверка на ацикличность Процедура _1 Процедура _2 Процедура _3

.NET DB2 UDB Решение GUI DLL Скрипт создания всех объектов с учетом зависимостей

Задача, часть 2 Синхронизация SQL- схем DataBase.sql Update Revision 58 Revision 59

Средствами контроля версий Не всегда удобно Сравнивают строки, а не объекты Не создают скрипта, а лишь показывают различия Может не понять, если поменять местами два текстовых блока без обрамляющих\n.

Приложить резервную копию Могут быть различные данные Например, пользователи Sample 22 таблицы по записей Резервная копия заняла 102 Мб

.NET Решение DB2 GUI DLL Новая SQL- схема в XML формате Скрипт - патч

Изменение схемы таблиц Переименование колонок Изменение размера колонок Изменение типов колонок и приведение существующих данных к новому типу, используя встроенные скалярные функции Изменение точности Изменение значений по умолчанию Изменение NULL/NOT NULL Удаление колонок

Отличие от существующих Для создания патча не требуется подключения к обеим базам данных Достаточно файла с новой схемой и подключения к базе данных со старой схемой Скрипт может быть выполнен, так как объекты выстроены в порядке, учитывающем зависимости Код приложения полностью открытый

Результат Проведено сравнение с существующими инструментами Разработан алгоритм создания объектов с учетом зависимостей Разработан алгоритм создания патчей Реализована программная система Работает на платформе.NET 3.5 Использует DB2 Universal DataBase v 9.5

Спасибо за внимание ! Вопросы ?