» Главная  » Программирование  » Автоматическое обновление метаданных на основе версий DDL

Содержание

1 Введение 3

1.1 Глоссарий 3

1.2 Описание предметной области 3

1.3 Неформальная постановка задачи 3

1.4 Обзор существующих методов решения 4

1.4.1 Коммерческие продукты 4

1.4.2 Open Source продукты 4

2 Требования к окружению 4

2.1 Требования к аппаратному обеспечению 4

2.2 Требования к программному обеспечению 4

2.3 Требования к пользователям 4

3 Спецификация данных 4

3.1 Описание формата и структуры данных 4

3.1.1 Ограничения, накладываемые программой на входные данные 4

4 Функциональные требования и требования к интерфейсу 5

4.1 Функциональные требования 5

4.2 Требования к интерфейсу 5

5 Проект 5

5.1 Средства реализации 5

5.2 Модули и алгоритмы 5

5.3 Структуры данных 8

Заключение 11

Список литературы 12

1 Введение

1.1 Глоссарий

Метаданные – данные, которые описывают объекты базы данных, а также позволяют упростить способ доступа к ним и управления ими. Метаданные включают определения записей, элементов данных, а также другие объекты, представляющие интерес для пользователей или необходимые для работы СУБД.

DDL – описательный язык, подмножество языка SQL. Позволяет администратору БД или пользователю описать и именовать сущности и атрибуты, необходимые для работы некоторого приложения. Кроме того, DDL позволяет описывать связи, имеющиеся между различными сущностями, ограничения целостности и защиты.

1.2 Описание предметной области

Конец XX века стал временем бурного роста популярности различных СУБД и их распространении среди различных компаний и организаций. Однако, так как со временем компания не остаётся неизменной, меняются и требования, предъявляемые ей к своей БД. Эти требования, в частности, затрагивают структуру (схему) БД. Так же компании может потребоваться перейти от использования одной БД к другой, так что возникла необходимость в создании программ, которые будут автоматически изменять схему БД по запросу пользователя. Существуют разные способы хранения схем БД, один из них – с помощью набора операторов SQL DDL, в той или иной мере поддерживается всеми производителями СУБД. Преобразования в схеме БД можно осуществлять, пользуясь средствами SQL, в той или иной форме поддерживаемом производителями СУБД, но это практически невозможно по ряду причин: каждый производитель предлагает свой синтаксис SQL; при достаточно больших и сложных схемах БД определить количество и порядок действий становится очень сложно; это требует специальной подготовки, и не каждая компания может экономически позволить себе такого специалиста. В свою очередь, такие программы кроме устранения этих недостатков позволяют производителям ПО использующим БД просто присылать программу для исполнения вместо того, чтобы пересоздавать БД заново при выпуске очередной версии, а также избежать при этом потери уже накопленных данных, которые обычно представляют большую коммерческую ценность. При разработке таких программ можно привязываться к конкретным СУБД, но это сильно снижает гибкость таких программ. Также в последние годы стало набирать силу Open Source движение, которое позволяет расширять и адаптировать программы самому пользователю для его конкретной ситуации, так что целью данного проекта является построение не зависящей от конкретной СУБД легко расширяемой программы для автоматического изменения схемы БД.

1.3 Неформальная постановка задачи

Таким образом, необходимо спроектировать и реализовать приложение, позволяющее:

• Принимать через интерфейс командной строки файлы, содержащие схемы исходной и требуемой БД;

• Выдавать список операторов DDL, преобразующих исходную схему в требуемую схему.

В качестве средства разработки данного проекта выбран язык Perl. Данный выбор обусловлен тем, что данный проект предназначен, прежде всего, для Open Source систем и Web приложений. Язык Perl предоставляет огромные возможности для разработчиков в этой области.

Рис 1. Диаграмма вариантов использования.

1.4 Обзор существующих методов решения

В рамках написания данной работы автором было рассмотрено несколько уже существующих решений как коммерческих, так и имеющих Open Source лицензию.

1.4.1 Коммерческие продукты

Их можно разбить на два подкласса: ориентированные на одну конкретную СУБД или на несколько СУБД. К плюсам первых можно отнести достаточно полную функциональность по изменению схемы БД, а также визуальный интерфейс, к минусам – высокую цену, а также обычно невозможность расширения на несколько СУБД. Главный минус второй категории – отсутствие полноты решения проблемы, а также цена их на порядок выше цены предыдущих. Наиболее мощный представитель этой категории – программа Full Convert Enterprise Edition ¬¬– плохо работает с составными ключами.

1.4.2 Open Source продукты

