назад | содержание | вперед

Глава 16. Основы баз данных.

В настоящее время большинство компьютерных приложений работает с информацией, хранящейся в базах данных. Visual Basic также располагает средствами, позволяющими создавать приложения, эффективно работающие с такого рода информацией.

В настоящей главе обсуждаются вопросы проектирования структуры данных создаваемого приложения и эффективного распределения данных между таблицами, применения Visual Data Manager для создания баз данных, а также разработки баз данных в Visual Basic с помощью других средств. В этой главе также рассматривается использование в Visual Basic баз данных, размещенных на сервере.

Проектирование базы данных

Для создания эффективного приложения, работающего с информацией, хранящейся в базе данных, основное внимание должно быть уделено проектированию структуры базы данных. Только хорошо организованная структура данных позволит:

Теория реляционной базы данных разработана в начале 70-х годов Коддом на основе математической теории отношений. В реляционной базе данных все данные хранятся в виде таблиц, при этом все операции сводятся к манипуляциям с таблицами. Основными понятиями в этой теории являются таблица, отношение, строка, столбец, ключи.

Основой любой базы данных являются таблицы. Таблица состоит из строк и столбцов и имеет уникальное имя в базе данных. База данных содержит множество таблиц, связь между которыми устанавливается с помощью совпадающих полей. В каждой из таблиц содержится информация о каких-либо объектах одного типа (группы).

Между таблицами в базе данных устанавливаются отношения. Имеются четыре типа отношений между таблицами: один-к-одному, один-ко-многим, много-к-одному, много-ко-многим.

Прежде чем перейти к вопросам проектирования реляционных баз данных, остановимся подробнее на каждом из возможных типов отношений.

Отношение один-к-одному означает, что каждая запись одной таблицы соответствует только одной записи в другой таблице. Например, если рассматривать таблицы, одна из которых содержит данные о сотрудниках предприятия, а вторая — профессиональные сведения, то можно сказать, что между этими таблицами существует отношение один-к-одному, поскольку для одного человека, информация о котором содержится в первой таблице, может существовать только одна запись, содержащая профессиональные сведения, во второй таблице.

Наиболее часто встречающимся типом отношений в базе данных является отношение один-ко-многим. В качестве иллюстрации данного типа отношения можно обратиться к таблицам, содержащим информацию о клиентах предприятия и сделанных ими заказах. В качестве других примеров могут быть рассмотрены отношения между предприятием и работающими на нем сотрудниками. Аналогичный тип отношения существует между компьютером и входящими в него компонентами и т. д.

Отношение много-к-одному аналогично рассмотренному ранее типу один-ко-многим. Тип отношения между объектами зависит от вашей точки зрения. Например, если вы будете рассматривать отношение между сделанными заказами и клиентами, то получите отношение много-к-одному.

Отношение много-ко-многим возникает между двумя таблицами в тех случаях, когда:

Для примера обратимся к магазину оптовой торговли. Рассмотрим две группы объектов: список товаров, производимых предприятиями-поставщиками, и список товаров, заказанных потребителями. Между таблицами, содержащими данные сведения, существует отношение много-ко-многим, так как на каждый поставляемый товар может быть более одного заказа. Аналогично, каждый заказанный товар может производиться более чем одним предприятием.

Нормализация данных

При проектировании базы данных вам необходимо решить вопрос о наиболее эффективной структуре данных. Основные цели, которые при этом преследуются:

Процесс уменьшения избыточности информации в базе данных называется нормализацией. В теории нормализации баз данных разработаны достаточно формализованные подходы по разбиению данных, обладающих сложной структурой, на несколько таблиц. Эти вопросы детально освещаются в специальной литературе. Мы остановимся на некоторых практических аспектах нормализации таблиц, не вдаваясь в их теоретическое обоснование.

Теория нормализации оперирует с пятью нормальными формами таблиц (от первой до пятой включительно). Эти формы предназначены для уменьшения избыточной информации от первой до пятой нормальной формы. Поэтому каждая последующая нормальная форма должна удовлетворять требованиям предыдущей формы и некоторым дополнительным условиям.

Воспользуемся результатами теории при проектировании многотабличной базы данных с эффективной структурой. В качестве примера рассмотрим таблицу, которая содержит следующую информацию о покупателе и сделанных им заказах:

