40579

Работа Access с данными на SQL Server

Лекция

Информатика, кибернетика и программирование

Access предоставляет возможность использовать данные из различных внешних источников. Внешними источниками данных могут служить таблицы других баз данных Access, Microsoft FoxPro, dBASE, Paradox и Microsoft SQL Server, таблицы и списки HTML и НТХ, находящиеся на сервере в локальной, корпоративной или сети Internet, данные из таких приложений, как Excel, Exchange

Русский

2014-11-30

3.6 MB

42 чел.

Занятие 28

Работа Access с SQL Server через ODBC

Access предоставляет возможность использовать данные из различных внешних источников. Внешними источниками данных могут служить таблицы других баз данных Access, Microsoft FoxPro, dBASE, Paradox и Microsoft SQL Server, таблицы и списки HTML и НТХ, находящиеся на сервере в локальной, корпоративной или сети Internet, данные из таких приложений, как Excel, Exchange,

Обзор занятий темы

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

SQL Server — это реляционная система управления базами данных (СУБД), ориентированная прежде всего на хранение данных, обработку запросов и обеспечение безопасности данных. SQL Server может использоваться для разработки и ведения крупных корпоративных баз данных емкостью в сотни гигабайт и единицы терабайт. SQL Server способен обслужить тысячи пользователей, одновременно работающих в многочисленных базах данных на сервере. Все пользователи, которые подключаются к серверу, получают доступ к базам данных в соответствии с определенными правами.

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

Основной режим работы SQL Server — работа на мощных серверах под управлением Windows NT Server. В то же время SQL Server 7.0 можно использовать и для работы под управлением систем Windows NT Workstation и Windows 95/98.SQL Server, поддерживая архитектуру клиент-сервер, является сервером баз данных. Программное обеспечение архитектуры клиент-сервер состоит из программного обеспечения сервера и программного обеспечения пользователя-клиента. Программа-клиент выполняется на компьютере пользователя и посылает запросы на получение необходимых данных или их изменение к программ-серверу, работающей на компьютере, к которому клиентам предоставлен доступ. Обработка запроса производится мощным сервером, а на компьютер пользователя возвращаются только результаты его выполнения. В качестве клиентов сервера баз данных могут использоваться различные СУБД. Access также может работать как клиент SQL Server. Таким образом, архитектура клиент-сервер обеспечивает:

□ одновременную работу многих пользователей с общими базами данных;

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

□ высокую производительность при обработке запросов;

□ надежность и защищенность данных базы от несанкционированного доступа.

Схема взаимодействия клиентских приложений Access с SQL Server баз данных приведена на рис. 12.1.

Рис. 12.1. Схема взаимодействия приложений клиентов с SQL-сервером

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

Универсальным языком запросов к SQL Server различных приложений (в том числе Access) является язык структурированных запросов — SQL.

Для взаимосвязи клиентов с сервером разрабатывается специальное программное обеспечение — интерфейсы. Широко используемыми интерфейсами являются ODBC и OLE DB.

В СУБД Access язык SQL является основным средством доступа к данным базы. Он используется для выборки, обновления, удаления данных. Любой запрос в Access реализуется с помощью языка SQL. Запросы, разработанные с помощью графического средства QBEзапрос по образцу, также генерируются и хранятся в виде инструкции SQL. Язык SQL является языком реляционных баз данных и наиболее распространенным языком управления базами данных в системах архитектуры клиент-сервер. При взаимодействии приложений Access с SQL Server также используется этот язык.

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

В последней версии SQL Server 7.0 применяется диалект, называемый Trans-act-SQL, который базируется на стандартном для реляционных баз данных SQL-92 и очень близок к нему.

Группой производителей СУБД (SQL Access Group) разработан стандартный интерфейс языка, учитывающий особенности основных вариантов SQL. Этот интерфейс формализован корпорацией Microsoft и назван ODBC (Open Database Connectivity — Открытый доступ к данным). Программные продув ты Microsoft могут получать через этот интерфейс доступ к различным базам данных, использующим SQL.

Access также может использовать интерфейс ODBC для доступа к данным различных внешних источников, в том числе баз данных SQL Server.

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

Чтобы из приложения Access получить доступ к базам данных SQL, необходимо установить соответствующий драйвер ODBC. Некоторые драйверы ODBC поставляются вместе с Access (в том числе драйвер Microsoft SQL Server). Они могут быть установлены уже при инсталляции Access. Схема взаимодействия приложения Access с различными базами данных SQL представлена на рис. 12.2.

Рис. 12.2. Схема взаимодействия Access с внешними базами данных

Для работы в базе данных Access с внешними данными на SQL Server необходимо подключиться к их источнику через интерфейс ODBC.

После подключения к базе данных SQL Server через ODBC в приложении Access для использования данных из базы могут быть применены перечисленные ниже способы:

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

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

Импорт объектов баз данных SQL Server в текущую базу данных Access. При импорте объектов создаются их копии. Исходный объект источника при этом не изменяется.

В Access внешние данные можно использовать при создании запросов, форм, отчетов и при этом можно объединить внешние данные с данными из локальных объектов Access.

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

Упражнение 28.1. Определение внешних источников данных в ODBC

Чтобы получить доступ к базе данных SQL Server, необходимо определить источник данных. Источник данных ODBC -- это термин, используемый для ссылки на внешнюю базу данных. Для каждой базы данных сервера, с которой работает Access, должен быть создан источник данных. К источникам данных обращаются по именам. Создать источники данных позволяет программа-администратор ODBC. Каждый драйвер ODBC предъявляет собственные требования к созданию и настройке источников данных.

Администратор ODBC позволяет настраивать и использовать три типа источников данных, перечисленных ниже.

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

Системный источник данных System DSN. Он предназначен для всех пользователей и системных служб на данном компьютере.

Файловый источник данных File DSN. Этот источник может быть предназначен для получения доступа к базе данных многими пользователями разных компьютеров сети, на которых установлены одинаковые драйверы. При определении этого источника данных (в отличие от других) указывается файл, в котором сохраняется описание источника. Файл имеет расширение .dsn. Этот файл должен быть доступен для всех компьютеров сети.

