Как сделать пользователей в access?

Установка и изменение защиты на уровне пользователей Access 2003 в текущей версии Access

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

Если вы создали базу данных в версии Access перед тем как получить доступ к 2007 и вы применили к ней защиту на уровне пользователей, эти параметры безопасности остаются на месте при открытии файла в Access 2007 или более высоком. Кроме того, вы можете запускать средства безопасности, предоставленные Microsoft Office Access 2003 (мастер защиты на уровне пользователей) и различные диалоговые окна разрешения пользователей и групп — в более поздних версиях Access. В этой статье объясняется, как работают функции безопасности Access 2003, а также объясняется, как запускать и использовать их в Access 2007 или более высоком.

Примечание: Информация, приведенная в этой статье, применима только к базе данных, созданной в Access 2003 или более ранних версиях (MDB-файл). Безопасность на уровне пользователей недоступна для баз данных, созданных в Access 2007 или более ранних версиях (ACCDB-файлы). Кроме того, при преобразовании MDB-файла в новый формат (ACCDB-файл) Access отклоняет параметры безопасности на уровне пользователя.

В этой статье

Как выполняется безопасность на уровне пользователей в Access 2007 или более высоком

Microsoft Access 2007 и более поздних версий обеспечивает безопасность на уровне пользователей только для баз данных, использующих Access 2003 и более ранние форматы файлов (MDB и MDE-файлы). В более поздних версиях, если вы открыли базу данных, созданную в более ранней версии Access, и эта база данных имеет защиту на уровне пользователей, эта функция безопасности будет работать так же, как и для этой базы данных. Например, чтобы использовать базу данных, пользователи должны ввести пароль.

Кроме того, вы можете запускать и запускать различные средства безопасности из Access 2003 и более ранних версий, таких как мастер защиты на уровне пользователей и диалоговые окна различных разрешений для пользователей и групп. Запомните, что эти средства доступны только в том случае, если вы открыли MDB или MDE файл. Если преобразовать файлы в формат ACCDB, Access удалит все существующие функции безопасности на уровне пользователя.

Общие сведения о безопасности Access 2003 на уровне пользователей

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

Основы защиты на уровне пользователей

Безопасность на уровне пользователей в Access аналогична механизмам безопасности в серверных системах, поэтому она использует пароли и разрешения для разрешения или ограничения доступа отдельных пользователей или групп пользователей к объектам в базе данных. В Microsoft Access 2003 или более ранних версиях при реализации защиты на уровне пользователей в базе данных Access администратор базы данных или владелец объекта может управлять действиями, которые могут выполнять отдельные пользователи или группы пользователей, для таблиц, запросов, форм, отчетов и макросы в базе данных. Например, одна группа пользователей может изменять объекты в базе данных, а другая группа может вводить данные только в определенные таблицы, а третья группа может только просматривать данные в наборе отчетов.

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

По умолчанию Access предоставляет встроенный идентификатор пользователя и две встроенные группы. ИДЕНТИФИКАТОРом пользователя по умолчанию является Администратор, а группы по умолчанию — Пользователи и Администраторы. По умолчанию Access добавляет в группу «Пользователи» Идентификатор встроенного пользователя, так как все идентификаторы должны принадлежать хотя бы одной группе. В свою очередь, Группа «Пользователи» обладает всеми разрешениями для всех объектов в базе данных. Кроме того, идентификатор администратора также является членом группы «Администраторы». Группа Администраторы должна содержать по крайней мере один идентификатор пользователя (должен быть администратором базы данных), а администратор базы данных по умолчанию — идентификатор администратора, пока вы не измените его.

При запуске Access 2003 или более ранних версий Access назначает пользователю идентификатор администратора и, таким образом, становится участником каждой группы по умолчанию. Этот идентификатор и группы (администратор и пользователи) предоставляют всем пользователям полные разрешения для всех объектов в базе данных — это означает, что любой пользователь может открывать, просматривать и изменять все объекты во всех MDB-файлах, если только вы не реализуете безопасность на уровне пользователей.

