Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
управление данными.doc
Скачиваний:
46
Добавлен:
11.03.2015
Размер:
1.51 Mб
Скачать

Преимущества архитектуры клиент-сервер

Цели перехода на клиент-серверную архитектуру:

  1. увеличение производительности;

  2. повышение масштабируемости – возможности поддержки большого количества пользователей;

  3. обеспечение большей надежности и защищенности.

Надежность и защита данных

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

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

Производительность

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

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

Одним из способов создания проекта Access является конвертирование существующей базы данных Access в новый проект Access и базу данных SQL Server.

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

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

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

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

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

Здесь следует выбрать Create a New Access Client/Server Application. Мастер создаст базу данных SQL Server и свяжет ее таблицы с новым проектом Access. Существующие объекты приложения Access будут перенесены из базы данных в новый проект. В поле ADP File Name введите имя нового проекта.

Сделав нужные установки, щелкните на кнопке Финиш. В результате мастер сделает следующее:

  1. Создаст новую базу данных SQL Server.

  2. Перенесет в эту базу данных таблицы с выбранными атрибутами

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

  4. Создаст в базе данных SQL Server представления и хранимые процедуры, соответствующие запросам, которые имелись в базе данных Access, и преобразует Jet SQL в Transact-SQL.

  5. Скопирует формы и отчеты из базы данных в проект Access.

  6. Создаст новые страницы доступа к данным, которые будут использовать данные из базы данных SQL Server.

  7. Скопирует все макросы и модули из базы данных Access в проект, ничего в них не меняя.

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

После закрытия отчета вместо текущей базы данных Access откроет новый проект.

В окне проекта Access имеется девять типов объектов. Таблицы, представления, схемы данных и хранимые процедуры содержатся в базе данных SQL Server, а формы, отчеты, страницы доступа к данным, макросы и модули – в проекте Access.

Для создания или изменения объектов в проекте Access существует набор конструкторов. По своему назначению и внешнему виду конструкторы для проектов Access сходны с конструкторами для баз данных.

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

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

Хранимые процедурыэто наборы операторов SQL и операторов управления потоком, которые компилируются и хранятся в базе данных на сервере.

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