□  Рассмотрим создание пользовательского источника данных — пользовательского        DSN (User DSN), Процедура создания источников данных других типов аналогична.

  1.  Для того чтобы посмотреть, установлен ли драйвер SQL Server на вашем компьютере, выберите Источники данных ODBC (32 разряда) (ODBC Data Sources (32bit)) в списке программ панели управления. В открывшемся окне Администратор источников данных ODBC (ODBC Data Source Administrator) на вкладке Драйверы (Drivers) будут представлены все драйверы ODBC, установленные в системе.

2.  Убедившись, что на вашем компьютере установлен драйвер SQL Server, выберите в диалоговом окне Администратор источников данных ODBC (ODBC Data Source Administrator) вкладку Пользовательский DSN (User DSN) (рис. 12.3). Первоначально в нем нет источников данных для SQL Serve га.

Рис. 12.3. Окно Администратора ODBC при определении пользовательского источника данных

3. Для создания нового источника данных нажмите кнопку Добавить (Add), в окне Создание нового источника данных (Create New Data Source) (рис. 12.4) выберите драйвер SQL Server, для которого создается источник, и нажмите кнопку Готово (Finish).

Рис. 12.4. Выбор драйвера, для которого создается источник данных

Рис. 12.5. Окно создания нового источника данных для SQL-сервера

4. В окне мастера:

введите в поле Имя (Name) имя  Teach источника данных, которое
будет использоваться при определении источника данных во время
подключения приложения к базе данных сервера;

в поле Описание (Description) ведите комментарий Источник для работы с БД "Учебный процесс", который поможет определить назначение базы данных, используемой в качестве источника данных;.

в раскрывающемся списке Сервер (Server) выберите сервер Server_1, с
которым нужно соединиться для получения доступа к базе данных.

5. В следующем диалоговом окне выберите способ проверки прав доступа
пользователя к
SQL Server при подключении к нему (рис. 12.6). К SQL
Server можно подключаться, используя два режима регистрации:

• по доверительному соединению, при котором пользователь, успешно
зарегистрировавшийся в сети
Windows NT и представленный в списках пользователей сервера, не проверяется дополнительно (этот режим задается  при выборе переключателя проверка подлинности учетной
записи   
Windows NT (With Windows NT authentication using the network
login   ID);  в дальнейшем  производится только  проверка  на  право
выполнения тех или иных работ с объектами баз данных);

Рис. 12.6. Окно доя выбора способа идентификации пользователя при подключении к серверу

передаваемых непосредственно серверу (этот режим задается при выборе переключателя проверка с помощью имени и пароля (With SQL Server authentication using a login ID and password entered by the user); результаты проверки, выполненной Windows NT, не учитываются; пользователь должен быть известен серверу под этим именем).

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

7. Протестируйте новый источник данных, нажав кнопку Проверить источник данных (Test Data Source).

8. Выполнив рассмотренные шаги для создания источника данных и возвратившись в окно Администратор источников данных ODBC  (ODBC  Data
Source Administrator), на вкладке Пользовательский    DSN (User DSN) в
списке вы увидите строку с именем нового источника данных .

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

9. Для просмотра или изменения параметров источника данных выберите его имя в списке Источники данных пользователя (User Data Sources)  и нажмите кнопку Настройка (Configure). Выполните необходимые действия для изменения источника в диалоговых окнах.

  1.  Для удаления источника данных выберите его имя в списке Источники
    данных пользователя  
    (User Data Sources)  и  нажмите кнопку Удалить
    (Remove).

11.Для получения дополнительных сведений о каждом параметре создаваемого или модифицируемого источника данных в каждом диалоговом
окне администратора
ODBC пользуйтесь кнопкой Справка.

Упражнение 28.2. Запросы на языке SQL к базам данных SQL Server

Рассмотрим первый способ использования данных из базы SQL Server. Запросы к базе данных SQL Server записываются непосредственно на языке SQL и для выполнения передаются на сервер. В этих запросах используются таблицы, сохраняемые в базе данных на сервере, которые не представлены в окне базы данных Access. Нет возможности использовать таблицы сервера при создании запроса средствами QBE, так как нельзя добавить их в схему данных запроса. Запрос должен быть записан на языке SQL Server (для Microsoft SQL Server-- Transact    SQL), которому будет посылаться запрос. Запрос передается на сервер через интерфейс ODBC.

Создание запроса на выборку

Предположим, что база данных Учебный процесс размещена на сервере. Приложение пользователя размещено на компьютере некоторой кафедры и содержит в своей базе данные, относящиеся к этой кафедре. Создадим запрос к SQL Server для получения данных о заведующих кафедрами, которые хранятся в таблице КАФЕДРА. Будем иметь ввиду, что основные данные о заведующем хранятся, как и данные о других преподавателях кафедры, в таблице ПРЕПОДАВАТЕЛЬ. Указанные таблицы связаны отношением один-ко-многим по полю ККАФ.

  1.  Начните процесс создания запроса на языке SQL так же, как создавали
    запрос
    QBE в режиме конструктора, т. е. выберите в окне базы данных
    вкладку
    Запросы (Queries), нажмите кнопку Создать (New) и затем выберите в списке режимов диалогового окна Новый запрос (New Query)
    строку
    Конструктор (Design View).
  2.  Закройте диалоговое окно Добавление таблицы (Show Table) не выбирая
    таблиц.
  3.  Выберите в меню Запрос (Query) команду Запрос SQL (SQL Specific) и
    команду
    К серверу (Pass Through).
  4.  В   открывшемся   окне   запроса   к  серверу   введите   инструкцию   SQL, которая позволит получить все данные о заведующих кафедрами.
  5.  Для выполнения запроса SQL нажмите на панели конструктора запросов кнопку Запуск (Run). В результате выведется окно администратора ODBC Выбор источника данных (Select Data Source).
  6.   Выберите на вкладке Источник данных компьютера (Machine Data Source) ранее созданный пользовательский источник данных Teach, содержащий сведения о сервере и базе данных, к которой делается запрос. Используя сведения из выбранного источника данных, администратор запрашивает у пользователя пароль и выполняет подключение к базе данных.

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

7. Сохраните запрос.