Одним из способов реализации защиты на уровне пользователей в Access 2003 или более ранних версиях является изменение разрешений для группы «Пользователи» и добавление новых администраторов в группы администраторов. После этого Access автоматически назначает новым пользователям группу «Пользователи». После выполнения этих действий пользователи должны войти в систему с паролем при открытии защищенной базы данных. Тем не менее, если вам необходимо реализовать более конкретную безопасность — разрешите одной группе пользователей вводить данные, а другая — только для чтения, например: необходимо создать дополнительные пользователи и группы и предоставить им определенные разрешения на доступ к некоторым или всем объектам в базе данных. . Реализация такого типа защиты на уровне пользователей может стать сложной задачей. Для упрощения процесса Access предлагает мастер защиты на уровне пользователя, который упрощает создание пользователей и групп в ходе одного этапа.

Мастер защиты на уровне пользователей помогает назначать разрешения и создавать учетные записи пользователей и групп. Учетные записи пользователей содержат имена пользователей и уникальные личные коды (PID), необходимые для управления разрешениями пользователей на просмотр, использование и изменение объектов базы данных в Рабочей группе Access. Учетные записи групп — это набор учетных записей пользователей, которые, в свою очередь, находятся в Рабочей группе. Access использует имя группы и код продукта для идентификации каждой рабочей группы, и разрешения, назначенные группе, применяются ко всем пользователям в группе. Дополнительные сведения об использовании мастера приведены в разделе Настройка безопасности на уровне пользователейниже в этой статье.

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

Рабочие группы и файлы рабочих групп

В Access 2003 и более ранних версиях Рабочая группа — это группа пользователей в многопользовательской среде, в которой совместно находятся данные. Файл рабочей группы включает учетные записи пользователей и групп, пароли и разрешения, заданные для каждого отдельного пользователя или группы пользователей. При открытии базы данных Access считывает данные из файла данных рабочей группы и накладывает параметры безопасности, содержащиеся в файле. В свою очередь, учетная запись пользователя — это сочетание имени пользователя и личного идентификатора (PID), которое создается Access для управления разрешениями пользователя. Учетные записи групп представляют собой наборы учетных записей пользователей, а Access также определяет их по имени группы и личному ИДЕНТИФИКАТОРу (PID). Разрешения, назначенные группе, применяются ко всем пользователям в группе. Эти учетные записи безопасности смогут получать разрешения на доступ к базам данных, а также их таблицы, запросы, формы, отчеты и макросы. Сами разрешения хранятся в базе данных с поддержкой безопасности.

Читать еще:  Как сделать запрос на изменение в access?

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

Последующие пользователи наследуют путь к файлу рабочей группы по умолчанию из значения в разделе реестра HKEY_USERS. Поскольку эти сведения часто легко определить, возможно, пользователи не смогут создать другую версию этого файла рабочей группы. Следовательно, неавторизованные пользователи могут предположить разрешения безоговорочное учетной записи администратора (участника группы «Администраторы») в Рабочей группе, определенной этим файлом данных рабочей группы. Чтобы предотвратить несанкционированный доступ к этим разрешениям, создайте новый файл рабочей группы и укажите идентификатор рабочей группы (WID), учитывающий регистр букв и цифр (от 4 до 20 символов), которые вы вводите при создании новой информации о рабочей группе. файл. Создание новой рабочей группы однозначно определяет группу администраторов для этого файла рабочей группы. Только тот, кто знает этот WID, сможет создать копию файла сведений о рабочей группе. Чтобы создать новый файл, воспользуйтесь мастером защиты на уровне пользователя.

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

Как работают разрешения и кто может им назначать

Безопасность на уровне пользователей распознает два типа разрешений: явные и неявные. Явные разрешения — это разрешения, которые предоставляются непосредственно учетной записи пользователя; другие пользователи не затрагиваются. НеЯвные разрешения — это разрешения, предоставленные учетной записи группы. Добавление пользователя в группу предоставляет пользователю разрешения группы; Удаление пользователя из группы отменяет разрешения группы от этого пользователя.

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

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

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

Любой пользователь с разрешениями администратора для этого объекта.

Несмотря на то, что пользователи не могут выполнить какое – либо действие, они могут предоставить себе разрешения на выполнение действия. Это справедливо, если пользователь является членом группы «Администраторы» или пользователь является владельцем объекта.

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

Примечание: При копировании, импорте или экспорте не изменяется владение запросом, для свойства рунпермиссионс которого задано значение owner. Изменить владение запросом можно только в том случае, если для его свойства рунпермиссионс задано значение » пользователь«.

