Обработка баз данных на Visual Basic®.NET
Шрифт:
РИС. 1.9. Схема, созданная с помощью программы-мастера Reverse Engineer Wizard, с двумя таблицами базы данных Novelty и отношениями между ними
В результате такого трудоемкого и рутинного процесса программа-мастер Reverse Engineer Wizard устраняет необходимость использования отдельной программы-мастера для создания источника данных ODBC – устаревшей технологии компании Microsoft, предназначенной для обеспечения взаимодействия приложений с реляционными базами данных. (Более подробно
Важной особенностью технологии 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 (Связать).
Рис. 1.11. ERD-диаграмма с отображением отношения между таблицами tblCustomer и tbIOrder
После создания таблицы в схеме базы данных можно использовать программу Visio для создания таблицы в базе данных. Для этого нужно выбрать команду меню Database→Update (База данных→Обновить). На экране появится диалоговое окно программы-мастера Database Update Wizard с предложением выполнить обновление. Для обновления базы данных можно создать сценарий на языке определения данных (Data Definition Language — DDL), который внесет все необходимые изменения в базу данных. Этот способ позволяет задокументировать все вносимые изменения и использовать их для репликации. (Более подробно DDL рассматривается в главе 2, "Запросы и команды на языке SQL".) Для обновления базы данных программа Visio может просто внести их в базу данных без создания сценария на DDL. Программа-мастер Database Update Wizard позволяет использовать любой из этих вариантов либо оба вместе.
Часто создание графической модели позволяет обнаружить недостатки схемы базы данных. Например, созданная ранее схема позволяет сохранять информацию о клиентах и заказах, но заказы состоят из товаров, взятых со склада компании и проданных клиенту. Однако в данной схеме базы данных не предусмотрена возможность просмотра товаров, заказанных клиентом.
Для решения этой проблемы нужно создать таблицу для хранения сведений о товарах заказа, которая имеет приведенную ниже структуру.
tblOrderItem |
---|
ID |
OrderID |
ItemID |
Quantity |
Cost |
Теперь между таблицами tblOrder и tblOrderItem существует отношение типа один-ко-многим, как показано на рис. 1.12.
Полностью схему всей базы данных Novelty можно скопировать в виде файла для программы Visio с Web-страницы этой книги на Web-сервере Издательского дома "Вильяме" по адресу: www.williamspublishng.com.
Не следует путать процесс создания схемы базы данных с процессом создания программного обеспечения. В большинстве компаний по созданию программного обеспечения используется методология, которая регламентирует решаемые бизнес-задачи, внешний вид программного обеспечения и способ его создания. Их нужно учитывать при разработке базы данных.
Отношения
Отношение — это способ формального определения того, как две таблицы связаны друг с другом. При определении отношения необходимо сообщить процессору баз данных, через какие два поля связываются две таблицы, участвующие в создании отношения.