Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции ОТИ - копия.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
8.91 Mб
Скачать

Занятие №36

СУБД SQL Server. Безопасность БД. Роли, используемые для доступа к базе данных и серверу БД.

Создание базы данных в СУБД SQL Server.

Процесс создания базы данных в системе SQL Server состоит из двух этапов: создание собственно базы данных и её журнала транзакций. Данная информация размещается в соответствующих файлах, имеющих расширения *.mdf для базы данных, и *.ldf-для журнала транзакций. В файле базы данных записывается информация об основных её объектах – таблицах, индексах и т.д., а в файл журнала транзакций информация о процессе работы с транзакциями (контроль целостности данных, состояние базы данных до и посде транзакции).

Создание базы данных в системе SQL-Server может осуществляться следующими способами:

  • С помощью команды CREATE DATABASES;

  • С помощью утилиты SQL Server Enterprise Manager.

Для создания базы данных с помощью SQL Server Enterprise Manager на первом этапе необходимо выполнить некоторые настройки самой утилиты. Для этого, после её запуска, выберите в левом списке объектов группу SQL Server Group, в которой щёлкните на имени требуемого SQL-сервера. После этого, воспользовавшись командой Edit SQL Server Registration properties меню Action (Действие), установите соответствующие настройки подключения утилиты к данному SQL-серверу.

Server – с помощью этого выпадающего списка определяется база данных, для которой производятся настройки;

Use Windows NT authentication – при подключении утилиты к SQL-серверу в качестве имени и пароля пользователя передаются имя и пароль учётной записи пользователя в системе Windows NT;

Use SQL Server authentication – настройка имени и пароля пользователя SQL-сервера. При этом в поля Login Name и Password cледует ввести соответственно имя и пароль зарегистрированного пользователя SQL-сервера. Для повышения безопасности или в случае, когда компьютером, на который установлен SQL-сервер, пользуются несколько человек, можно установить опцию Always prompt for login and password, что позволит каждый раз при попытке подключения к SQL-серверу утилиты SQL Server Enterprise Manager запрашивать имя и пароль пользователя.

После того, как вы разобрались в особенностях подключения утилиты к SQL-серверу, следующим шагом будет выбор группы Databases в списке используемого SQL-сервера. Результатом этого действия будет отображение в правой части диалогового окна утилиты всех имеющихся баз данных на используемом сервере. Выбор команды New Database позволяет создать новую базу данных в используемом сервере. После этого введите параметры создаваемой базы данных. После корректного завершения добавления базы данных соответствующая пиктограмма появится в группе Databases.

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

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

Таблица 36.1. Краткое описание ролей, используемых для доступа к базе данных.

Роль

Описание

db_owner

Полный доступ к базе данных

db_accessadmin

Возможность добавления и удаления пользователей

db_securityadmin

Возможность управления всеми процессами доступа пользователей

db_ddladmin

Выполнение всех команд DDL (Data definition language – язык определений), кроме GRANT, REVOKE или DENY

db_backupoperator

Выполнение команд резервного копирования базы данных

db_datareader

Возможность чтения всех данных из любых таблиц базы данных

db_datawriter

Возможность изменения всех данных из любых таблиц базы данных

db_denydatareader

Возможность ограничения доступа к объектам базы данных с использованием оператора SELECT

db_denydatawriter

Возможность ограничения доступа к объектам базы данных с использованием оператора INSERT, UPDATE и DELETE

public

Пользователи без представления специальных ролей обладают ролью доступа public

Таблица 36.2. Краткое описание ролей, используемых для доступа к серверу баз данных.

Роль

Описание

sysadmin

Выполнение любых функций SQL-сервера

serveradmin

Настройка конфигурации и выполнение функций закрытия SQL-сервера

setupadmin

Управление связями между серверами и их процедурами запуска

securityadmin

Управление доступом, возможность создания баз данных, доступ к log-файлу ошибок

processadmin

Управление процессами, выполняющимися в SQL-сервере

dbcreator

Управление созданием и удалением баз данных

diskadmin

Управление файлами на диске SQL-сервера

