Автор: Бруно Ференс (Bruno Fierens)
Введение
Моделирование данных — один из основных этапов жизненного цикла системы баз данных (БД): с самых первых шагов, когда моделируется и создается первоначальная структура программного обеспечения и при последующих обновлениях ПО, когда изменяется структура базы данных. Существуют ситуации, когда изменение структуры БД может стать сложной задачей, например, когда необходимо получить производительную систему, а работа ведется с недокументированной БД, или необходимо конвертировать базу данных из одного формата в другой. Для задач моделирования данных существует множество инструментов: некоторые из них специфичны только для одного типа СУБД, другие — более общие, третьи из них полезны для решения узкоспециализированных задач, четвертые — предоставляют множество возможностей (и, как правило, не дешевы). TMS Data Modeler — это инструмент позволяющий создавать и поддерживать базы данных: в него интегрирован процесс проектирования, моделирования, создания и поддержки БД в едином окружении, с простым и понятным пользовательским интерфейсом для эффективного управления БД. В этой статье кратко описаны основные особенности TMS Data Modeler, и показано, как он может быть использован для создания проекта и поддержки существующей БД.
Основные возможности программы
TMS Data Modeler — это общий инструмент, позволяющий моделировать данные независимо от используемой СУБД. Приложение позволяет начать процесс моделирования с нуля или импортировать структуру из существующей базы данных (обратное проектирование). Оно также генерирует скрипты для создания новой БД или обновления существующей с использованием системы контроля версий. Кроме того, он предоставляет возможность конвертировать БД из одной СУБД в другую, проводить проверку целостности данных, строить диаграммы «сущность-связь» TMS Data Modeler в настоящее время поддерживает следующие СУБД: Absolute Database, Firebird 2, MS SQL Server 2000/2005/2008, MySQL 5.1, NexusDB V3 и Oracle 10g.
Создание проекта в TMS Data Modeler
Существует два способа начать новый проект в TMS Data Modeler: создание нового проекта с нуля или импорт словаря данных из существующей базы данных.
Рисунок 1: Начало работы
Чтобы создать новый проект, необходимо выбрать пункт меню «New Projectt» и просто указать необходимый файл БД. По умолчанию программа отображает диаграмму с именем «Main Diagram». С помощью диаграмм можно визуально создавать таблицы, и установливать отношения между ними. Все объекты БД (помимо таблиц еще существуют процедуры, представления и др. объекты) могут быть доступны, созданы и отредактированы при помощи панели Project Explorer, расположенной в левой части экрана.
Для того, чтобы импортировать структуру БД, необходимо выбрать пункт меню «Import from Database» и настроить параметры соединения. По окончании процедуры импорта, окно «Data Modeler» будет отображать все объекты БД: таблицы, связи, триггеры, процедуры, представления и т.д. Также список всех объектов будет находиться в соответствующих категориях панели «Project Explorer». Для обзора импортированной структуры возможно открыть диаграмму "Main Diagram" и выбрать пункт «Add all tables» в контекстном меню.
Контроль версий
Для того, чтобы воспользоваться в TMS Data Modeler функцией контроля версий (сравнение и определения изменений, генерирование скриптов обновления) необходимо сохранять историю изменений. По умолчанию, каждый новый проект имеет версию 1 и статус «в разработке» (under constuction). В этом примере после импортирования структуры существующей базы данных мы сохраняем историю изменений первой версии. Как только версия зафиксирована, ее статус изменятся на «закрыта» (closed) и создается новая версия (2) со статусом «в разработке». Теперь все последующие изменения станут частью версии 2.
Создание и изменение объектов базы данных
Панель «Project Explorer» предоставляет доступ к просмотру и редактированию всех объектов, а также создание новых объектов при помощи контекстного меню. Интерфейс программы позволяет одновременно работать со множеством объектов, сгруппированным по вкладкам, облегчающим навигацию. В этом примере мы создадим таблицу с именем «attachments», и позже мы свяжем ее с существующей таблицей «projects». Также мы создадим новое поле «FileSize» в таблице «blobs».
Data Modeler позволяет создавать различные диаграммы путем перетаскивания необходимых таблиц из панели «Project Explorer» в редактор диаграмм, связанные таблицы соединятся автоматически. В результате можно получать различные наборы таблиц, сгруппированных в контексте модулей или системы в целом. Чтобы связать две таблицы визуально, используя диаграммы, создайте новую диаграмму и перетащите таблицы "projects" и "attachments" с панели Project Explorer. Нажмите на кнопку «Relationship» на панели инструментов и щелкнув по на родительской таблице и перетащите курсор к дочерней таблице. Появится окно добавления связи, в котором необходимо указать ее имя, ключевые поля и другие опции. После подтверждения этой операции будет создана связь между таблицами, которая мгновенно отобразится на диаграмме. Обратите внимание, что в таблице «attachments» было создано поле «ProjectID» связанное с первичным ключом таблицы «projects».
Изменение версии
После проделанных изменений в проекте, версия 2 будет отличаться от версии 1, которая являлась результатом импорта структуры из файла БД. Используя инструмент сравнения версий, можно увидеть структуру каждой из них с подсветкой различий (добавленных, удаленных и измененных объектов) и сгенерировать скрипт для выделенных объектов. В этом же окне можно выделить изменения и сгенерировать скрипт обновления БД.
Заключение
В этой статье были описаны только самые основные возможности TMS Data Modeler и было продемонстрировано, как создаются новые проекты и осуществляется процесс поддержки БД. В программе есть и другие функции моделирования и обслуживания БД, в поставку входит полное справочное руководство, имеется доступная в режиме on-line справочная система. На нашем сайте вы найдете более подробную информацию о функциях программы, ее преимуществах и особенностях применения.
Существует возможность чтения структуры данных из проектов
TMS Data Modeler из разрабатываемых в Delphi и C++ Builder приложений. TMS Software распространяет бесплатную библиотеку Data Modeler Library (DMLib), в которой содержатся закрытые для модификации классы, содержащие интуитивно понятные методы и свойства получения всей необходимой информации об объектах из словаря данных. Ниже представлен небольшой пример, показывающий применение DMLib для получения информации о полях и их типах данных одной из таблиц («attachments» прим. пер.) словаря данных.
program Dmread; uses
SysUtils, uAppMetaData, uGDAO; var
amd: TAppMetaData; table: TGDAOTable; field: TGDAOField; i integer;
begin
amd := TAppMetaData.LoadFromFile
('C:\tmssoftware\dmlib\jedivcs.dgp');
try
table := amd.DataDictionary.TableByName('attachments');
if table <> nil then
begin
for i := 0 to table.Fields.Count-1 do begin
field := table.Fields[i];
Writeln(Format('Field %d: %s [%s]',
[i + 1, field.FieldName, field.DataType.Name]));
Об Авторе
Бруно Ференс (Bruno Fierens)
Бруно начал свою деятельность в середине 80-х с небольших проектов в GWBasic и вскоре стал использовать Turbo Pascal v3.0 благодаря его быстрой компиляции, прозрачному языку и процедурной технике программирования. Он использовал последующие версии Turbo Pascal и изучил объектно-ориентированное программирование, когда оно было добавлено в язык Pascal компанией Borland. Используя Turbo Pascal для Windows и Resource Workshop он сделал первые шаги программирование под ОС Windows и выпустил на рынок несколько продуктов.
TMS Software стала партнером Borland Technology в 1998 году. Штат состоял из четырех сотрудников в главном оффисе в Бельгии и разработчиков в Бразилии, Уругвае, Индии, Пакистане, разрабатывавших различные компоненты. В настоящее время у TMS Software есть огромный портфолио компонент для Delphi и есть уверенность в том, что описанный здесь продукт, будет развиваться в будущем. Начиная с Delphi 2010 компания Embarcadero предлагает достаточно богатую и мощную среду быстрой разработки Windows-приложений, включая новейшие функции ОС Windows 7 (например, поддержку сенсорных дисплеев). Бруно будет очень внимательно следить за анонсированными Embarcadero инструментами кросс-платформенной разработки и говорит, что надеется интегрировать их в TMS Software. По его мнению, эти инструменты принесут много захватывающих возможностей в мир Embarcadero, Delphi и компонентов TMS Software. Мы живем в очень интересное время для истинных поклонников Delphi.
end; end else
Writeln('Таблица не найдена.'); finally
amd.Free; end; end.
Output:
Результат:
Поле 1: idattachment [Int (identity)]
Поле 2: description [VarChar]
Поле 3: filename [VarChar]
Поле 4: createdon [Datetime]
Поле 5: content [Image]
Поле 6: PROJECTID [Int]
< Предыдущая | Следующая > |
---|