Эту таблицу можно рассматривать как однотабличную базу данных. Основная проблема заключается в том, что в ней содержится значительное количество повторяющейся информации. Например, сведения о каждом покупателе повторяются для каждого сделанного им заказа. Такая структура данных является причиной следующих проблем, возникающих при работе с базой данных.

Вам придется тратить значительное время на ввод повторяющихся данных. Например, для всех заказов, сделанных одним из покупателей, вам придется каждый раз вводить одни и те же данные о покупателе.

Воспользуемся практическими рекомендациями теории нормализации для разработки на основании таблицы о сделанных заказах многотабличной базы данных с эффективной структурой.

Таблица, содержащая сведения о сделанных заказах, является ненормализованной. Таблица базы данных в первой нормальной форме должна, например, удовлетворять следующим требованиям:

Для выполнения первого условия каждая таблицы должна иметь уникальный индекс. С этой целью в таблицу следует добавить поле, которое будет содержать уникальные значения. Например, в таблицу, содержащую информацию о покупателях, необходимо добавить поле с кодом клиента.

Второе требование постулирует устранение повторяющихся групп. Поскольку каждый покупатель может иметь несколько телефонов и сделать несколько заказов, в каждом из которых в свою очередь может заказать несколько товаров, нам необходимы четыре таблицы. Каждая запись этих таблиц будет содержать следующие данные:

Таблица

Данные

Первая

Сведения о покупателях

Вторая

Список телефонов покупателя

Третья

Номер и дата заказа покупателя, данные о менеджере

Четвертая

Код, наименование, количество заказанного и проданного товара


 

Отметим, что отношение между связываемыми таблицами один-ко-многим. Теперь первая и вторая таблица нормализованы. В третьей таблице находится повторяющаяся информация о менеджере, оформлявшем заказ. Следовательно, эту таблицу можно разделить на две. В одну из них вынесем информацию о менеджерах фирмы, а во вторую — номер и дату заказа покупателя, а также код менеджера, оформлявшего заказ.

Рассмотрим четвертую таблицу, содержащую код, наименование, количество заказанного и проданного товара. Она также содержит повторяющуюся информацию о проданном товаре. Эту информацию базы данных можно разместить в отдельной таблице списка товаров, продаваемых фирмой.

В результате проведенной нормализации вместо одной исходной таблицы мы получили шесть простых таблиц, содержащих неповторяющуюся информацию.

После определения структуры таблиц, отношений между ними и совпадающих полей, которые будут использованы для связывания отдельных таблиц, вы готовы к созданию многотабличной базы данных в Visual Basic.

Индексы

Информация в таблицы базы данных вводится в произвольном порядке и в этом же порядке сохраняется на диске. Поиск нужной информации в такой таблице затруднен, особенно если она имеет большое количество записей. Например, рассмотрим таблицу, содержащую список клиентов фирмы. Чтобы облегчить поиск информации о нужном клиенте в этой таблице, данные необходимо упорядочить в алфавитном порядке по фамилиям. Если фамилии клиента вы не знаете, а проводите поиск по району, в котором он проживает, в этом случае данные можно упорядочить по районам.

Одним из основных требований, предъявляемых к базам, является возможность быстрого поиска требуемых записей среди большого объема информации. Индексы представляют собой наиболее эффективное средство, которое позволяет значительно ускорить поиск данных в таблицах по сравнению с таблицами, не содержащими индексов. Таблица может иметь несколько индексов. В зависимости от количества полей, используемых в индексе, различают простые (по одному ключу) и составные индексы (по нескольким полям).

Для каждого значения индекса в индексном файле содержится уникальная ссылка, указывающая на местонахождение в таблице записи, соответствующей индексу. Поэтому при поиске записи осуществляется не последовательный просмотр всей таблицы, а прямой доступ к записи на основании упорядоченных значений индекса.

Важной особенностью индексов является то, что вы можете использовать их для создания первичных ключей. В этом случае индексы должны быть уникальными. Это означает, что для таблицы, содержащей только одно индексное поле, уникальным должно быть значение этого поля. Для составных индексов величины в каждом из индексных полей могут иметь повторяющиеся значения. Однако индексное выражение должно быть уникальным.

Замечание

Требование уникальности индекса не является обязательным. Для ускорения поиска требуемой информации могут быть использованы индексы, не являющиеся уникальными.

Использование Visual Data Manager для создания базы данных