Для просмотра пользователей, имеющих доступ к созданной базе данных, имеется группа Users в списке объектов текущей базы данных. Единственным пользователем вновь созданной базы данных является dbo (Database Owner – владелец базы данных). Для просмотра установленных ему ролей необходимо воспользоваться следующими действиями:

  • Выберите группу Users;

  • Щёлкните мышью на имени пользователя dbo;

  • Из меню Action выберите команду Properties.

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

При создании базы данных SQL Server предлагает пользователю заполнить не все её свойства. Для просмотра полного перечня свойств созданной базы данных следует выбрать её в списке объектов, после чего в контекстном меню просмотреть её свойства.

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

Создание таблиц в системе SQL Server можно осуществить с помощью команды SQL CREATE TABLE, подключившись к серверк базы данных с помощью утилиты SQL Server Query Analyser или воспользовавшись приложением SQL Server Enterprise Manager. Используя второй способ, нужно выбрать в списке объектов базы данных группу Tables, после чего в правой части утилиты SQL Server Enterprise Manager будет отображён список всех её таблиц, в том числе и системных. Щёлкнув правой кнопкой мыши по имени таблицы sysfiles, в контекстном меню нужно выбрать New Table. Утилита отобразит на экране окно дизайнера таблиц. В колонку Column Name необходимо будет ввести названия столбцов таблицы, определить типы данных, воспользовавшись колонкой Data Type. Здесь в выпадающем списке отображается перечень всех доступных типов данных, определённых в SQL-сервере.

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

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

Если ввод данных в создаваемое поле требует какого-либо значения, устанавливаемого по умолчанию, то его следует ввести в колонке Default Value окна дизайнера таблицы.

В СУБД имеется поддержка так называемых NULL значений. С помощью SQL-сервера можно определить их использование в таблицах. Другими словами, убрав флажок в колонке Allow Nulls для некоторого поля, можно потребовать ввод значений в это поле. К примеру, для ключевых полей потребуется обязательный ввод значений.

При создании таблицы можно определить так называемое свойство Identity для какого-либо её поля. Это свойство позволяет автоматически увеличивать на указанную величину значение, вводимое в поле, при каждом добавлении новой записи в таблицу.

Другими словами, если возникает необходимость в добавлении к таблице поля, автоматически увеличивающего своё значение (например, поле-счётчик), то для него требуется настроить свойство Identity. Для этого в первую очередь в поле следует убрать флажок Allow Nulls, чтобы избежать неопределённости информации. Следующим шагом будет установка флажка в поле Identity, после чего требуется ввести начальное значение Identity Seed и значение-инкремент Identity Increment (добавляемая сумма).

При необходимости внесения изменений в структуру таблицы после её создания, дизайнер таблиц всегда можно вызвать, воспользовавшись командой Design Table меню Action, предварительно выбрав таблицу в списке.

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

  • Выбрать требуемую таблицу в списке;

  • Выполнить команду Open Table | Return all rows меню Action;

  • Если в таблице находится слишком много записей, то можно ограничить выбор, воспользовавшись командой Open Table | Return Top меню Action. В этом случае на экран будет выведено диалоговое окно, в котором необходимо будет ввести номер записи, с которой требуется осуществлять просмотр и редактирование данных.

Результатом выполнения этих действий будет открытие редактора таблицы утилиты SQL Server Enterprise Manager. При установке курсора в поле новой записи она будет автоматически добавлена. Система автоматически проверяет ввод информации на соответствие типу данных полей.

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

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

  • Создать индекс с помощью SQL-команды CREATE INDEX;

  • Воспользоваться возможностями утилиты SQL Server Enterprise Manager.

Создание схемы данных

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

В списке объектов базы данных выберите Diagrams, после чего выполните команду New Database Diagram меню Action. Данное действие приведёт к запуску мастера разработки диаграмм. На первом шаге работы мастера будет предложено диалоговое окно, представляющее информацию о действиях, которые совершит данный мастер. Следующим шагом будет определение перечня таблиц, которые будут использоваться в диаграмме. С помощью кнопок Add и Remove осуществляется выбор тех таблиц, которые будут участвовать в диаграмме. Если в базе данных уже имеются связанные между собой таблицы, то выбор опции Add related tables automatically позволит автоматически добавить все связанные с выбранной таблицей объекты. На следующем шаге работы мастера выберите Готово.

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

