На профессиональном уровне. Проекты Access по сравнению со связанными таблицами

Проекты Access по сравнению со связанными таблицами

Проекты Ассеss и связанные таблицы выглядят как два похожих варианта. Они позво­ляют создавать клиентские БД Access, работающие с данными, хранящимися в БД SQL Server. Но у этих вариантов есть несколько важных различий.

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

• Обработка запросов. Когда создается проект Access, ваши запросы преобразуются в объекты SQL Server и хранятся на сервере. Когда создается связанная таблица, запросы остаются в клиентской БД. Трудно сказать, какой подход лучше. Обычно у проектов Access более высокая производительность обработки запроса, поскольку большую часть работы выполняет сервер. (Это особенно справедливо, если выполняется запрос, который отбирает несколько записей из большой таблицы.) Связанные таблицы позволяют продолжать применять хорошо знакомый конструктор запросов программы
Access и устраняют возможность ошибок преобразования запроса.

• Тип файла. Связанные таблицы помещаются в обычный файл Access. (Вы даже можете поместить их рядом с обычными таблицами.) Проект Access всегда должен сохраняться в специальном файле с расширением adp.

Вы узнали о связанных таблицах в главе 19. В оставшейся части данной главы предпола­гается, что создается проект Access.

Подсказка

Хотите вернуться назад другим путем и переслать данные из SQL Server в Access? Если так, воспользуйтесь средствами импорта и экспорта в программе Access, о которых вы узнали в главе 19.

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

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

Вы начнете рассматривать различия в разд. "Добавление объектов в БД SQL Server" далее в этой главе. Но сначала стоит рассмотреть, как управлять только что созданной БД SQL Server.

Управление вашей БД

На территории Access легко удалять, перемещать, создавать резервную копию БД. Нужно всего лишь найти соответствующий файл с расширением accdb и использовать средство управления файлами, например программу Проводник ОС Windows.

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

Если вы хотите выполнять задачи управления, такие как удаление, перенос или копиро­вание БД, необходимо работать с программой SQL Server, т. к. она может перемещать фай­лы и изменять каталог БД. Один из вариантов — загрузить из Интернета бесплатное про­граммное средство SQL Server Management Studio (см. рис. 20.2), которое поможет выполнять широкий круг задач администрирования. (Например, это средство понадобится, если у вас грандиозные планы, и вы начинаете настраивать параметры безопасности SQL Server для того, чтобы дать разрешения одним пользователям и отказать другим.) Однако самые распространенные задачи управления можно выполнять и прямо в программе Access. Секрет кроется в применении кнопки Office → Server(Office → Сервер) (меню Server(Сервер) появляется, только если открыт проект Access).

У вас в меню есть следующие варианты.

■ Connection(Подключение). Выводит на экран диалоговое окно Data Link Properties(Свойство связи с данными), в котором можно изменять параметры подключения для вашего файла проекта Access. Обычно к этому окну обращаются при возникновении проблем подключения к вашей БД SQL Server. Например, если кто-то переместил или переименовал БД SQL Server или изменили имя пользователя и пароль, нужные вам для регистрации, именно в этом окне можно обновить ваши параметры. Задайте новый сер­вер, новое имя БД или сведения о пароле и щелкните мышью кнопку ОК для повторного подключения.

Подсказка

Если вы открыли файл проекта Access и не видите никаких таблиц, а в строке заголовка появ­ляется сообщение "Disconnected" ("Нет соединения"), программа Access не смогла подключить­ся к вашей БД. Если имя БД или сервера были изменены недавно, выберите кнопку Office → Server → Connection(Office →Сервер → Подключение) для устранения проблем.

■ Server Properties(Свойства сервера). Отображает диалоговое окно с базовыми сведениями о вашей БД, включая программу, которая выполняется (SQL Server), ее версию (у SQL Server 2005 номер версии 9), расположение сервера и текущей БД. В этом окне нельзя изменять никакие данные.

■ Link Tables(Связь с таблицами). Позволяет добавить одну или несколько связанных таблиц к вашему текущему проекту Access. Как правило, суть заключается в добавлении связанных таблиц из другой БД (или даже другого сервера БД). Таким образом, вы можете видеть все, используя один файл Access.

■ Back Up SQL Database(Резервная копия базы данных). Создает резервную копию вашей БД SQL Server в файле с расширением dat, который можно поместить куда угодно (на серверный или на свой компьютер). Специалисты SQL Server обычно предпочитают применять средство, позволяющее создавать резервные копии автоматически, например SQL Server Agent (это средство входит только в полную версию SQL Server).

■ Restore SQL Database(Восстановление базы данных Microsoft SQL Server из резервной копии). Берет файл с расширением dat, который был создан командой Office →Server → Back Up SQL Database(Office →Сервер → Резервная копия базы данных), и создает заново соответствующую БД SQL Server.

■ Transfer Database...(Перенос базы данных...). Позволяет переместить БД с одного компьютера на другой. (На обоих компьютерах должна быть программа SQL Server.) Программа Access сохраняет новое расположение сервера в вашем файле проекта, поэтому можно продолжать использование БД, находящейся на ее новом месте. Это средство

■ удобно, если вы тестировали БД SQL Server на своем компьютере и теперь хотите пере­нести ее на сетевой сервер, где любые пользователи смогут обращаться к ней.

■ Copy Database File...(Копирование базы данных...). Если вы запускаете программу SQL Server на своем компьютере, этот вариант позволяет создать копию файла БД, которую можно взять на другой компьютер. (Если вы подключены к копии программы SQL Server на другом сервере, эта команда работать не будет.) Обычно легче использовать команду Office → Server → Transfer Database...(Office → Сервер → Перенос базы данных...), поскольку она делает все за один шаг.

■ Drop SQL Database(Удаление базы данных SQL Server). Стирает БД в программе SQL Server и удаляет ее.

■ Set Logon Password(Задание пароля входа в систему). Если применяется смешанный режим аутентификации, эта команда позволяет изменить пароль SQL Server.

Наши рекомендации