В Visual Basic с помощью надстройки Visual Data Manager можно создавать базы данных, создавать и модифицировать таблицы, индексы.

Для запуска Visual Data Manager используется команда Visual Data Manager меню Add-Ins (Надстройки). При ее выполнении открывается окно VisData, содержащее меню и панель инструментов.

Создание базы данных

Создание базы данных рассмотрим на примере базы данных Microsoft Access, так как это наиболее часто используемое в Visual Basic средство. Для создания базы данных в Visual Data Manager выполните следующие действия:

1. В меню File (Файл) окна VisData выберите команду New (Новый). Открывается меню, содержащее список создаваемых файлов. Выберите из него тип создаваемого файла Microsoft Access. При выборе значения Microsoft Access появляется еще одно меню следующего уровня, позволяющее выбрать версию Access. Выберите нужное значение. Открывается диалоговое окно Select Microsoft Access Database to Create (рис. 16.1).

Рис. 16.1. Диалоговое окно Select Microsoft Access Database to Create

Замечание

Visual Data Manager позволяет работать с базами данных Access, dBase, FoxPro, Paradox, с текстовыми файлами, поддерживает ODBC.

2. Используя раскрывающийся список Папка, укажите папку, в которой хотите сохранить создаваемую базу данных. В поле Имя файла введите имя базы данных и нажмите кнопку Сохранить. Открывается окно проектирования базы данных (рис. 16.2), в котором вы можете создавать новые таблицы, входящие в базу данных, а также изменять структуру и индексы существующих таблиц.

Рис. 16.2. Окно проектирования базы данных

Создание таблицы

После того как база данных создана, можно приступать к созданию таблиц, входящих в ее состав. Для создания таблицы выполните следующие действия:

1. В окне Database Window созданной базы данных щелкните правой кнопкой мыши и выберите в контекстном меню команду New Table (Новая таблица). Открывается диалоговое окно Table Structure (Структура таблицы), предназначенное для создания таблицы (рис. 16.3).

2. В поле Table Name (Имя таблицы) введите наименование создаваемой таблицы.

Рис. 16.3. Диалоговое окно Table Structure, предназначенное для создания таблицы

3. Для создания первого поля таблицы нажмите кнопку Add Field (Добавить поле). Открывается диалоговое окно Add Field, предназначенное для ввода информации, определяющей текущее поле (рис. 16.4).

Каждое поле таблицы характеризуется наименованием, типом и шириной поля. Кроме этих основных параметров каждое поле обладает дополнительными свойствами, назначающими условия ввода данных. Все эти параметры можно задать в данном диалоговом окне.

Рис. 16.4. Диалоговое окно Add Field, предназначенное для создания полей

4. В поле Name (Имя) введите наименование поля. Наименование каждого из полей таблицы, как правило, выбирается произвольно, но таким образом, чтобы отразить характер информации, которая будет храниться в данном поле.

5. Тип поля определяется типом данных, хранящихся в этом поле. Используя раскрывающийся список Type (Тип) диалогового окна Add Field, укажите тип поля.

6. С помощью полей ValidationText и ValidationRule можно задать текст сообщения, выводимого при неправильном вводе данных в это поле, и условие правильности ввода данных.

7. Используя поле DefaultValue (Значение по умолчанию), можно задать значение, вводимое в поле по умолчанию при добавлении в таблицу новой записи.

8. Завершив ввод информации, касающейся текущего поля, нажмите кнопку ОК. Созданное поле будет добавлено в таблицу, а поля диалогового окна Add Field будут подготовлены для ввода следующего поля.

9. Повторяя пункты с 4 по 8, введите все поля таблицы.

10. Завершив ввод всех полей таблицы, нажмите кнопку Close для закрытия диалогового окна Add Field.

Вы возвращаетесь в диалоговое окно Table Structure. Список Field List (Список полей) содержит поля таблицы. При выборе из этого списка наименования поля, в полях, расположенных справа от списка, отображаются параметры текущего поля, введенные в диалоговом окне Add Field.

11. Для создания индекса таблицы нажмите кнопку Add Index (Добавить индекс). Открывается диалоговое окно Add Index (рис. 16.5), содержащее в названии наименование таблицы, для которой создается индекс.

Рис. 16.5. Диалоговое окно, предназначенное для создания индекса таблицы

12. В поле Name диалогового окна введите наименование индекса.