Создание базы данных в СУБД SQL Server.

Создадим новую базу данных EDUCATION, содержащую информацию об успеваемости студентов и содержащую следующие таблицы: STUDENTS, PREDMET, TEACHERS, USP.

Рис. 36.1 Структура и информация таблицы TEACHERS базы данных EDUCATION

Рис. 36.2 Структура и информация таблицы STUDENTS базы данных EDUCATION

Рис. 36.3 Структура и информация таблицы PREDMET базы данных EDUCATION

Рис. 36.4 Структура и информация таблицы USP базы данных EDUCATION

Создайте связи между таблицами в соответствии со следующей схемой, изображённой на рис. 36.5.

Рис.36.5. Графическое представление связей между таблицами базы данных EDUCATION

Использование Visual C++ для доступа к SQL-серверу.

Рассмотрим возможности подключения и обработки информации базы данных SQL-сервера с помощью Visual C++ на примере создания простого диалога перебора записей таблицы TEACHERS. В этом разделе будет описано использование библиотек MFC для работы с базами данных.

С помощью мастера создания приложения AppWizard в Visual C++ можно настроить большинство параметров, в результате чего будет создано приложение, использующее различные классы ODBC из состава библиотеки MFC. Одними из основных классов являются CDatabase, CRecordset и CRecordView.

Рис. 36.6 Диалоговое окно создаваемого примера.

Рис. 36.7. Visual C++ определения типа создаваемого приложения.

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

Итак, в начале работы мастера AppWizard следует выбрать тип приложения MFC AppWizard (exe) в диалоговом окне создания проекта, которое можно отобразить на экране с помощью команды New меню File. В поле Project name данного диалога необходимо ввести имя создаваемого проекта, а в Location определить путь к нему. Следующим шагом мастера будет определение типа создаваемого приложения: однооконный (SDI), многооконный (MDI) или диалог. Выберем в этом случае Single document для создания однооконного приложения.

Следующий шаг работы мастера предлагает определить поддержку базы данных в создаваемом приложении. Здесь следует выбрать опцию Database view without file support, после чего, используя кнопку Data Source, отобразить диалог выбора источника данных. Здесь в списке ODBC следует выбрать созданный нами ранее источник DSN Соединение, после чего нажатие кнопки OK приведёт к запуску процесса соединения с SQL-сервером, о чём будет свидетельствовать диалоговое окно ввода имени и пароля пользователя. В результате проделанных действий будет отображён список таблиц базы данных EDUCATION, в котором нужно будет выбрать TEACHERS.

Рис.36.8. Определение поддержки базы данных в создаваемом приложении.

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

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

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

Для добавления текстовых полей в форму следует выбрать группу объектов ResourceView дизайнера приложений Visual C++, после чего определить в группе объектов Dialog созданную мастером форму. Её название должно иметь следующий вид: IDD_ИмяПриложения_FORM. После выбора макет данной формы отобразится в дизайнере проектов. Здесь, используя панель инструментов, необходимо выбрать элементы Static Text и Edit Box соответственно для создания подписи к текстовым полям и размещения самих полей. Установите в созданных текстовых полях имена: IDC_TNUM_EDIT, IDC_TFAM_EDIT, IDC_TIMA_EDIT и IDC_TOTCH_EDIT для соответствующих полей таблицы TEACHERS.

Рис. 36.9. Visual C++: диалог свойств объекта Edit Box

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

Рис. 36.10. Visual C++: сопоставление текстового поля с реальным полем

таблицы базы данных

Следующим шагом разработки приложения будет сопоставление созданных текстовых полей с реальными данными из полей таблицы TEACHERS. Для этого выберите в меню ClassWizard команду View, что позволит отобразить диалог настройки. Здесь на закладке Member Variables расположены созданные текстовые поля. Выберите необходимое поле, после чего нажмите кнопку Add Variable. Данное действие приведёт к созданию новой переменной, однако наши действия должны сопоставить поля диалога с полями таблицы, поэтому в выпадающем списке Member variable name необходимо выбрать поля таблицы TEACHERS (см. рис. 36.10). Выполните для каждого идентификатора поля сопоставление с реальным полем таблицы, после чего приложение будет готово к тестированию.