8. Чтобы не выбирать источник данных при каждом выполнении запроса, сохраните сведения о нем в свойстве Строка подключения ODBC (ODBCConnectStr) запроса. Для этого откройте в режиме SQL окно свойств запроса, нажав на панели инструментов кнопку Свойства (Properties). В окне свойств запроса в строке подключения ODBC введите имя источника данных ODBC;DSN=Teach;. При сохранении запроса строка подключения сохранится вместе с ним. Теперь при выполнении запроса для подключения достаточно ввести пароль.

9. Если необходимо подключиться к базе данных сервера, для которой не определен источник данных, задайте в строке необходимые параметры, имя драйвера, имя сервера, идентификатор пользователя, пароль, имя базы данных, например:

ODBC;DRIVER=SQL Server;SERVER=(Server_1); UID=BBEK; DATABASЕ=Учебный процесс.

Создание запросов действия

Пусть преподаватель Петрова изменила фамилию на Краснова. Создайте запрос на обновление данных в таблице ПРЕПОДАВАТЕЛЬ. В записи, в поле ФИО которой имеется значение 'Петрова И. И' введите в поле ФИО значение 'Краснова И. И1.

1.  В открывшемся окне запроса к серверу введите инструкцию SQL .

2. Используйте для ввода данных об источнике построитель строк подключения ODBC, который вызывается в свойствах запроса в Строке подключения ODBC (ODBCConnectStr). Построитель выводит окно администратора ODBC Выбор источника данных (Select Data Source).

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

4. После утвердительного ответа на вопрос о сохранении пароля построи
тель введет в строку следующую запись:

ODBC;DSN=Teach; Description=источник для работы с БД Учебный процесс;

SERVER=(Server_1);UID=BБEK;PWD=НВП12213; DATABASE-Учебный 

процесс, LANGUAGE=русский.

Построитель устанавливает связь с нужным сервером базы данных SQL и прерывает связь после создания строки подключения ODBC.

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

Если в свойстве Строка подключения ODBC (ODBCConnectStr) не указан пароль пользователя, который известен серверу, то при выполнении запроса отображается диалоговое окно регистрации на SQL Server .

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

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

1. Запрос на обновление данных в таблице СТУДЕНТ,  в котором полю
ФИО  записи  с  ключом   НГ='101
 и   НС='01   присваивается  значение
'Сергеев М. С.':

UPDATE СТУДЕНТ

SET ФИО='Сергеев И.С.'

WHERE  НГ='101'   AND HC='01'

2. Запрос на добавление записи в таблицу КАФЕДРА, в котором добавляется запись со значениями полей, указанными в третьей строке запроса:

INSERT INTO КАФЕДРА (ККАФ, НКАФ, ТЕЛ, ЗАВ) 'VALUES ('13','Управление','110-56-78',' Егоров')

3. Запрос на создание в базе данных сервера новой таблицы   ТаЫе2 с текстовыми полями Name_Pl и Name_P2:

CREATE TABLE   [ВВЕК].[  Table2]    ([Name_Pl]    [char]    (3), [Name_P2]    [char]    (2));

Упражнение 28.3. Связь с таблицами баз данных SQL Server

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

Создание связи с таблицами сервера. Пусть в создаваемом приложении необходимо использовать данные из таблиц КАФЕДРА, ПРЕПОДАВАТЕЛЬ, УСПЕВАЕМОСТЬ базы данных Учебный процесс, размещенной на сервере. Воспользуйтесь механизмом связывания таблиц для доступа к этим таблицам сервера.

  1.  Для создания связи с внешними таблицами выполните команду Файл |
    Внешние данные | Связь с таблицами
    (File | Get External Data    Link Tables).
  2.  Для создания связи с таблицами из внешней базы данных ODBC, какой
    является Учебный процесс, размещенный на
    SQL Server, в открывшемся
    окне  
    Связь (Link)  выберите  в  списке  Тип файлов строку
    ODBC Databases ().

3. В следующем окне Выбор источника данных (Select Data Source) выберите источник данных ODBC Teach, обеспечивающий подключение к нужному серверу и базе данных. В окне регистрации пользователя на сервере введите пароль.

4.   Получив доступ к базе данных сервера, в окне Связь с таблицами выберите таблицы    ВБЕК.КАФЕДРА, ВБЕК.ПРЕПОДАВАТЕЛЬ, ВБЕК.УСПЕВАЕМОСТЬ, которые будут использоваться на вашем компьютере как связанные.

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

6. После выбора таблиц и выполнения процедуры связывания выбранные таблицы сервера будут отображены в списке таблиц окна базы данных Access .

Связанные таблицы могут (как и локальные) отображаться в режиме таблицы и в режиме конструктора. Однако нельзя модифицировать структуру связанной таблицы.

7.

Включите связанные таблицы ВБЕК.КАФЕДРА, ВБЕК.ПРЕПОДАВАТЕ1Ь, ВБЕК.УСПЕВАЕМОСТЬ в схему БД и установите между ними связи, а также установите связь таблицы ВБЕК.КАФЕДРА с локальной таблицей ПРЕПОДАВАТЕЛЬ .

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

8.Откройте таблицу ВБЕК.КАФЕДРА в режиме таблицы. Для записи главной связанной таблицы так же, как и для локальных таблиц могут отображаться записи подчиненной таблицы ВБЕК.ПРЕПОДАВАТЕЛЬ.

  По умолчанию в свойствах связанной таблицы, открываемых в режиме конструктора, строка Имя подтаблицы имеет значение [Авто]. 

9. Для разрыва связи с таблицей на сервере удалите ее, как удаляют любую другую таблицу локальной базы данных, воспользовавшись командой Правка | Удалить (Edit | Delete) в окне базы данных. При этом таблица, находящаяся на сервере, не будет удалена.

  1.  Закройте базу данных и откройте ее вновь. Убедитесь, что все связанные
    таблицы сохранились в БД и отображаются в окне базы данных. Повторно проводить процедуру включения связанных таблиц не требуется.
    Очевидно, что работу со связанными таблицами можно выполнять только тогда, когда сервер доступен.
  2.  Откройте связанную таблицу в режиме конструктора.  Просмотрите в
    общих свойствах в строке
    Описание сохраненные сведения об источнике
    данных для связанной таблицы. Для связанной таблицы ВБЕК.ПРЕПОДАВАТЕЛЬ свойство имеет следующее значение:

ODBC;DSN=Teach;Description=источник для работы с БД Учебный процесс; SERVER-(Server_l);UID=BEEK; TABLE=3BEK.ПРЕПОДАВАТЕЛЬ.