13. Для указания полей, входящих в индекс, используется список Available Fields (Доступные поля). Дважды щелкая мышью на наименовании поля в этом списке, перенесите в поле Indexed Fields (Поля индекса) поля, образующие индекс.

Замечание

При создании индекса переносите поля в Indexed Fields в том порядке, в каком они должны входить в индекс, иначе упорядочение данных будет осуществляться иначе, чем вам бы хотелось.

14. По умолчанию поля таблицы индексируются по возрастанию значения поля, входящего в индекс. Для изменения порядка упорядочения в списке Indexed Fields поставьте знак минус (-) перед полем, для которого хотите изменить установленный по умолчанию порядок.

15. Используя флажки Primary (Первичный) и Unique (Уникальный), укажите тип создаваемого индекса.

Замечание

При установке флажка Primary создается первичный ключ, который используется для связывания таблиц и определения условий целостности данных. Поля, входящие в первичный ключ, не должны допускать ввод пустых значений.

16. Завершив ввод индекса, нажмите кнопку ОК. Созданный индекс добавится в таблицу, а поля диалогового окна Add Index будут подготовлены для ввода следующего индекса.

17. Повторяя пункты с 12 по 16, введите все индексы таблицы.

18. Завершив формирование всех индексов таблицы, нажмите кнопку Close для закрытия диалогового окна Add Index.

Вы возвращаетесь в диалоговое окно Table Structure. Список Index List (Список индексов) содержит список созданных для таблицы индексов.

19. Таблица создана. Нажмите кнопку Build the Table (Построить таблицу).

После создания таблицы вы возвращаетесь в Visual Data Manager. В окне Database Window появляется наименование созданной таблицы (рис. 16.6).

Работа с таблицей в базе данных

После создания в базе данных таблицы ее наименование появляется в окне Database Window. При установке курсора на наименование и нажатии правой кнопки мыши появляется контекстное меню (рис. 16.6), содержащее команды, предназначенные для работы с данной таблицей.

Назначение команд для работы с таблицей описано в табл. 16.1.

Рис. 16.6. Контекстное меню таблицы

Таблица 16.1. Команды, предназначенные для работы с таблицей

Команда

Назначение

Open (Открыть)

Открывает таблицу для просмотра, редактирования и ввода новых записей

Design (Конструировать)

Открывает диалоговое окно Table Structure (Структура таблицы) для просмотра и редактирования структуры таблицы

Rename (Переименовать)

Переименовывает таблицу

Delete (Удалить)

Удаляет таблицу из базы данных

Copy Structure (Копировать структуру)

Копирует структуру таблицы


 

Рассмотрим перечисленные в табл. 16.1 команды более подробно.

Просмотр содержимого таблицы

Первой в контекстном меню таблицы расположена команда Open (Открыть), открывающая таблицу для просмотра, редактирования и ввода данных. При выборе этой команды открывается диалоговое окно Table, содержащее поля таблицы и кнопки (рис. 16.7). В нижней части диалогового окна расположена панель инструментов, предназначенная для перемещения по записям таблицы, а в верхней — кнопки, позволяющие добавлять в таблицу новые записи, редактировать или удалять текущую запись, осуществлять поиск в таблице нужных данных. Назначение этих кнопок описано в табл. 16.2.

Таблица 16.2. Кнопки диалогового окна Table

Кнопка

Назначение

Add (Добавить)

Добавляет в таблицу новую запись и позволяет ввести в нее данные

Edit (Редактировать)

Позволяет отредактировать текущую запись таблицы, выбранную с помощью кнопок перемещения по записям

Delete (Удалить)

Удаляет из таблицы текущую запись

Seek (Искать)

Открывает диалоговое окно Seek Parameters (Искать параметры), позволяющее задать параметры для поиска информации в таблице. Прежде чем осуществлять поиск, необходимо, используя раскрывающийся список Index, проиндек-сировать таблицу по полю, значение которого хотите найти

Filter (Фильтр)

Открывает диалоговое окно, позволяющее задать выражение для фильтра, накладываемого на таблицу

Close (Закрыть)

Закрывает диалоговое окно Table



Рис. 16.7. Просмотр содержимого таблицы

Модификация структуры таблицы

Для просмотра и модификации структуры таблицы базы данных используется команда Design (Конструировать) контекстного меню. При выборе этой команды открывается диалоговое окно Table Structure (Структура таблицы) (рис. 16.3), использовавшееся при создании таблицы.