Использование мастера AppWizard и классов MFC для работы с базами данных значительно упрощает написание приложений их обработки. Мастер AppWizard может генерировать полностью работоспособные приложения для обработки информации в базах данных SQL-сервера при минимальных усилиях со стороны разработчика.

Занятие №37

Лабораторная работа № 13 «Создание базы данных в СУБД SQL Server. Использование Visual C++ для доступа к SQL-серверу»

Цель: научиться создавать базы данных в СУБД SQL Server, использовать Visual C++ для доступа к SQL-серверу для создания приложения.

Упражнение 1. Создание базы данных в СУБД SQL Server.

Упражнение 2. Использование Visual C++ для доступа к SQL-серверу.

Занятие №38

Использование технологии ADO для доступа к базам данным. Работа с базами данных в среде Visual Basic

В системе Visual Basic в настоящее время получило использование технологии ADO. Объекты данных ActiveX, или ADO – от английского ActiveX Data Objects, представляют собой новейший метод доступа к данным, который приходит на смену технологиям DAO (Data Access Objects) и RDO (Remote Data Objects).

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

В Visual Basic имеется средство для автоматического создания форм с элементами управления, связанными с нужной базой данных. Это мастер создания форм (Data Form Wizard). Так как мастер представляет собой надстройку к среде Visual Basic, он может и не загружаться автоматически при запуске программы. Доступ к нему осуществляется через меню Add-Ins | Add-In Manager. В диалоговом окне с перечнем настроек нужно выделить элемент VB6 Data Form Wizard и установить флажок Loaded/Unloaded. При этом слово Loaded должно появиться в правом столбце списка надстроек (см. рис. 38.1). Этим будет достигнута загрузка мастера форм в текущем сеансе работы.

Для того чтобы мастер загружался каждый раз при запуске Visual Basic, необходимо пометить флажок Load on Startup. После того как мастер форм подключён к среде, в меню Add-Ins появляется дополнительный пункт Data Form Wizard, служащий для его вызова.

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

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

Рис. 38.1. Подключение мастера форм.

Второй шаг служит для указания типа базы данных, для которой создаётся форма. В рассматриваемом примере это Remote (ODBC). На третьем шаге необходимо настроить параметры соединения с SQL-сервером, а также определить базу данных для выбора таблиц (см. рис. 38.2). Здесь в списке DSN указывается один из имеющихся источников данных ODBC, в нашем случае созданный ранее источник Соединение. В поле UID и PWD вводятся имя и пароль пользователя, а в поле Database указывается название подключаемой базы данных.

Рис. 38.2. Выбор профиля настроек на первом шаге мастера форм.

После выбора базы данных, на шаге Form, нужно присвоить форме имя и избрать способ для отображения информации (см. рис. 38.3).

Выбрать необходимо между одним из пяти типов форм:

  • Single Record. Режим просмотра и редактирования записей, когда пользователь оперирует с ними поочерёдно, то есть в форме отображается только одна из них;

  • Grid (Data Sheet). Представление записей в виде таблицы, как, например в Excel;

  • Master/Detail. Вывод в форме одной ведущей записи и всех связанных с ней зависимых записей. Последние представлены в виде таблицы;

  • MS HflexGrid. Таблица, организованная на основе элемента управления Microsoft Hierarchical FlexGrid;

  • MS Chart. Диаграмма, построенная на основе данных из таблицы в базе.

Рис. 38.3. Определение имени и внешнего вида формы.

Выбор типа формы не только очень важен для её внешнего вида. Он должен соответствовать некоторым ограничениям, которые распространяются на каждый тип формы. К примеру, как следует из описания, форма типа Master/Detail должна располагать двумя источниками записей. Один из них будет использоваться для чтения ведущей записи, а второй – зависимых записей.

На шаге Form необходимо также сделать выбор типа привязки. Этой цели служит группа переключателей Binding Type. Мастер форм Visual Basic создаёт формы на основе технологии ADO (ActiveX Data Objects). Исходя из этого, параметр Binding Type может принять одно из трёх значений:

  • ADO Data Control. Включение в создаваемую форму элемента управления данными ADO;

  • ADO Code. Использование только программного кода для доступа к базе данных. Элемент управление данными не создаётся, в отличие от первой опции;

  • Class. Создание программного модуля, в котором реализуются функции доступа к базе данных.