Учетные записи безопасности

Файл сведений рабочей группы Access 2003 включает следующие предварительно определенные учетные записи.

Создание базы данных в MS Access 2007: пошаговая инструкция

В современном мире нужны инструменты, которые бы позволяли хранить, систематизировать и обрабатывать большие объемы информации, с которыми сложно работать в Excel или Word.

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

Продукт от Microsoft Office представляет собой упрощенную версию в функциональном плане и более понятную для неопытных пользователей. Давайте рассмотрим пошагово создание базы данных в Access 2007.

Описание MS Access

Microsoft Access 2007 – это система управления базами данных (СУБД), реализующая полноценный графический интерфейс пользователя, принцип создания сущностей и связей между ними, а также структурный язык запросов SQL. Единственный минус этой СУБД – невозможность работать в промышленных масштабах. Она не предназначена для хранения огромных объемов данных. Поэтому MS Access 2007 используется для небольших проектов и в личных некоммерческих целях.

Но прежде чем показывать пошагово создание БД, нужно ознакомиться с базовыми понятиями из теории баз данных.

Определения основных понятий

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

  1. Предметная область – множество созданных таблиц в базе данных, которые связаны между собой с помощью первичных и вторичных ключей.
  2. Сущность – отдельная таблица базы данных.
  3. Атрибут – заголовок отдельного столбца в таблице.
  4. Кортеж – это строка, принимающая значение всех атрибутов.
  5. Первичный ключ – это уникальное значение (id), которое присваивается каждому кортежу.
  6. Вторичный ключ таблицы «Б» – это уникальное значение таблицы «А», использующееся в таблице «Б».
  7. SQL запрос – это специальное выражение, выполняющее определенное действие с базой данных: добавление, редактирование, удаление полей, создание выборок.

Теперь, когда в общих чертах есть представление о том, с чем мы будем работать, можно приступить к созданию БД.

Создание БД

Для наглядности всей теории создадим тренировочную базу данных «Студенты-Экзамены», которая будет содержать 2 таблицы: «Студенты» и «Экзамены». Главным ключом будет поле «Номер зачетки», т.к. данный параметр является уникальным для каждого студента. Остальные поля предназначены для более полной информации об учащихся.

Итак, выполните следующее:

  1. Запустите MS Access 2007.
  2. Нажмите на кнопку «Новая база данных».
  3. В появившемся окне введите название БД и выберите «Создать».

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

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

После успешного создания БД на экране появится пустая таблица. Для формирования ее структуры и заполнения выполните следующее:

  1. Нажмите ПКМ по вкладке «Таблица1» и выберите «Конструктор».
  2. Теперь начинайте заполнять названия полей и соответствующий им тип данных, который будет использоваться.

Создание и редактирование схем данных

Перед тем, как приступить к связыванию двух сущностей, по аналогии с предыдущим пунктом нужно создать и заполнить таблицу «Экзамены». Она имеет следующие атрибуты: «Номер зачетки», «Экзамен1», «Экзамен2», «Экзамен3».

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

  1. Перейти во вкладку «Работа с базами данных».
  2. Нажать на кнопку «Схема данных».
  3. Если схема не была создана автоматически, нужно нажать ПКМ на пустой области и выбрать «Добавить таблицы».
  4. Выберите каждую из сущностей, поочередно нажимая кнопку «Добавить».
  5. Нажмите кнопку «ОК».

Конструктор должен автоматически создать связь, в зависимости от контекста. Если же этого не случилось, то:

  1. Перетащите общее поле из одной таблицы в другую.
  2. В появившемся окне выберите необходимы параметры и нажмите «ОК».
  3. Теперь в окне должны отобразиться миниатюры двух таблиц со связью (один к одному).

Выполнение запросов

Что же делать, если нам нужны студенты, которые учатся только в Москве? Да, в нашей БД только 6 человек, но что, если их будет 6000? Без дополнительных инструментов узнать это будет сложно.

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

Виды запросов

SQL синтаксис реализует принцип CRUD (сокр. от англ. create, read, update, delete — «создать, прочесть, обновить, удалить»). Т.е. с помощью запросов вы сможете реализовать все эти функции.

На выборку

