Физическая и логическая модель данных
Введение
Разработка и внедрение корпоративных информационных систем на предприятии часто сопровождается реорганизацией его деятельности. Практика показывает, что проекты, основанные на внедрении готовых или разработанных под заказ информационных систем, часто заканчиваются неудачей. В чем же заключается причина таких неудач?
Прежде, чем пытаться улучшить деятельность предприятия, выбрать и внедрить информационную систему, необходимо тщательно проанализировать текущую работу предприятия. Для этого необходимо знать, как работает предприятие в целом, как оно взаимодействует с внешними организациями, как организована работа на каждом рабочем месте.
Один человек или группа не в состоянии разобраться с этими вопросами и разработать полную модель деятельности предприятия. Можно уяснить, как работает организация в целом, каковы связи с поставщиками, заказчиками и смежниками. Но весьма затруднительно детально уяснить все особенности деятельности каждого рядового сотрудника на его рабочем месте. Руководитель предприятия досконально осведомлен об одних аспекта работы, руководители подразделений – о других, рядовые сотрудники – детально разбираются только в своих вопросах.
Разработаны различные методики и специальные средства, позволяющие обследовать все уровни предприятия и построить модель их деятельности в виде диаграмм. Наибольшее распространение получили следующие методологии.
SADT (Structured Analysis and Design Technique). Согласно SADT модель разрабатывается поэтапно. Сначала описывается деятельность предприятия в целом. Затем выполняется декомпозиция, в процессе которой рассматриваются все более и более мелкие аспекты работы предприятия, вплоть до каждого рабочего места. В созданной модели учитываются все информационные потоки, сопровождающие каждый аспект деятельности предприятия.
DFD (Data Flow Diagrams) – модели и диаграммы потоков данных.
ERD (Entity-Relationship Diagrams) – диаграммы сущность-связь.
На основании этих методологий разработаны стандарты моделирования бизнес-процессов IDEF0, DFD, IDEF3.
Аббревиатура IDEF означает метод интегрального определения – Integrated DEFinition.
Любая информационная система предусматривает наличие базы данных, хранящей информацию, сопровождающую все бизнес-процессы. Разработан стандарт проектирования модели данных информационных систем - IDEF1X.
Фирмой PLATINUM technology созданы инструментальные средства, поддерживающие эти стандарты. Пакет BPWin, основанный на стандартах IDEF0, DFD и IDEF3, используют в процессе обследования предприятия для построения функциональной модели бизнес процессов. Анализ модели, выполняемый с помощью BPWin, позволяет изучить и улучшить структуру предприятия. Этот инструмент используют в основном системные аналитики и специалисты по внедрению информационных систем.
Пакет ERWin использует стандарт IDEF1X и предназначен для другого круга задач и специалистов другого профиля – это система проектирования БД.
Эти пакеты поддерживают механизм двунаправленной связи. На основании модели, полученной с помощью BPWin, можно простроить модель данных с помощью пакета ERWin.
ERWin позволет проводить процессы прямого и обратного проектирования БД. Это означает, что по полученной модели данных можно сгенерировать схему БД, связанную с конкретной СУБД. С другой стороны, на основе системного каталога СУБД пакет позволяет автоматически создать модель данных, которую затем можно сгенерировать под другую СУБД. Такой механизм очень полезен при переносе базы данных из под одной СУБД под управление другой СУБД.
CАSE - средства - Computer-Aided Software/System Engineering.
Design/IDEF
Создание модели данных с помощью ERWin
Физическая и логическая модель данных
ERwin имеет два уровня представления модели данных - логический и физический. Логический уровень - это абстрактный взгляд на данные, на нем данные представляются так, как выглядят в реальном мире. Объекты модели, представляемые на логическом уровне, называются сущностями и атрибутами. Логическая модель данных является универсальной и никак не связана с конкретной реализацией СУБД. На логическом уровне можно объектам дать имена, понятные неспециалистам, в том числе на кириллице и с использованием специальных символов. Такое соответствие позволяет лучше задокументировать модель и дает возможность обсуждать структуру данных с экспертами предметной области.
Физическая модель данных, напротив, зависит от конкретной СУБД, фактически являясь отображением системного каталога. В физической модели содержится информация обо всех объектах БД. Поскольку стандартов на объекты БД не существует (например, нет стандарта на типы данных), физическая модель зависит от конкретной реализации СУБД. Следовательно, одной и той же логической модели могут соответствовать несколько разных физических моделей. Если в логической модели не имеет значения, какой конкретно тип данных имеет атрибут, то в физической модели важно описать всю информацию о конкретных физических объектах - таблицах, колонках, индексах, процедурах и т. д.
Кроме того, многие СУБД имеют ограничения на идентификаторы объектов. Например, ограничения на длину имен таблиц и объектов или запрет на использование пробела и других специальных символов. Поэтому на физическом уровне объекты должны называться так, как этого требуют ограничения СУБД.
После создания логической модели и описания ее средствами ERwin можно выбрать необходимую СУБД и ERwin автоматически создаст соответствующую физическую модель. На основе физической модели ERwin может сгенерировать системный каталог СУБД или соответствующий SQL-скрипт. Этот процесс называется прямым проектированием (Forward Engineering).
Тем самым достигается так называемая масштабируемость - создав одну логическую модель данных, можно сгенерировать физические модели под любую поддерживаемую ERwin СУБД. ERwin способен выполнить обратную задачу: по содержимому системного каталога или SQL-скрипту воссоздать физическую и логическую модели данных (Reverse Engineering). На основе полученной логической модели данных можно сгенерировать физическую модель для другой СУБД и затем сгенерировать ее системный каталог. Таким образом ERwin позволяет решить задачу по переносу структуры данных с одного сервера на другой.
Интерфейс ERwin
Интерфейс различных версий ERwin может несколько различаться, однако основные приемы работы с пакетом одинаковы для всех версий. Будем рассматривать версию 3.5.2.
После запуска системы необходимо выбрать уровень отображения модели: логический или физический. Опция Logical или Physical выбирается из раскрывающегося списка или с помощью соответствующей кнопки.
Окно ERwin имеет типичный вид для всех приложений Windows.
Основная панель инструментов содержит кнопки для установления нужного режима работы. На первых этапа работы самыми нужными будут кнопки установки уровня просмотра модели:
Entity view – уровень сущностей;
Attribute view – уровень атрибутов;
Definition view – уровень определений.
Помимо основной панели инструментов в окне должна присутствовать так наз. палитра инструментов – ERwin Toolbox. Вид палитры инструментов зависит от уровня отображения.
На логическом уровне здесь расположены следующие кнопки:
Кнопка указателя мыши- Select - позволяет выбрать из палитры нужный объект.
Кнопка внесения сущности - Entity – этот инструмент позволяет вносить в проект сущности. Для этого надо щелкнуть по кнопке, а затем щелкнуть по свободному месту на модели. Повторный щелчок приведет к внесению в модель еще одной новой сущности. Для редактирования сущностей (например, установления имени) или для редактирования других объектов модели надо перейти в режим указателя.
Кнопка категории - Complete sub-category – позволяет установить так наз. категориальную связь между сущностями. Суть этой связи рассмотрим ниже.
Кнопка внесения текстового блока – Text – позволяет вносить текстовый комментарий в любую часть графической модели.
Кнопка перенесения атрибутов внутри сущности - Attribute manipulation – позволяет перемещать атрибуты внутри сущности способом drag&drop.
Три кнопки позволяют устанавливать связи – relationship- между сущностями. Можно установить идентифицирующую связь (1:М), связь М:М и не идентифицирующую связь (не определенную).
На физическом уровне вместо кнопки категорий на палитре инструментов присутствует кнопка внесения представлений (view table), а вместо кнопки связи М:М расположена кнопка связей представлений (view relationship).
Для создания моделей (логической и физической) в ERwin можно использовать две нотации (два стандарта) - IDEF1Xи IE (Information Engineering).
Переключение между нотациями можно сделать на вкладке Methodology диалогового окна Preferences (меню Option/Preferences). Мы будем использовать нотацию IDEF1X.
ERwin имеет несколько уровней отображения диаграммы: уровень сущностей, уровень атрибутов, уровень определений, уровень первичных ключей и уровень иконок. Переключиться между первыми тремя уровням можно с использованием кнопок панели инструментов. Переключиться на другие уровни отображения можно при помощи контекстного меню, которое появляется, если "кликнуть" по любому месту диаграммы, не занятому объектами модели. В контекстном меню следует выбрать пункт Display Level и затем необходимый уровень отображения.
ERwin позволяет связать с сущностью большую и малую иконки. При переключении на уровень иконок показывается большая иконка. Для отображения малой иконки следует выбрать в контекстном меню пункт Display Options/Entities и в каскадном меню включить опцию Entity Icon. Малая иконка будет показана слева от имени сущности на всех уровнях отображения модели.
Установить нужные цвет и шрифт любого объекта, текста, связи можно с помощью панели инструментов Форматирования, которая располагается под основной панелью. Можно также пользоваться пунктом Object Font/Color контекстного меню объекта.