С помощью Visual Data Manager нельзя изменять тип и размер созданных ранее полей таблицы. Вы можете их только переименовать и изменить параметры проверки достоверности вводимых данных. Помимо этого, вы можете добавить в таблицу новые поля, удалить ненужные, добавить, переименовать или удалить индексы.

Переименование таблицы

Visual Data Manager позволяет переименовать таблицу в базе данных. Для этого необходимо в окне Database Window установить курсор на наименование переименовываемой таблицы и выбрать в контекстном меню команду Rename (Переименовать). Имя таблицы помещается в редактируемое поле, в которое можно ввести новое поле или отредактировать имеющееся. После ввода нового имени нажмите клавишу <Enter>. Для отказа от переименования нажмите клавишу <Esc>.

Удаление таблицы

Для удаления таблицы из базы данных в Visual Data Manager в окне Database Window установите курсор на наименование таблицы и выберите из появившегося контекстного меню команду Delete (Удалить). Появляется запрос на подтверждение удаления таблицы. Для удаления таблицы нажмите кнопку Да, для отказа от удаления — Нет.

Копирование структуры таблицы

Visual Data Manager позволяет скопировать структуру таблицы в базе данных. Для этого необходимо в окне Database Window установить курсор на наименование таблицы и выбрать в контекстном меню команду Copy Structure (Копировать структуру). Открывается диалоговое окно Copy Structure, показанное на рис. 16.8.

Рис. 16.8. Диалоговое окно Copy Structure

Поле Tables содержит список таблиц базы данных. Выберите из этого списка наименование копируемой таблицы. В поле Target Database необходимо указать название базы данных, в которую копируется таблица. По умолчанию это поле содержит наименование текущей базы данных. Используя флажки Copy Indexes и Copy Data, можно указать, копировать ли со структурой индексы таблицы и данные, размещенные в ней. Завершив установку параметров, нажмите кнопку ОК для осуществления копирования.

Создание соединений с серверами баз данных

В Visual Basic для работы можно использовать базы данных, размещенные на сервере. Прежде чем работать с такой базой данных, необходимо создать соединение с ней. Для создания соединения выполните следующие действия:

1. Откройте окно DataEnvironment (рис. 16.9). Для этого в меню Project (Проект) выберите команду Add Data Environment (Среда окружения).

Рис. 16.9. Окно DataEnvironment

2. Для добавления нового соединения нажмите кнопку Add Connection (Добавить соединение) на панели инструментов окна DataEnvironment. В окне появится новый элемент, который по умолчанию имеет наименование Connection 1.

3. Выберите для данного элемента команду контекстного меню Properties (Свойства). Открывается диалоговое окно Свойства связи с данными, предназначенное для ввода параметров соединения с сервером.

4. На вкладке Поставщик услуг диалогового окна Свойства связи с данными (рис. 16.10) выберите из предложенного списка тип подключаемых данных.

5. Перейдите на вкладку Подключение и введите имя сервера, имя и пароль пользователя (если в этом есть необходимость), выберите из раскрывающегося списка базу данных на сервере.

6. Чтобы убедиться в правильности задания параметров соединения, нажмите кнопку Проверить подключение. Если подключение выполнено успешно, появится сообщение, что проверка подключения выполнена.

7. Завершив установку параметров, нажмите кнопку ОК для закрытия диалогового окна.

Для просмотра входящих в соединение объектов откройте окно Data View. Для этого в меню View (Вид) выберите команду Data View Window (Окно просмотра данных) или нажмите одноименную кнопку на стандартной панели инструментов Visual Basic.

Рис. 16.10. Диалоговое окно установления соединения с базой данных на сервере.

Таблицы

Вы можете открыть для просмотра любую из таблиц, находящихся в окне Data View. Для этого установите курсор на наименование просматриваемой таблицы, нажмите правую кнопку мыши и выберите из контекстного меню команду Open (Открыть). Для открытия таблицы можно также дважды щелкнуть мышью на ее наименовании.

При открытии таблицы, находящейся на SQL Server, в режиме конструктора появляется структура таблицы. Столбцы этой таблицы отображают свойства полей открытой в конструкторе таблицы. Их назначение описано в табл. 16.3. Для открытия таблицы в конструкторе установите курсор на наименование просматриваемой таблицы, нажмите правую кнопку мыши и выберите из контекстного меню команду Design (Конструктор).