Для примера, иллюстрирующего работу с таблицей TEACHERS, можно выбрать тип формы Grid (Data Sheet), задать название frmMain и поставить тип привязки ADO Code.

Очередной шаг мастера состоит в выборе источника данных для формы. Диалоговое окно, относящееся к этому шагу, показано на рис. 38.4.

Для выбора полей, которые должны быть включены в форму, нужно проделать следующие действия:

  • Выбрать в раскрывающемся списке Record Source одну из таблиц, входящих в состав базы данных. Данные в форму будут поступать из этой таблицы. Когда таблица выбрана, перечень её полей появляется в списке Available Fields;

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

  • при необходимости упорядочить выбранные поля в списке Selected Fields при помощи кнопок с направленными вверх и вниз стрелками, которые находятся справа от списка;

  • выбрать из списка Column to Sort By столбец, по которому нужно произвести сортировку. По умолчанию сортировка не выполняется.

Рис. 38.4. Выбор источника данных для формы.

На рис. 38.4. показано окно с выбранной таблицей TEACHERS. В этой таблице имеются пять полей, из которых четыре: TNUM, TFAM, TIMA и TOTCH будут представлены в форме. Сортировка будет выполняться по табельному номеру преподавателя, т.е. по полю TNUM.

Очередной шаг мастера позволяет сделать настройку внешнего вида формы. Диалоговое окно, которое появляется на этом этапе, определяется типом формы, который был выбран на шаге Form (см. рис. 38.3). В частности, для рассматриваемого примера, это будет окно Control Selection (см. рис. 38.5), позволяющее задать перечень кнопок для управления записями. В таблице 38.1 перечислены кнопки для форм разных типов,однако некоторые из них могут быть и недоступны.

Рис. 38.5. Выбор управляющих кнопок для формы типа Single Record

Таблица 38.1. Назначение кнопок управления записями в форме.

Кнопка

Назначение

Add

Добавление новой записи в таблицу. Поля ввода в форме очищаются.

Edit

Редактирование текущей записи.

Update

Сохранение изменений, внесённых в текущую запись.

Delete

Удаление текущей записи.

Refresh

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

Close

Закрытие формы.

Show Data Control

Отображение элемента управления ADO Data для форм Grid (DataSheet)

Две кнопки в диалоговом окне, Select All и Clear All, позволяют соответственно либо выбрать все управляющие кнопки для включения в форму, либо отказаться от них всех.

После нажатия кнопки Next происходит переход к последнему шагу процедуры мастера. Этот шаг называется Finished. Здесь можно записать в файл на диск все параметры формы, с тем, чтобы в дальнейшем иметь возможность сразу загрузить этот профиль, а не проходить через все шаги мастера.

Рис. 38.6. Выбор формы, которая загружается первой при запуске проекта

Рис. 38.7. Форма типа Data Grid, созданная при помощи мастера.

Нажатие кнопки Finish завершает процесс создания формы. Новая форма добавляется в число форм проекта. Настройку проекта можно изменить таким образом, что при его запуске будет загружаться вновь созданная форма. Для этого в пункте меню Project | Project Properties нужно на вкладке General указать эту форму в качестве объекта, с которого должна начинаться загрузка, то есть Startup Object (см. рис. 38.6).

Итоговый внешний вид формы для редактирования содержимого таблицы TEACHERS из базы данных EDUCATION показан на рис. 38.7.

Создадим теперь форму, которая будет отображать результаты SQL-запроса. Для примера отобразим перечень предметов и преподавателей, которыми они читаются. В этом случае форма будет связываться с источником данных в базе с помощью дизайнера среды данных (Data Environment Designer). Среда данных содержит подключения и запросы, которые используются в приложении. Для активизации дизайнера среды данных нужно выбрать пункт меню Project | More ActiveX Designers… | Data Environment. Для установки связи с базой данных SQL-сервера нужно щёлкнуть правой кнопкой мыши на подключении с именем Connection1 и из раскрывающегося меню выбрать пункт Properties (см. рис. 38.8).

