РИС. 1.9. Схема, созданная с помощью программы-мастера Reverse Engineer Wizard, с двумя таблицами базы данных Novelty и отношениями между ними
В результате такого трудоемкого и рутинного процесса программа-мастер Reverse Engineer Wizard устраняет необходимость использования отдельной программы-мастера для создания источника данных ODBC – устаревшей технологии компании Microsoft, предназначенной для обеспечения взаимодействия приложений с реляционными базами данных. (Более подробно технология ODBC описывалась в прежнем издании книги, но она не очень широко используется в среде Visual Studio .NET, а потому эта тема опущена в данном издании.)
Важной особенностью технологии ODBC является то, что после создания именованного источника данных ODBC его не нужно создавать повторно. Для следующих попыток доступа к базе данных Novelty используется уже созданный источник данных ODBC.
Что нужно сделать для добавления в схему другой таблицы с помощью программы Visio? Напомним, что исходная версия схемы базы данных, созданная Брэдом Джонсом на клочке салфетки, включала возможность отбирать клиентов по региону. Поэтому в данную схему нужно включить таблицу с регионами, выполнив перечисленные ниже действия.
1. В окне Entity Relationship (Отношения между объектами) в левой части окна программы Visio щелкните на компоненте Entity (Объект) и перетащите его в область рисования. При этом будет создан новый объект (таблица), который по умолчанию называется Table 1.
2. Щелкните правой кнопкой мыши на созданном объекте и выберите в контекстном меню команду Database Properties (Свойства базы данных). На экране появится страница свойств базы данных Database Properties.
3. Введите новое имя таблицы tblRegion в текстовом поле Physical name (Физическое имя).
4. В списке Categories (Категории) страницы свойств базы данных Database Properties щелкните на категории Columns (Поля) и создайте три поля в сетке с определением таблицы, как показано на рис. 1.10. Обратите внимание, что для длины поля типа char или varchar нужно выбрать поле и щелкнуть на кнопке Edit (Редактировать) с правой стороны страницы свойств.
После выполнения этих действий схема базы данных будет выглядеть, как показано на рис. 1.10.
Здесь продемонстрирован очень простой способ создания схемы базы данных. Учтите, что в программе Visio есть много других более сложных специализированных шаблонов для создания схем базы данных.
Между таблицами tblRegion и tblCustomer существует отношение на основе связи между их полями State. Для отражения этого отношения в схеме нужно использовать компонент Relationship так, как описано ниже.
РИС. 1.10. ERD-диаграмма с определением новой таблицы tblRegion
1. В окне Entity Relationship (Отношения между объектами) в левой части окна программы Visio щелкните на компоненте Relationship и перетащите его в область рисования. Он представляет собой линию со стрелкой и с зелеными квадратиками (метка-манипулятор) на концах линии.
2. Щелкните и перетащите одну из зеленых меток на таблицу tblRegion. При этом цвет метки станет красным, что означает незавершенность выполняемых действий с данным отношением.
3. Щелкните и перетащите другую зеленую метку на таблицу tblCustomer.
4. В странице свойств в нижней части окна Visio выберите поля State в обеих таблицах, а затем щелкните на кнопке Associate (Связать). Теперь ERD-диаграмма будет выглядеть, как показано на рис. 1.11. Обратите внимание, что кнопка между двумя списками полей из таблиц tblRegion и tblCustomer либо будет неактивной, либо будет содержать надпись Disconnect (Разорвать) или Associate (Связать). Например при выборе по одному полю в каждом списке эта кнопка будет иметь надпись Associate.
Рис. 1.11. ERD-диаграмма с отображением отношения между таблицами tblCustomer и tbIOrder
После создания таблицы в схеме базы данных можно использовать программу Visio для создания таблицы в базе данных. Для этого нужно выбрать команду меню Database→Update (База данных→Обновить). На экране появится диалоговое окно программы-мастера Database Update Wizard с предложением выполнить обновление. Для обновления базы данных можно создать сценарий на языке определения данных (Data Definition Language — DDL), который внесет все необходимые изменения в базу данных. Этот способ позволяет задокументировать все вносимые изменения и использовать их для репликации. (Более подробно DDL рассматривается в главе 2, "Запросы и команды на языке SQL".) Для обновления базы данных программа Visio может просто внести их в базу данных без создания сценария на DDL. Программа-мастер Database Update Wizard позволяет использовать любой из этих вариантов либо оба вместе.