12. Чтобы просмотреть список всех связанных таблиц и параметры их источников данных, выполните команду Сервис | Служебные программы |
Диспетчер связанных таблиц
(Tools | Database Utilites | Linked Tables Manager).   В   окне  Диспетчер   связанных   таблиц   (Linked   Tables   Manager)
отображены связанные таблицы текущей базы данных:

первые три являются таблицами SQL Sewer, для каждой из них указаны параметры связи с источником данных через ODBC;

следующие таблицы  —  это таблицы других  внешних  источников
(Лист! и СВ_ГРУППА — таблицы
Excel, tabl -- таблица другой базы
данных
Access); при них указано местоположение таблиц-источников
на локальном диске.

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

Упражнение 28.4. Использование связанных таблиц в запросах

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

1. Создайте и выполните запрос на выборку данных из локальных таблиц и связанных таблиц SQL Server, использующий данные о преподавателях кафедр, которые хранятся в общей БД на сервере в таблицах ВБЕК_ КАФЕДРА и ВБЕК_ПРЕПОДАВАТЕЛЪ, а также данные о занятиях, проведенных преподавателями в текущем семестре, которые накапливаются в локальной БД Access в таблице ИЗУЧЕНИЕ

  1.  Добавим записи из локальной таблицы в связанную таблицу базы данных
    SQL Server. Пусть в локальной базе данных кафедры имеется таблица, в
    которую вносятся сведения о сдаче экзаменов студентами преподавателям кафедры (таблица УСПЕВАЕМОСТЬ). В общей базе данных на
    SQL
    Sewer имеется аналогичная таблица, в которой собираются сведения со
    всех кафедр. В локальной базе данных установлена связь с этой таблицей сервера и в окне базы данных
    Access она называется ВБЕК_УСПЕВАЕМОСТЬ.
  2.  Создайте в режиме конструктора запрос на добавление. Напомним, что
    запрос на добавление создается как запрос на выборку, который формирует записи, необходимые для добавления. Далее запрос преобразуется в
    запрос
    Добавление (Append Query), при этом в диалоговом
    окне выбирается таблица, в которую нужно добавить записи.
    В запросе на добавление для создания записей использована локальная
    таблица УСПЕВАЕМОСТЬ, а в качестве обновляемой выбрана связанная
    таблица ВБЕК_УСПЕВАЕМОСТЬ. В результате выполнения запроса таблица на сервере будет дополнена записями из локальной таблицы.

Упражнение 28.5. Импорт объектов из базы данных SQL Server в Access

Запросы на языке SQL к серверу и работа со связанными таблицами сервера возможна только при установленной связи с сервером. При импорте объекты сервера копируются в базу данных Access и сохраняются в ней как собственные. Связь с сервером необходима только во время выполнения операции импорта. При использовании импортированных объектов связь с сервером не нужна. Импортируйте таблицу Table2, ранее созданную на сервере в базе данных Учебный процесс, в локальную базу данных.

  1.  Для импорта данных из базы данных сервера выполните команду Файл |
    Внешние данные | Импорт
    (File | Get External Data | Import). В окне Им
    порт
    (Import) выберите тип файла ODBC Databases ().
  2.  В  открывшемся   окне   Выбор   источника  данных   (Select   Data   Source)
    выберите   на   вкладке   
    Источник   данных   компьютера
    (Machine Data Source) уже созданный пользовательский источник данных
    Teach, содержащий сведения о сервере и внешней базе данных, из которой необходимо импортировать таблицу.
  3.  В окне Вход в сервер SQL  введите пароль, необходимый
    для регистрации на сервере.
  4.  В  окне  Импорт  объектов   (Import  Objects)   выберите   таблицу  ТаЫе2
    (можно выбрать любое количество нужных объектов). После завершения процедуры полученная таблица отобразится в базе данных
    Access
    как собственная.

Упражнение 28.6. Экспорт объектов Access в базу данных ODBC

Одним из способов создания таблиц в базе данных SQL Server является экспорт таблиц из локальной базы данных Access. При экспорте объект не удаляется из локальной базы данных. Экспортируйте таблицу ПРЕДМЕТ на сервер Server_l в базу данных Учебный процесс, используя ранее созданный источник данных Teach.

  1.  Выберите в окне базы данных таблицу ПРЕДМЕТ. Только после этого
    становится доступной команда экспортирования.
  2.  Для экспорта таблицы из базы данных Access в базу данных ODBC вы
    полните команду
    Файл | Экспорт (File   Export).

В окне Экспорт объекта: Таблица 'ПРЕДМЕТ' в в поле Имя файла (File name) отобразится имя экспортируемого объекта. Для экспорта в базу данных через интерфейс ODBC выберите ODBC Databases () в списке Тип файла: (Save as type:). Нажмите кнопку Сохранить (Save). Появится окно Экспорт (Export).

Нажмите кнопку ОК. Отобразится окно Выбор источника данных (Select
Data Source). Для установления связи с сервером выбери
те на вкладке
Источник данных компьютера (Machine Data Source) ранее
созданный пользовательский источник данных
Teach, содержащий сведения о сервере и внешней базе данных, в которую необходимо экспортировать объект.

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

5. Если пользователь имеет права на проведение. операции, объект записывается в базу, указанную источником данных ODBC. Связь с сервером после выполнения операции экспорта прерывается.

Занятие 29

Разработка проекта Access — приложения Microsoft SQL Server

Access 2000 дополнен новыми средствами, которые позволяют ему создавать на локальной рабочей станции клиентское приложение Microsoft SQL-сервера — проект. Это приложение пользователя функционирует в среде Access и работает только с данными базы на SQL Server. Проект Access представляется новым типом файла (.adp). Он содержит только те объекты, которые составляют приложение: формы, отчеты, HTML-страницы, макросы и модули. В отличие от базы данных Access проект не содержит данных или описаний структур базовых объектов. Таблицы, представления, схемы базы данных и сохраняемые процедуры — объекты базы данных SQL-сервера -только отображаются в проекте Access.

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