Таблица 16.3. Свойства полей таблицы, находящейся в базе данных СУБД SQL Server

Свойство

Описание

Column Name

Имя поля таблицы

Datatype

Тип данных поля таблицы

Length

Максимальный размер поля

Precision

Максимальное число десятичных знаков в числовом поле

Scale

Максимальное количество десятичных знаков после разделителя

Allow Nulls

Указывает, допустимо ли для данного поля значение NULL

Default Value

Значение, вводимое в поле по умолчанию

Identity

Если в данном поле установлен флажок, то при добавлении в таблицу нового значения в поле автоматически добавляется уникальное значение

Identity Seed

Значение, присваиваемое первой записи таблицы. Если свойство не содержит никаких значений, то по умолчанию присваивается 1

Identity Increment

Шаг, с которым изменяется значение в данном поле


 

Схема базы данных

Visual Basic позволяет в окне Data View просматривать и модифицировать схему базы данных, размещенной на сервере.

Чтобы открыть схему базы данных, необходимо установить курсор на наименование схемы в папке Database Diagrams, нажать правую кнопку мыши и выбрать в контекстном меню команду Open (Открыть). Можно также дважды щелкнуть мышью на наименовании схемы. Открывается окно Database Diagram (Схема базы данных), содержащее таблицы, входящие в схему, и установленные между ними связи.

Замечание

Схем базы данных в окне Data View для данного соединения может быть несколько. В схеме данных таблицы объединяются в логические группы. В этом случае легче ориентироваться в структуре, чем при просмотре одной схемы данных, содержащей огромное количество таблиц.

Используя схему базы данных, можно создавать новые таблицы, изменять структуру и свойства существующих таблиц, устанавливать между таблицами связи.

Удобство работы со схемой базы данных заключается еще и в том, что осуществленные в ее структуре изменения сохраняются лишь при сохранении схемы, то есть, когда вы уверены, что все изменения выполнены верно.

Для создания новой схемы базы данных из окна Data View установите курсор на папку Database Diagrams, нажмите правую кнопку мыши и выберите из контекстного меню команду New Diagram (Новая схема). Откроется пустое окно схемы базы данных. Используя механизм перенести-и-оставить, перенесите в окно New Database Diagram (Новая схема базы данных) из окна Data View необходимые таблицы из базы данных, размещенной на сервере.

Для удобства работы вы можете перемещать таблицы на схеме, изменять масштаб отображения схемы, используя для этого команды контекстного меню.

Создание новой таблицы

Для создания новой таблицы в окне схемы базы данных выполните следующие действия:

1. Установите курсор в окно схемы данных, нажмите правую кнопку мыши и выберите в контекстном меню команду New Table (Новая таблица).

2. В открывшемся диалоговом окне Choose Name введите имя таблицы и нажмите кнопку ОК. Появляется пустая таблица со свойствами полей таблицы.

3. Введите поля таблицы и определите их свойства.

4. Определите первичный ключ таблицы. Для этого выделите поле, которое вы хотите использовать в качестве первичного ключа, и выберите в контекстном меню команду Set Primary Key.

5. После того как все поля и первичный ключ таблицы определены, выберите команду контекстного меню Column Names (Имена столбцов). Таблица примет вид, отображающий только наименования полей.

Замечание

Новые и измененные таблицы схемы базы данных помечаются звездочкой, помещаемой в заголовок таблицы.

Добавление таблицы в схему

Для добавления таблицы в схему базы данных служит диалоговое окно Data View.

Чтобы перенести таблицы в схему базы данных, в диалоговом окне Data View откройте папку Tables (Таблицы) и, используя механизм перенести-и-оставить, переместите поочередно в окно схемы требуемые таблицы. При этом сразу отображаются связи, установленные между таблицами.

Установление связей между таблицами

Для установления связей между таблицами в схеме базы данных используется механизм перенести-и-оставить:

1. Расположите связываемые таблицы в окне схемы так, чтобы они обе были видны, и вам было удобно с ними работать.

2. Установите курсор на область выделения слева от наименования поля, по которому будет осуществляться связь.

3. Нажмите и, удерживая в нажатом состоянии левую кнопку мыши, переместите появившийся под курсором значок на связываемое поле второй таблицы.

4. Открывается диалоговое окно Create Relationship, указывающее, с использованием каких полей осуществлено связывание таблиц. Если связь установлена верно, нажмите кнопку ОК.