В этом случае в ход вступает принцип «прочесть». Например, нам нужно найти всех студентов, которые учатся в Харькове. Для этого нужно:

  1. Перейти во вкладку «Создание».
  2. Нажать кнопку «Конструктор запросов» в блоке «Другие».
  3. В новом окне нажмите на кнопку SQL.
  4. В текстовое поле введите команду: SELECT * FROM Студенты WHERE Адрес = «Харьков»; где «SELECT *» означает, что выбираются все студенты, «FROM Студенты» — из какой таблицы, «WHERE Адрес = «Харьков»» — условие, которое обязательно должно выполняться.
  5. Нажмите кнопку «Выполнить».
  6. На выходе мы получаем результирующую таблицу.

А что делать, если нас интересуют студенты из Харькова, стипендии у которых больше 1000? Тогда наш запрос будет выглядеть следующим образом:

SELECT * FROM Студенты WHERE Адрес = «Харьков» AND Стипендия > 1000;

а результирующая таблица примет следующий вид:

На создание сущности

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

  1. Перейти во вкладку «Создание».
  2. Нажать кнопку «Конструктор запросов» в блоке «Другие».
  3. В новом окне нажмите на кнопку SQL, после чего в текстовое поле введите команду:

CREATE TABLE Преподаватели
(КодПреподавателя INT PRIMARY KEY,
Фамилия CHAR(20),
Имя CHAR (15),
Отчество CHAR (15),
Пол CHAR (1),
Дата_рождения DATE,
Основной_предмет CHAR (200));

где «CREATE TABLE» означает создание таблицы «Преподаватели», а «CHAR», «DATE» и «INT» — типы данных для соответствующих значений.

  1. Кликните по кнопке «Выполнить».
  2. Откройте созданную таблицу.
На добавление, удаление, редактирование

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

  • для заполнения кортежа:
    INSERT INTO Преподаватели
    VALUES (1, ‘Иванова’, ‘Иванна’, ‘Ивановна’, ‘Ж’, ’05-06-1981′, ‘География’);
  • для редактирования записи:
    UPDATE Преподаватели SET Имя = ‘Анна’;
  • для удаления:
    DELETE * FROM Преподаватели WHERE Имя=’Анна’;.

Создание формы

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

  1. Откройте интересующую таблицу.
  2. Перейдите во вкладку «Создание».
  3. Нажмите на необходимый формат формы из блока «Формы».

Все базовые функции MS Access 2007 мы уже рассмотрели. Остался последний важный компонент – формирование отчета.

Формирование отчета

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

Если вы никогда не сталкивались с подобной функцией, рекомендуется воспользоваться встроенным «Мастером отчетов». Для этого сделайте следующее:

  1. Перейдите во вкладку «Создание».
  2. Нажмите на кнопку «Мастер отчетов» в блоке «Отчеты».
  3. Выберите интересующую таблицу и поля, нужные для печати.
  4. Добавьте необходимый уровень группировки.
  5. Выберите тип сортировки каждого из полей.
  6. Настройте вид макета для отчета.
  7. Выберите подходящий стиль оформления.

Если отображение вас не устраивает, его можно немного подкорректировать. Для этого:

  1. Нажмите ПКМ на вкладке отчета и выберите «Конструктор».
  2. Вручную расширьте интересующие столбцы.
  3. Сохраните изменения.

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

Для проектирования более сложных БД необходимо разбираться в объектно-ориентированном программировании и изучать такие СУБД, как MS SQL и MySQL. А для тех, кому нужна практика составления запросов, рекомендую посетить сайт SQL-EX, где вы найдете множество практических занимательных задачек.

Удачи в освоении нового материала и если есть какие-либо вопросы – милости прошу в комментарии!

Access. Особенности работы в многопользовательском режиме.

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

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

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

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

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

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

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

• Сетевое размещение. В данной конфигурации единый MDB-файл располагается на сетевом серве­ре, и пользователи получают доступ к базе данных при обращении к серверу. Данные и выполня­емые модули могут содержаться в едином MDB-файле либо размещаться на файловом сервере в виде нескольких отдельных файлов. Преимуществом данной конфигурации является простота поддержки, поскольку при необходимости в обновлении нуждается лишь выполняемый файл. Однако, поскольку все формы, отчеты, модули, запросы, ЕХЕ-файлы Access, а также все библиотеки DLL и т.п. должны передаваться по сети на рабочую станцию, сетевой трафик неоправданно возрастает, а производительность значительно снижается. Вероятно, в подобных конфигурациях следует исполь­зовать связанные формы. Далее рассматриваются проблемы связывания форм с данными и возни­кающие при этом конфликты доступа.