В проекте можно не только просматривать и корректировать данные, но и создавать, модифицировать и удалять таблицы, представления, сохраняемые процедуры и схемы базы данных SQL-сервера. Инструментальные средства интерактивной работы с данными базы на SQL-сервере предоставляются провайдером OLE DB. Эти средства отличаются от аналогичных средств Access. Однако при наличии навыков работы с интерфейсом Access освоение дружественного графического интерфейса сервера будет не сложным.

Проект обеспечивает не только работу с существующей базой данных сервера, но и создание новой базы данных на SQL Server.

Интерфейс OLE DB

Проект Access обеспечивает доступ к базам данных Microsoft SQL Server напрямую (без использования Microsoft Jet) через интерфейс OLE DB, который является базовым (native) для сервера. В Microsoft SQL Server 7.0 процессор запросов и другие подсистемы сервера обращаются к системе хранения данных через интерфейс OLE DB. При использовании этого интерфейса упрощается процесс разработки проекта Access и повышается скорость обработки данных. При этом появляется возможность создавать приложения, использующие систему хранения данных сервера как встроенный компонент.

Набор OLE-интерфейсов обеспечивает универсальный доступ к данным различного формата. Через OLE DB осуществляется эффективный доступ не только к реляционным данным, но и ко многим другим типам OLE DB-совместимых источников данных, таких как файлы почты, плоские файлы и электронные таблицы в локальных и глобальных сетях. В архитектуре OLE DB-программа, которая получает доступ к данным, называется потребитель данных, например, Microsoft Access 2000 или программа Microsoft Visual Basic 6.0. Программа, которая обеспечивает доступ к данным, называется поставщик или провайдер базы данных, например, Microsoft OLE DB Provider для SQL Server или Microsoft Jet 4.0 OLE DB Provider для доступа к базе данных Microsoft Access внешнего потребителя.

Объекты базы данных сервера, являясь связанными QLE-объектами (Object Linking and Embedding -- Связь и внедрение объектов) в проекте Access, обеспечивают вызов провайдера OLE DB, который предоставляет для обработки этих объектов соответствующие инструментальные средства Microsoft SQL Server.

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

Ниже приведены OLE DB-провайдера, которые инсталлируются автоматически при установке Microsoft Office 2000 или Microsoft Access 2000:

□ OLE DB Provider для SQL Server

□ OLE DB Provider для Microsoft Jet 4.0

□ OLE DB Provider для Oracle

□ OLE DB Provider для ODBC Drivers

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

Упражнение 29.1. Интерфейс доступа к данным OLE DB

  1.  Просмотрите, какие провайдеры OLE DB установлены на вашем компьютере. Выберите программу Data Links на панели управления, открывающейся при нажатии кнопки Пуск, Настройка. В окне Организация файлов связи с данными (Organize Data Link Files) представлен список файлов, каждый из которых определяет связь через определенного провайдера с некоторым источником данных.
  2.   Выполните двойной щелчок на любом из файлов списка. Откроется окно Свойства связи с данными (Data Link Properties), где на вкладке Поставщик услуг (Provider) представлены все доступные провайдеры OLE DB. Открывая другие вкладки окна, можно просмотреть и при необходимости изменить параметры связи с источником данных для выбранного файла.

Создайте новый файл связи с источником данных, размещенным на SQL
Server. Для этого в окне Организация файлов связи с данными (Organize
Data Link Files) щелкните правой кнопкой мыши в любом месте списка,
выберите команду
Создать | Microsoft Data Links и введите в новом элементе списка имя.

  1.  Создать новый файл связи с источником данных можно и из программы
    проводник. Для этого, выбрав для создаваемого файла папку, выполните
    команду
    Создать | Microsoft Data Link и введите имя файла.
  2.  Действия по определению параметров файла не зависят от способа его
    создания. Двойным щелчком на вновь созданном файле откройте окно
    Свойства связи с данными (Data Link Properties). На вкладке Поставщик
    услуг
    (Provider) выберите провайдера, который будет обеспечивать связь с
    создаваемым источником данных. Каждый провайдер требует определения специфического набора параметров для связи с источником данных.
    На вкладке
    Подключение (Connection) определите параметры подключения к источнику данных. Чтобы создать файл связи с базой данных Microsoft SQL Server, нужно определить имя сервера, имя базы данных, имя
    пользователя, пароль.

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

В проекте Access, ориентированном на работу с SQL Server, при установлении связи с ним нет возможности выбрать ранее созданный файл с расширением .udl. Сразу открывается диалоговое окно Свойства связи с данными (Data Link Properties), причем выбор типа провайдера Microsoft OLE DB Provide/для SQL Server выполняется по умолчанию. Настройка свойств соединения проводится через универсальное диалоговое окно Свойства связи с данными (Data Link Properties). Эти параметры сохраняются как строка связи с базой данных сервера в проекте Access. И не могут сохраняться в файле .udl.

Проект Access может подключиться к базе данных одного из следующих SQL-серверов:

Microsoft SQL Server 7.0, установленный на Microsoft Windows NT, начиная с версии 4.Q, или на Microsoft Windows 95 и более поздних версиях;

Microsoft Data Engine (MSDE), установленный на Windows NT, начиная с версии 4.0, или на Microsoft Windows 95 и более поздних версиях;

SQL Server 6.5, установленный на Windows NT, начиная с версии 4.0 (с SQL Server Service Pack 5).

Создание проекта Access

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

Упражнение 29.2. Создание проекта

для существующей на сервере базы данных

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

  1.  Для создания проекта Access, работающего с базой данных, размещенной
    на  
    Microsoft  SQL-сервере,  выполните команду Файл  |  Создать  (File
    New). В окне Создание (New) на вкладке Общие (General) выберите значок Проект (существующая база данных) (Project (Existing Database)).
  2.  В  открывшемся  окне   Файл   новой   базы   данных   (File   New   Database)
    выберите местоположение для сохранения файла создаваемого проекта и определите имя файла. Проект сохраняется в файле типа
    Microsoft Access Prodjects (*.adp).
  3.  Для завершения работы в этом окне нажмите кнопку Создать (New). При
    этом открывается окно подключения к серверу
    Свойства связи с данными
    (Data Link Properties)
  4.  Выберите или введите имя сервера и выберите способ регистрации пользователя на сервере. Выберите базу данных на сервере (Select the database on the server:), с которой должен работать проект. Список баз данных делается доступным
    после проверки сервером прав пользователя.
  5.  Протестируйте выбранные параметры соединения, нажав кнопку Проверить подключение (Test Connection). Если тестирование прошло успешно,
    нажмите кнопку
    ОК.
  6.  В открывшемся окне вновь созданного проекта Access отображаются и доступны для обработки объекты выбранной базы данных сервера. Теперь можно приступить к созданию объектов вашего приложения.
  7.  После создания проекта в меню Файл (File) делается доступной команда
    Подключение (Connection), которая снова открывает окно Свойства связи с данными (Data Link Properties) и позволяет проверить или переопределить параметры подключения к серверу: выбрать другую базу данных сервера, объекты которой будут доступны в окне проекта Access или даже установить связь с другим сервером.
  8.  Закройте проект и вновь откройте его и убедитесь, что повторно задавать
    параметры   подключения   не требуется,   так   как   они   сохраняются   в  проекте.

