» Главная  » Программирование  » Автоматическое обновление метаданных на основе версий 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.

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

Понятие алгоритма. Определение и типовая схема циклического алгоритма. Назначение блоков циклического алгоритма. Виды циклических алгоритмов ( Контрольная работа, 14 стр. )
Постановка задачи: Организовать ввод и вывод данных заданных типов, снабдив распечатки соответствующими заголовками ( Контрольная работа, 15 стр. )
Пошаговая распределенная игра ( Курсовая работа, 22 стр. )
Пояснительная записка к курсовой работе по дисциплине "Теория автоматов" ( Реферат, 24 стр. )
Пояснительная записка к курсовой работе (по дисциплине "Базы данных") на тему: Проектирование и реализация базы данных для Видеогалереи на основе единой информационной среды кафедры ( Реферат, 16 стр. )
Пояснительная записка к курсовой работе по дисциплине "Системное программное обеспечение" "Разработка в Borland C++ Builder клиент-серверного обеспечения" "База данных газет" ( Контрольная работа, 8 стр. )
Практическое освоение методов разработки приложений в среде визуального проектирования Borland Delphi 7.0 ( Курсовая работа, 36 стр. )
Принципы создания синтаксических и семантических анализаторов ( Курсовая работа, 52 стр. )
Проблемы развития третьего сектора в Иркутской области ( Дипломная работа, 82 стр. )
Проверка закона Гука на различных масштабах рассмотрения при квазистатическом растяжении твердого тела. ( Курсовая работа, 24 стр. )
ПРОВЕРКА СВОЙСТВА ТРАНЗИТИВНОСТИ ДЛЯ ОТНОШЕНИЙ, ЗАДАННЫХ В ОРИЕНТИРОВАННЫХ ГРАФАХ ( Курсовая работа, 21 стр. )
Программа Бест-4 ( Контрольная работа, 16 стр. )
Программа для птицеводов ( Контрольная работа, 16 стр. )
Программа нахождения оптимального пути перевозки при минимальных затратах ( Курсовая работа, 54 стр. )
Программа планирования предупредительных ремонтов электрообо-рудования ( Дипломная работа, 65 стр. )
Программа предназначена для проверки знаний студентов и учащихся с помощью популярных сейчас тестов «с выбором ответа» ( Контрольная работа, 14 стр. )
Программа составления кроссвордов ( Курсовая работа, 27 стр. )
Программирование ( Контрольная работа, 5 стр. )
Программирование ( Контрольная работа, 36 стр. )
Программирование ( Контрольная работа, 13 стр. )
Программирование (контрольная работа) ( Контрольная работа, 50 стр. )
ПРОГРАММИРОВАНИЕ В СРЕДЕ DELPHI (Белоруссия) ( Дипломная работа, 94 стр. )
Программирование и отдадка программ ( Контрольная работа, 18 стр. )
Программирование на языках высокого уровня0 ( Контрольная работа, 23 стр. )
Программируемые логические интегральные схемы (ПЛИС) ( Курсовая работа, 32 стр. )


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