• Разделенная база данных с размещенными в сети данными. Такая конфигурация по традиции на­зывается конфигурацией удаленной базы данных (отметим, что значение слова «удаленная» в чрез­вычайно динамичную эпоху Internet постепенно меняется и вскоре может устареть), поскольку данные отделены от выполняемого модуля или программного кода, хотя механизм баз данных и остается локальным. В отличие от конфигурации клиент-сервер, механизм баз данных Access на пользовательском ПК получает, обрабатывает, блокирует и снимает блокировку с данных, находя­щихся в MDB-файле на сетевом сервере. Работа в такой конфигурации зависит от механизмов баз данных одновременно работающих пользователей, а также от возможностей файлового сервера, касающихся поддержания сетевого графика. До настоящего времени при размещении приложений баз данных Access предпочтение отдают именно этому методу. Его преимуществом является высо­кая производительность и управляемость при корректном использовании. Поскольку при размеще­нии данных в сети по каналам связи передаются только они, сетевой трафик значительно снижается. Основной недостаток данной конфигурации заключается в том, что на каждом клиентском ПК необходимо устанавливать Access и выполняемый MDE- (скомпилированный вариант базы данных MDB) либо MDB-файл, что осложняет поддержку приложения. Тем не менее, существуют спосо­бы решения подобной проблемы.

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

• Конфигурация клиент-сервер. В Access 2000 появилась новая возможность создания клиент-сервер­ных приложений на базе проекта Microsoft Access. В такой конфигурации удаленными являются как данные, так и механизм баз данных. Если данными управляет SQL Server, Oracle или какой-либо иной сервер баз данных, расположенный на центральном компьютере, он также решает вопросы блокировки и проблемы работы в многопользовательской среде. Это не означает, что разработчик избавлен от необходимости решения всех связанных с ними задач, просто ему приходится иметь дело с иными наборами свойств, возможностей и правил. Основными преимуществами такой конфигу­рации являются высокая производительность, стабильность, возможность обслуживания большого количества пользователей и выполнения множества задач. Наибольший недостаток данной конфи­гурации состоит в высокой стоимости и значительной сложности.

В данной главе рассматриваются вопросы, которые являются общими для сетевых конфигураций: схе­мы разделенной базы данных и реализации архитектуры клиент-сервер. О репликации рассказывается в главе 22.

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

Access и способы блокировки в Jet

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

Основные сведения о блокировке

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

В диалоговом окне Options (Параметры), отображающемся при выполнении команд меню Tools Options (Сервис / Параметры), во вкладке Advanced (Другие) имеется параметр Default open mode (Режим откры­тия, определенный по умолчанию). Здесь можно определить режим открытия базы данных, т.е. должна ли она открываться для монопольного доступа (только для одного пользователя на весь сеанс работы) или для общего доступа.

Если выбран режим Exclusive (монопольный доступ), базу данных имеет право открывать только один пользователь. В этом случае Access изменяет заголовок LDB-файла, тем самым блокируя его (подробнее об этом см. в разделе «LDB-файл») и запрещая доступ к данным для всех других пользователей. Очевид­но, для многопользовательского приложения такая настройка использоваться не должна. Однако такие процедуры, как сжатие и восстановление, следует выполнять над базой данных, открытой для монополь­ного доступа.

Режим Shared (Общий доступ) позволяет открывать базу данных нескольким пользователям одновре­менно. При этом Access в момент открытия базы данных заносит информацию о подключившихся к ней пользователях в LDB-файл и задействует механизм блокировки и освобождения страниц и строк.

Эти и другие параметры можно задавать в командной строке во время запуска приложения Access. Некоторые из них перечислены в табл. 1.

Таблица 1 Параметры командной строки при запуске Access

Защита на уровне пользователя

Защита на уровне пользователя применяется в случаях, когда с одной БД работают несколько пользователей или групп пользователей, имеющих раз­ные права доступа к объектам БД. Использовать защиту на уровне пользователя можно на отдельном компьютере и при коллективной работе в составе локальной сети. Этот способ защиты подобен способам разграничения дос­тупа в локальных сетях.