Упражнение 29.3. Создание проекта и новой базы данных на сервере

Проект Access позволяет не только использовать существующую на сервере базу данных, но и одновременно с созданием проекта создать на сервере новую. Создание новой базы данных на сервере осуществляется во время создания проекта Access на локальной рабочей станции. При этом создается файл проекта с расширением .adp, а на сервере -- файлы базы данных с расширением .mdf и .Idf.

  1.  Для создания проекта и новой базы данных на сервере выполните команду Файл | Создать (File    New) и в окне Создание (New) на вкладке
    Общие (General) выберите значок Проект (новая база данных) (Project
    (
    New Database)).
  2.  В окне Файл новой базы данных (File New Database) выберите местоположение   и  задайте   имя   нового  проекта  на  вашем  компьютере   .
  3.  После нажатия кнопки Создать (Create) появляется окно базы данных и
    запускается
    Мастер баз данных SQL Server (Microsoft SQL Server Data
    base Wizard). В окне мастера укажите сервер, с которым надо
    установить связь, имя и пароль пользователя для регистрации на нем.
    Имя и пароль пользователя, а также его права, достаточные для создания
    базы данных на сервере, должны быть определены администратором сер
    вера. В этом же окне задайте имя базы данных, создаваемой на сервере,
  4.  Далее мастер сообщает о получении сервером всей необходимой информации и приступает к созданию базы данных. Мастер создает на сервере пустую базу данных и добавляет новый объект в папку Database иерархического дерева объектов сервера. По умолчанию новая база данных, создаваемая на сервере, имеет имя проекта Access, дополненное символами SQL. Таким образом, без обращения к программам SQL Server, выполняется создание пустой новой базы данных.

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

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

5.  Чтобы увидеть имя сервера и базы данных, с которой работает проект выполните команду Файл | Подключение (File | Connection).

Упражнение 29.4. Импорт локальной базы данных Access в проект

Если в Access уже создана локальная база данных и на ее основе приложение пользователя (например, Учебный процесс) и настало время перехода к использованию базы в многопользовательском режиме по технологии клиент-сервер, нет необходимости создавать базу данных на сервере и объекты приложения в проекте заново. Достаточно из вновь созданного проекта выполнить импорт базы данных и таблицы скопируются в базу данных сервера, q объекты приложения — в проект.

  1.  Выполните из проекта, созданного в предыдущем упражнении, команду
    Файл | Внешние данные | Импорт (File | Get External Data | Import).
  2.  В окне Импорт выберите ранее созданную базу данных Access Учебный
    процесс.
  3.  В окне Импорт объектов выделите таблицы и другие необходимые объекты. Нажмите кнопку ОК. При этом таблицы будут импортированы в базу данных на сервере, а формы, отчеты, страницы доступа к данным, макросы и модули — в ваш проект Access.

Работа с объектами базы данных SQL-сервера в проекте. Создание объектов базы данных на SQL Server (таблиц, представлений, схем базы данных, сохраненных процедур) требует использования инструментальных средств, которые поставляются разработчику проекта Access провайдером OLE DB SQL Server.

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

Рассмотрим некоторые особенности работы с объектами базы данных сервера в проекте Access. 

Упражнение 29.5. Работа с таблицами базы данных

1.  Откройте любую таблицу вашего проекта в режиме конструктора, например, ГРУППА.

Интерфейс создания структуры таблиц сервера, предоставляемый пользователю в проекте, отличается от принятого в конструкторе таблиц базы данных Access. Структура таблицы сервера представлена в виде таблицы. Макет таблицы можно изменять так же, как при ее просмотре в режиме таблицы. Состав свойств полей таблицы отличается от принятого в Access. Перечень типов данных значительно шире. Основные типы данных полей хотя и отличаются от принятых в базах данных Access, совместимы с ними. Для полного представления об особенностях конструирования таблиц баз данных сервера можно обратиться к источникам по SQL Server. Имея некоторый опыт создания таблиц в Access, будет не сложно освоить этот процесс.

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

  1.  Определите ключ в таблице ГРУППА. Изменение структуры таблицы
    доступно из Проекта. Убедитесь, что после этого в таблице можно изменять существующие данные и добавлять новые записи.
  2.  Введите для полей таблицы ГРУППА ограничения на значения: КОЛ не
    должно принимать значений больших 40, а значения в ПБАЛЛ должны
    быть не менее 2 и не более 5. Для установки этих ограничений в режиме
    конструктора откройте свойства таблицы, щелкнув на соответствующем
    значке панели.

5. В окне свойств таблицы Properties на вкладке Tables проверяемые ограничения вводятся в раздел CHECK constraints for table and columns.
Нажмите кнопку New и в поле раздела Constraint name дополните сформировавшееся имя СК_ГРУППА_КОЛ, например, именем поля КОЛ, для которого вводится ограничение. В поле Constraint expression введите логическое   выражение,   определяющее   нужное   ограничение [КОЛ]<40.
Аналогично сформируйте ограничение [ПБАЛЛ]>2 с именем СК_ГРУППА_ПБАЛЛ1 и [ПБАЛЛ]<=5 с именем СК_ГРУППА_ПБАЛЛ2.

  1.  Просмотрите сформированные ограничения и если необходимо, исправьте их, воспользовавшись списком Selected constraint.
  2.  Если вы не хотите, чтобы на предмет соответствия установленному критерию проверялись ранее введенные значения, снимите флажок Check existing data on creation.