В окне свойств подключения первая вкладка с названием Provider служит для выбора стандарта доступа к базе данных в зависимости от его типа. Для подключения к базе данных SQL-сервера служит вариант Microsoft OLE DB Provider for ODBC Drivers. После этого следует щёлкнуть на кнопке Далее и, перейдя к следующей вкладке, задать имя базы данных и параметры соединения (см. рис. 38.9). Необходимо отметить, что существуют различные версии данной среды, поэтому дальше будет описываться диалоговое окно русскоязычной версии этого дизайнера.

В поле Использовать имя источника выбирается источник данных DSN, в нашем случае созданный ранее Соединение. Здесь необходимо указать имя пользователя и его пароль, а также в выпадающем списке Введите начальный каталог выбрать базу данных EDUCATION. По окончании настройки нужно протестировать соединение, нажав кнопку Проверить подключение. Если соединение установлено, то появится окно с подтверждением и надписью «Проверка подключения выполнена».

Для создания запроса к базе данных следует добавить в среду новую команду, для чего нужно щёлкнуть правой кнопкой мыши на имени соединения Connection1 и из контекстного меню выбрать пункт Add Command. По умолчанию команда получает имя Command1. Для настройки команды на подключение следует открыть окно её свойств, снова сделав щелчок правой кнопкой на имени команды и выбрав пункт Properties из контекстного меню.

Рис. 38.8. Окно среды данных и контекстное меню подключения.

Команда имеет довольно много свойств, но обязательными для корректной работы являются только те, которые расположены на первой вкладке, General (см. рис.38.10).

В окне свойств команде можно присвоить имя. Также необходимо указать имя используемого подключения в списке Connection. В рассматриваемом примере используется единственное существующее подключение Connect1.

Управление базой данных осуществляется с помощью SQL. Для получения необходимых данных из таблиц следует воспользоваться следующей SQL-командой:

SELECT PNAM, PNAME, HOURS, COURS, TFAM, TIMA, TOTCH

FROM PREDMET, TEACHERS

WHERE PREDMET.TNUM=TEACHERS. TNUM

Предварительно в окне свойств необходимо выбрать SQL Statement в качестве источника данных.

Рис. 38.9. Окно среды данных и контекстное меню подключения

Таким образом, к базе данных EDUCATION будет сделан запрос и из таблиц TEACHERS PREDMET будут выбраны поля PNAM, PNAME, HOURS, COURS, TFAM, TIMA, TOTCH. В качестве источника данных можно использовать и всю таблицу целиком. Для этого нужно выбрать в качестве источника данных не SQL Statement, а Database Object, т.е. объект в составе базы данных. Затем указывают в списке Database Object то, что этим объектом является (Table), ив поле Object Name определить название таблицы.

В то же время для составления SQL-оператора не обязательно владеть SQL на высоком уровне. Вместо непосредственной записи оператора в окне свойств можно вызвать SQL Builder нажатием одноимённой кнопки (см. рис. 38.10) и использовать для построения запроса окно DataView и визуальные средства (см. рис. 38.11).

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

Рис. 38.10. Вкладка General окна свойств команды

Теперь, после создания команды, необходимо связать полученные данные с каким-либо объектом формы. В этом случае воспользуемся объектом DataGrid, с помощью которого информация будет размещена в табличном виде. Для добавления этого элемента к объектам формы необходимо воспользоваться кнопкой DataGrid панели инструментов. После его установки на форме необходимо настроить свойства DataSource и DataMember, выбрав соответственно объекты среди данных DataEnvironment и команды Command1. Теперь можно запустить форму.

Рис. 38.11. Использование SQL Builder

Занятие №39

Лабораторная работа №14 «Работа с базами данных в среде Visual Basic”

Цель: ознакомиться с использованием технологии ADO для доступа к базам данным, с мастером Visual Basic для автоматического создания форм Data Form Wizard с элементами управления, связанными с нужной базой данных.

Упражнение 1. Выбор источника данных для формы.

Упражнение 2. Настройку внешнего вида формы.

Упражнение 3. Использование построителя запросов SQL Builder.

Занятие №40

Обзор современных методов защиты информации. Контроль и защита информации в автоматизированных системах.