Для организации защиты на уровне пользователя в системе Access созда­ются рабочие группы (РГ). Каждая рабочая группа определяет единую технологию работы совокупности пользователей. Система Access в произволь­ный момент времени может работать с одной РГ. Заметим, что СУБД может работать с одной базой данных. Если в сеансе работы СУБД в ней попытаться открыть вторую БД, то первая БД автоматически закроется. Правда, мож­но запустить на выполнение несколько систем Access, поскольку Windows является многооконной системой.

Информация о каждой РГ хранится в соответствующем файле РГ (System.mdw), который автоматически создается при установке системы. Информация о размещении этого файла хранится в системном реестре. Для управления рабочими группами в Access 2002 имеется программа «Админис­тратор рабочих групп» (АРГ), запустить которую можно из подменю Сервис | Защита (Tools | Security).

Кроме сведений о системе защиты на уровне пользователя в файле РГ хранятся параметры системы Access. Изменить установленные по умолчанию системные параметры пользователь может с помощью команды Сервис | Па­раметры (Tools | Parameters). Эти параметры включают в себя: параметры отображения информации системой Access (строки состояния, окна запуска, панели инструментов, скрытых и системных объектов), параметры средств разработки запросов, экранных форм, отчетов и программ (модулей), установку действий на нажатие клавиш, параметры режима правки и поиска информации в БД и другие параметры, определяющие режим открытия БД по умолчанию (общий или монопольный доступ), вид блокировки при совместном изменении информации в БД (отсутствие всех записей или только изменяемой записи), период обновления и т.д.

Файл РГ описывает группы пользователей и отдельных пользователей, входящих в эту РГ. Он содержит учетные записи групп пользователей и от­дельных пользователей. По каждой учетной записи система Access хранит права доступа к объектам базы данных.

По умолчанию в каждую рабочую группу входит две группы пользовате­лей: администраторы (имя группы Admins) и обычные пользователи (имя группы Users). Причем, в группу Admins первоначально включен один ад­министратор под именем Admin.

При создании групп указывается имя (идентификатор) группы и код, представляющий собой последовательность от 4 до 20 символов. При регистрации (создании) пользователей в системе защиты им присваивается имя, код и необязательный пароль. Имена групп и пользователей, их коды, а так­же пароли пользователей (если они заданы) Access скрывает от пользователя. Поэтому если пользователь их забудет, найти их в файле РГ и восстано­вить практически невозможно. Коды группы и пользователя используются для шифрования системой учетных записей в файле РГ.

Каждому из пользователей, независимо от принадлежности к группе, можно присвоить пароль. Этот пароль, в отличие от пароля БД, называется паролем учетной записи и хранится в учетной записи в файле РГ. Первоначально все включаемые в РГ пользователи, в том числе и пользователь Admin, имеют пустой пароль или, можно считать, что не имеют пароля.

Каждой из групп приписываются определенные права на объекты БД. Члены группы Admins имеют максимальные права.

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

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

1. Группы Admins и Users удалить невозможно.

2. В группе Admins должен быть хотя бы один пользователь. Первоначально таким пользователем является пользователь Admin (администратор). Удалить пользователя Admin из этой группы можно после включения в нее еще одного пользователя.

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

4. Удалить пользователя Admin из рабочей группы нельзя (из группы Admins его можно удалить, а из группы Users — нет).

5. Создаваемые группы не могут быть вложены в другие группы, другими словами, нельзя создавать иерархию групп пользователей.

6. В системе защиты могут быть пустые группы, но не может быть пользо­вателей, не входящих ни в одну группу (они обязательно войдут в груп­пу Users).

Рабочая группа имеет структуру, показанную на рис. 6.1. Здесь буквами А, В и F обозначены созданные группы пользователей, а буквами Р1, Р2, РЗ, Р4 и Рn — пользователи. Все пользователи являются членами группы Users. Группа F пока пуста.

Рис. 6.1. Структура рабочей группы

Основное назначение системы защиты на уровне пользователя состоит в контроле прав доступа к объектам базы данных. Для этого нужно установить защиту БД с помощью Мастера защиты.

Существующие в Access типы прав доступа приведены в таблице 6.1.

Ссылка на основную публикацию
Adblock
detector