8.Перейдите в режим таблицы, измените значение в поле ПБАЛЛ на недопустимое, например, 6. Изменение не будет произведено и появится сообщение помощника

9. Начните процесс создания новой таблицы в окне проекта щелчком на соответствующей кнопке. Таблицы создаются в единственном доступном режиме — режиме конструктора.

10. При выполнении команды создания таблицы появляется окно для определения имени новой таблицы и окно конструктора таблиц SQL Server .

11. Определите структуру таблицы.

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

Упражнение 29.6. Создание схем баз данных

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

  1.  Для создания схемы из проекта Access выполните команду Создать, находясь на вкладке Схемы баз данных.
  2.  Далее практически так же, как в Access добавьте в схему таблицы, на
    пример, КАФЕДРА и ПРЕПОДАВАТЕЛЬ.
  3.  Выделите и перетащите ключевое поле ККАФ из таблицы КАФЕДРА в
    таблицу  ПРЕПОДАВАТЕЛЬ.   В  появившемся  окне  
    Create  Relationship правильно укажите ключ связи и установите в нижней части вкладки флажки, которые позволяют включить механизм проверки целостности данных в связываемых таблицах.

Конструктор схем имеет разнообразные возможности по изменению ее вида. Работая со схемой, можно изменить вид отображаемой таблицы, оставляя только ее заголовок или представляя полную ее структуру. При этом открывается возможность изменять структуру, например, определять в таблице ключ. В приведенной схеме данных в списке полей таблицы ПРЕПОДАВАТЕЛЬ, кроме имен полей представлены другие атрибуты полей. Такое отображение позволяет изменять атрибуты полей таблицы. Для получения такого отображения таблицы должен быть выбран режим Новое представление в контекстном меню таблицы

4. Установите курсор на таблице КАФЕДРА и нажмите на кнопке панели Свойства. В открывающихся свойствах таблицы на вкладке Relationships отображаются установленные для нее в схеме связи .Теперь, работая в конструкторе таблиц, имеется возможность посмотреть, с какими другими таблицами она связана, и при необходимости изменить эти связи, не открывая специально схему данных. Список всех связей таблицы открывается в списке Selected relationship.

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

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

Упражнение 29.7. Создание представлений

Представление является аналогом запроса в базе данных Access. Представление может быть создано только в режиме конструктора. В окне конструктора представлений Представление (View) так же, как в окне QBE-конструктора запросов Access, может быть отображена схема той части базы данных, которая используется в запросе, и бланк представления. На этой схеме отмечаются поля, которые необходимо вывести в таблице результата, при этом они автоматически переносятся в бланк представления. В бланке представления также могут быть выбраны поля и заданы условия отбора записей. Кроме этих двух разделов, в окне конструктора представлений может быть выведен раздел с запросом на языке SQL, формируемый так же, как в Access автоматически по мере заполнения бланка представления. В то же время инструкция SQL может быть подправлена или целиком написана самим пользователем.

Отображение на экране перечисленных частей окна конструктора представлений регулируется с помощью соответствующих кнопок панели инструментов Просмотр макета (View Disign):

□ кнопка Схема (Diagram) служит для отображения или удаления из окна подсхемы представления;

□ кнопка Сетка (Grid) предназначена для отображения или удаления из окна бланка представления;

□ кнопка Запрос SQL (SQL) предназначена для отображения или удаления из окна раздела формирования запроса на языке SQL.

В отличие от окна (Enterprise Manager) конструирования представлений в программе SQL Server, окно Представление (View) в проекте Access не содержит раздела для вывода результата. Результат выполнения представления отображается так же, как при работе с локальной базой данных в отдельном окне, выводимом при переходе в режим таблицы.

Создайте представления в базах данных SQL Server, например, представление, в котором на основе таблиц КАФЕДРА и ПРЕПОДАВАТЕЛЬ формируется список преподавателей, работающих на кафедрах информатики и истории.

1. Создание представления для базы данных SQL Server начните с нажатия кнопки Создать (New) на вкладке Представления (Views) в окне проекта Access. Для создания представлений доступен только режим конструктора представлений.

2. В схему представления добавьте связанные таблицы КАФЕДРА и ПРЕПОДАВАТЕЛЬ. Окно Добавление таблицы открывается после нажатия кнопки Отобразить таблицу.

  1.  Перетащите таблицы в окно представления и закройте окно Добавление
    таблиц.
  2.  После добавления таблиц в окно представления между ними автоматически устанавливается связь, если она была создана в схеме данных или в
    таблице определен ключ, а в другой таблице имеется одноименное поле.
    Если связь не установилась, перетащите поле ККАФ, по значениям которого должна осуществляться связь, из таблицы КАФЕДРА в таблицу
    ПРЕПОДАВАТЕЛЬ.

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

Если выбрать All rows from ПРЕПОДАВАТЕЛЬ установится левое объединение LEFT OUTER JOIN, при котором в результат объединения помимо записей с одинаковыми значениями в поле связи будут включены все записи таблицы ПРЕПОДАВАТЕЛЬ, для которых нет связанных записей в таблице КАФЕДРА.

Установка флажка All rows from КАФЕДРА приведет к правому объединению типа RIGHT OUTER JOIN, обозначаемому значком, повернутым в другую сторону, и включению в результат всех записей таблицы КАФЕДРА.

Выбор обеих строк сразу приводит к объединению FULL OUTER JOIN, обозначаемому значком и приводящему к включению в результат объединения всех записей с обеих сторон.

  1.  Выберите поля таблиц, которые необходимо вывести в результате запроса, отметив их в таблицах схемы.
  2.  Введите в столбец Criteria критерии отбора записей, например, для поля
    наименование кафедры
    =Информатика, а в столбец Or =История. Наличие условия отбора для поля помечается значком фильтра в таблице.
  3.  В столбец Alias введите подписи полей. Введенные подписи будут отображаться в названии колонок таблицы запроса. Кроме того, они будут
    использоваться вместо имен полей при работе с запросом в схемах данных, в списках полей при использовании запроса мастером форм, отчетов, страниц, отображаться в подписях полей в форме и т. д.
  4.  Для   параллельного  отображения   инструкции   SQL  при   формировании
    представления диалоговыми средствами щелкните на кнопке
    Запрос SQL.