В этой части ПО сейчас нет систем, полностью решающих данную проблему, в частности решающих проблему взаимодействия с внешними ключами (foreign key). В этой области можно выделить программы MySQL::Diff, Sync Database.

2 Требования к окружению

2.1 Требования к аппаратному обеспечению

Требования к аппаратному

Список литературы

1) Конноли Томас, Бегг Каролин. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. 3-е издание. : Пер. с англ. – М. : Издательский дом «Вильямс», 2003. – 1440 с. Ил. – Парал. тит. англ.

2) MySQL Reference Tutorial, 2005. http://dev.mysql.com/doc/mysql/en/index.html.

3) Gavin Powell, Caroll McCollough Dieter, Oracle Jumpstart with Examples. Elsevier Digital Press, 2003.

4) Interbase6 Language Reference 2003. http://www.ibase.ru/v6/doc/langref.zip.

5) PostrgeSQL 7.1 Reference Manual, 2003. http://www.postgresql.org/files/documentation/pdf/7.1/reference.pdf.

6) Adaptive Server Enterprise 12.5 Reference Manual Volume 4: Tables, 2005. http://download.sybase.com/pdfdocs/asg1250e/refman4.pdf.

7) Документация к модулю SQL::Translator, Ken Y. Clark, http://search.cpan.org/~kclark/SQL-Translator-0.06/lib/SQL/Translator/Manual.pod.

Примечаний нет.

" Программная поддержка принятия решений оператору с использованием нейронных сетей" ( Курсовая работа, 54 стр. )
"Автоматизированный лабораторный практикум "Разработка приложений для работы с базой данных в Visual Studio"" ( Отчет по практике, 29 стр. )
"Нелинейная цифровая фильтрация" ( Курсовая работа, 40 стр. )
"Основы теории управления"* ( Контрольная работа, 13 стр. )
"Программа для разархивации файла, созданного по алгоритму RLE" ( Контрольная работа, 11 стр. )
"Спроектировать базу данных для домашней библиотеки или фонотеки" ( Курсовая работа, 25 стр. )
"Технология "Millipede". Разработка модели форматирования в системе FAT 32." ( Контрольная работа, 10 стр. )
AJAX – интерфейс для системы CATS ( Курсовая работа, 13 стр. )
CMS для компании «КАРЛЭНД Сервис» ( Отчет по практике, 26 стр. )
JST Компилятор Smalltalk JVM ( Курсовая работа, 24 стр. )
Microsoft Excel ( Контрольная работа, 28 стр. )
PaketForm. Система обработки заявок на открытие счетов в ОАО АКБ «Росбанк». ( Отчет по практике, 29 стр. )
program z5 ( Контрольная работа, 11 стр. )
Web-рейтинг “Active Student” ( Курсовая работа, 13 стр. )
АВТОМАТИЗАЦИЯ ПРОЦЕССА ЮНИТ-ТЕСТИРОВАНИЯ ПРИЛОЖЕНИЯ «ПОЧТОВЫЙ КЛИЕНТ»: APPLICATION LAYER ( Курсовая работа, 22 стр. )
Автоматизация процесса создания выходной документации для ОАО “Черногорский Завод Искусственных Кож ( Дипломная работа, 182 стр. )
АВТОМАТИЗАЦИЯ ПРОЦЕССА ЮНИТ-ТЕСТИРОВАНИЯ ПРИЛОЖЕНИЯ «ПОЧТОВЫЙ КЛИЕНТ»: APPLICATION LAYER 2007-23 ( Курсовая работа, 23 стр. )
Автоматизированная система управления ОПтК ( Курсовая работа, 43 стр. )
Автоматизированная система оперативно-диспетчерского управления (АСОДУ) патентно-правового бюро «Эксперт» ( Дипломная работа, 116 стр. )
Автоматизированное рабочее место «СЕССИЯ» ( Курсовая работа, 41 стр. )
Автоматическое обновление метаданных на основе версий DDL ( Курсовая работа, 14 стр. )
Адаптивный алгоритм взаимодействия игровых объектов на основе классического алгоритма взаимодействия игровых объектов игр типа "змейка". ( Дипломная работа, 118 стр. )
Алгоритмизация и программирование процессов обработки данных ( Контрольная работа, 9 стр. )
Алгоритмические языки и теория програмирования ( Курсовая работа, 41 стр. )
Алгоритмические языки высокого уровня. Структура формального алгоритмического языка ( Контрольная работа, 14 стр. )


                                          /  8 (495) 971-76-12  /  info@refport.ru  /     ¤