Между связанными таблицами в схеме базы данных появляется линия. На одном ее конце изображен ключ. Это говорит о том, что данная таблица связывалась по первичному ключу. На втором конце линии также может находиться ключ, если связанные таблицы имеют отношение один-к-одному, или знак бесконечности, если таблицы имеют отношение один-ко-многим.

Удаление таблиц

Для удаления таблицы из схемы базы данных необходимо ее выделить и выбрать из контекстного меню команду Remove Table from Diagram (Удалить таблицу из схемы). При этом таблица удаляется из схемы, но не удаляется из базы данных. Если вы хотите удалить таблицу и из базы данных, то в этом случае вам необходимо воспользоваться командой Delete Table from Database (Удалить таблицу из базы данных).

Представление данных

В базах данных широко используются представления данных. Они создаются аналогично запросу и содержат выборку данных из таблиц базы данных. После создания представления данных вы можете открывать и просматривать данные из него как из обычной таблицы, использовать в формах и отчетах. Вы можете даже создавать вложенные представления данных, используя при создании нового представления созданные ранее.

Представления являются чрезвычайно удобным и полезным средством доступа к базе данных. При создании базовых таблиц главное внимание необходимо уделять нормализации данных. Поэтому просмотр и редактирование базовых таблиц может вызывать определенные трудности. Представления позволяют вам объединять данные таблиц и отображать их в более удобном виде. Вы можете выбрать только интересующие вас поля таблиц, объединить несколько полей в одно поле, вычислить итоговые значения, задать новые имена полей таблицы.

Для базы данных, размещенной на сервере, с которой установлено соединение, из программы Visual Basic можно создавать представления данных с помощью конструктора представлений. Для создания нового представления в окне Data View (Просмотр данных) установите курсор на папку Views (Представления), нажмите правую кнопку мыши и выберите из контекстного меню команду New View (Новое представление).

Открывается пустое окно конструктора представлений. Оно содержит четыре панели. На верхней панели окна размещаются таблицы или представления, являющиеся источником данных для создаваемого представления. Ниже панели таблиц располагается бланк, используемый для формирования запроса. Под бланком запроса в окне представления находится область, отображающая текст инструкции SQL. Затем располагается панель, отображающая результаты запроса.

Замечание

Отображением панелей в окне представления управляет команда Show Panes (Отображать панели) меню View (Вид), содержащая в свою очередь меню с наименованием панелей. Если панель отображается в конструкторе, то в меню рядом с ее названием стоит галочка. Чтобы удалить панель из конструктора представлений, необходимо выбрать команду с ее названием. Помимо этого, для удаления панели можно установить на нее курсор, нажать правую кнопку мыши и выбрать в контекстном меню команду Hide Pane (Скрыть панель).

Для добавления в окно конструктора таблиц или представлений, используемых при создании нового представления, необходимо в окне Data View открыть папку Tables (Таблицы) или Views (Представления), а затем, используя механизм перенести-и-оставить, переместить поочередно в конструктор требуемые таблицы. При переносе в окно конструктора таблиц сразу отображаются связи, установленные между ними.

Для выбора полей, отображаемых в представлении, необходимо установить флажки с левой стороны полей исходных таблиц. При этом выбранные поля появляются в бланке, и одновременно формируется инструкция SQL на одноименной панели.

Типы объединения таблиц в представлении

По умолчанию в окне конструктора представлений используется внутреннее объединение таблиц, при котором из обеих таблиц выбираются только те записи, у которых совпадают значения связанных полей. Можно также создавать внешние объединения, тогда из одной таблицы выбираются все записи, а из другой — только связанные.

Для выбора типа объединения таблиц необходимо установить курсор на ромб, находящийся в центре линии, обозначающей связь, нажать правую кнопку мыши и выбрать в контекстном меню одну из команд, обозначающую тип связи: Select All Rows from <имя таблицы 1> или Select All Rows from <имя таблицы 2>. Помимо этого, для установления типа связи можно воспользоваться диалоговым окном Properties, которое открывается при выборе команды Свойства контекстного меню.

В центре диалогового окна расположен раскрывающийся список, содержащий операторы сравнения, позволяющие связывать записи в таблицах. Флажки области Include rows позволяют задать тип внешнего соединения:

назад | содержание | вперед

Hosting uCoz