9. Для выполнения представления из окна конструктора нажмите на панели
инструментов кнопку
Запуск (Run) или выберите Режим таблицы, воспользовавшись кнопкой Вид (View). Из окна проекта представление выполняется по кнопке Открыть (Open).

Создайте представление, в котором на основе таблиц КАФЕДРА и ПРЕПОДАВАТЕЛЬ подсчитывается число преподавателей на каждой кафедре и выводится таблица, содержащая наименования кафедр, фамилии заведующих и число преподавателей.

  1.  Выполните пункты 1—4 предыдущего упражнения.
  2.  Предположим, что для таблиц КАФЕДРА и ПРЕПОДАВАТЕЛЬ были определены ключи, но не установлены параметры проверки целостности. В результате в таблице могли появиться преподаватели, для которых не введена
    кафедра. Очевидно, что в таблице КАФЕДРА также могут быть записи о
    кафедрах, для которых нет преподавателей. Чтобы при объединении записей в результат попали и записи, не имеющие связанных в другой таблице,
    установите для связи оба флажка
    All rows from ПРЕПОДАВАТЕЛЬ и All
    rows from КАФЕДРА
  3.  Выберите поля таблиц, которые необходимо вывести в результате запроса, отметив их в таблицах схемы.

Для расчета числа преподавателей на каждой кафедре выполните группировку записей таблицы ПРЕПОДАВАТЕЛЬ по полю ККАФ и используйте функцию count по полю ТАБН. Щелкните на кнопке Группировка.
Для поля ТАБН выберите в колонке Group By значение Count. В схеме
представления в списках таблиц специальным значком помечаются поля, по которым производится группировка, и поле, по которому выполняется функция
Count.

  1.  В колонке Alias полю с результатом выполнения функции Count автоматически присваивается имя Expr1. Замените его на Число преподавателей.
  2.  Введите для поля ККАФ из таблицы ПРЕПОДАВАТЕЛЬ в колонке Alias
    соответствующее имя.

  1.  

16. Выполните   представление   из   окна   конструктора,   нажав   на   панели инструментов кнопку Запуск (Run).

Таблица представления включает записи, полученные в результате объединения записей таблиц FULL OUTER JOIN. Поэтому в ней присутствует запись, полученная в результате группировки несвязанных записей таблицы ПРЕПОДАВАТЕЛЬ (первая запись), а также несвязанная запись из таблицы КАФЕДРА (последняя запись).


 

А также другие работы, которые могут Вас заинтересовать

24524. Сегментное распределение оперативной памяти 30.45 KB
  Сегментное распределение оперативной памяти.Сегментное распределение памяти. Рассмотрим каким образом сегментное распределение памяти реализует эти возможности рис. Во время загрузки процесса система создает таблицу сегментов процесса аналогичную таблице страниц в которой для каждого сегмента указывается: начальный физический адрес сегмента в оперативной памяти; размер сегмента; права доступа; признак модификации; признак обращения к данному сегменту за последний интервал времени и т.
24525. Странично-сегментное распределение оперативной памяти 42.01 KB
  Каждый сегмент в свою очередь делится на виртуальные страницы которые нумеруются в пределах сегмента. Оперативная память делится на физические страницы. Перемещение данных между памятью и диском осуществляется не сегментами а страницами. При этом часть страниц процесса размещается в оперативной памяти а часть на диске.
24526. Кэш-память. Принцип функционирования кэш-памяти 127.2 KB
  Кэшпамять. Принцип функционирования кэшпамяти. Кэширование данных. Кэшпамять.
24527. Способы отображения оперативной памяти на кэш (случайное, детерминированное, комбинированное отображение) 170.7 KB
  Способы отображения оперативной памяти на кэш случайное детерминированное комбинированное отображение. Способы отображения основной памяти на КЭШ. Алгоритмы поиска и замещения данных в КЭШ непосредственно зависят от способа отображения основной памяти на КЭШпамять. При кэшировании данных из оперативной памяти широко используются две основные схемы отображения: случайное и детерминированное отображение.
24528. Физическая организация устройств ввода-вывода 13.35 KB
  Устройства вводавывода УВВ делятся на два типа: блокориентированные устройства и байториентированные устройства. Блокориентированные устройства хранят информацию в блоках фиксированного размера каждый из которых имеет свой собственный адрес. Байториентированные устройства не адресуемы и не позволяют производить операцию поиска они генерируют или потребляют последовательность байтов. Однако некоторые внешние устройства не относятся ни к одному классу например часы которые с одной стороны не адресуемы а с другой стороны не...
24529. Принципы организации программного обеспечения ввода-вывода 70.42 KB
  Принципы организации программного обеспечения вводавывода.2 Организация программного обеспечения вводавывода. Программное обеспечение вводавывода состоит из нескольких иерархических уровней. Иерархическая структура программного обеспечения позволяет учесть все особенности каждого конкретного устройства вводавывода и при этом обеспечить единое логическое представление и унифицированный интерфейс для устройств всех типов.
24530. Физическая организация файловой системы. Структура жесткого диска 108.27 KB
  Логическая организация файла. Пользователи дают файлам символьные имена при этом учитываются ограничения ОС на используемые символы и на длину имени. Например в файловой системе NTFS имя файла может содержать до 255 символов не считая завершающего нулевого символа. Чтобы приложения могли обращаться к файлам в соответствии с принятыми ранее соглашениями файловая система должна уметь предоставлять эквивалентные короткие имена псевдонимы файлам имеющим длинные имена.
24531. Физическая организация файловой системы. Структура жесткого диска 33.35 KB
  Структура жесткого диска. Файл очень часто разбросан кусочками по всему диску причем это разбиение никак не связано с логической структурой файла например его отдельная логическая запись может быть расположена в несмежных секторах диска. Рассмотрим физическую структуру жесткого диска и физическую организацию файла т. Структура жесткого диска.
24532. Физическая организация и адресация файла. Права доступа к файлу 109.92 KB
  Физическая организация и адресация файла.Физическая организация и адресация файла. Важным компонентом физической организации файловой системы является физическая организация файла то есть способ размещения файла на диске. Основными критериями эффективности физической организации файлов являются: скорость доступа к данным; объем адресной информации файла; степень фрагментации дискового пространства; максимально возможный размер файла.