
- •I этап. Постановка задачи.
- •II этап. Анализ объекта.
- •III этап. Синтез модели.
- •IV этап. Выбор способов представления информации и программного инструментария.
- •V этап. Синтез компьютерной модели объекта.
- •VI этап. Работа с созданной базой данных.
- •Семантическая модель Entity-Relationship (Сущность-Связь)
- •10.2.1. Основные понятия er-модели
- •10.2.2. Уникальные идентификаторы типов сущности
- •Case-средства. Общая характеристика и классификация
- •Концептуальное (инфологическое) проектирование
- •4.1.1.Структура данных.
- •4.1.2.Свойства отношений.
- •Понятие функциональной, транзитивной и многозначной зависимости. Примеры.
- •Введение
- •Преимущества и недостатки [править] Преимущества [править] Независимость от конкретной субд
- •[Править] Наличие стандартов
- •[Править] Декларативность
- •[Править] Недостатки [править] Несоответствие реляционной модели данных
- •Операторы
- •Предикат сравнения
- •2.3.4.2.2 Предикат between
- •2.3.4.2.3 Предикат in
- •2.3.4.2.4 Предикат like
- •2.3.4.2.5 Предикат null
- •2.3.4.2.6 Предикат с квантором
- •Что такое агрегатные функции ?
- •Как использовать агрегатные функции ?
- •Специальные атрибуты count
- •Использование distinct
- •Использование count со строками, а не значениями
- •Включение дубликатов в агрегатные функции
- •Агрегаты построенные на скалярном выражении
- •Предложение group by
- •Предложение having
- •Не делайте вложенных агрегатов
- •Управление доступом в базах данных
- •Запросы
- •Макросы
- •Поле объекта ole
- •Гиперссылка
- •Мастер подстановок
- •Добавление записи
- •Изменение записи
- •Удаление содержимого поля или удаление всей записи
- •Создание схемы
- •Дополнительные параметры
- •Назначение и виды запросов в Access. Назначение запросов.
- •Виды запросов.
- •( Для показа суммирования в одной колонке):
- •( Для создания всевозможных подсчетов на базе Схемы данных):
- •8.2. Вычисления в запросах, возможности создания и редактирования формул.
- •8.4. Использование запросов на Удаление и на Обновление.
- •Типы отчетов Access: краткий обзор
- •Простые отчеты
- •Иерархические отчеты
- •Отчеты, содержащие отсортированные, сгруппированные записи или записи обоих типов
- •Отчет, содержащий отсортированные записи
- •Отчет, содержащий сгруппированные записи
- •Перекрестный отчет
- •Отчет, содержащий несколько столбцов
- •Структура программ на vba
- •Стандартные способы защиты Защита с использованием пароля бд
- •Защита с использованием пароля пользователя
- •Нестандартные способы защиты Изменение расширения файла
- •Защита с использованием пароля бд, содержащего непечатные символы
- •Защита с модификацией файла
- •Защита изменением версии бд
- •Защита с использованием электронного ключа
- •Шифрование значений таблиц
- •Заключение
- •Администратор базы данных (dba)
- •История
- •Основные задачи администратора базы данных
- •Основные типы администраторов бд
- •Поддержка мультимедийных объектов
- •5.1.1. Третичная память
- •5.1.2. Новые типы данных
- •5.1.3. Качество обслуживания
- •5.1.4. Запросы с нечеткими критериями
- •5.1.5. Поддержка пользовательских интерфейсов
- •5.2. Распределение информации
- •5.2.1. Степень автономности
- •5.2.2. Учет и расчеты
- •5.2.3. Безопасность и конфиденциальность
- •5.2.4. Репликация и согласование данных
- •5.2.5. Интеграция и преобразование данных
- •5.2.6. Выборка и обнаружение данных
- •5.2.7. Качество данных
- •5.3. Новые применения баз данных
- •5.3.1. Интеллектуальный анализ данных
- •5.3.2. Хранилища данных
- •5.3.3. Репозитарии
- •5.4. Управление потоками работ и транзакциями
- •5.4.1. Управление потоками работ
- •5.4.2. Альтернативные модели транзакций
- •5.5. Простота использования
- •6. Выводы
Стандартные способы защиты Защита с использованием пароля бд
Данный способ защиты позволяет установить пароль на открытие БД, для всех пользователей. Для его создания необходимо открыть файл БД в "монопольном" режиме и выбрать пункт меню Сервис / Защита / Задать пароль базы данных. Для работы с такой базой данных в MS Access потребуется вводить пароль. Вот пример работы с файлом БД, используя DAO или ADO.
Public Sub TestDAO() Dim mWS As DAO.Workspace Dim mDB As DAO.Database Set mWS = DBEngine.Workspaces(0) Set mDB = mWS.OpenDatabase _ ("C:\a97.mdb", True, True, ";pwd=123") End Sub Public Sub TestADO() Dim CnDB As New ADODB.Connection CnDB.Open "Provider=Microsoft.Jet.OLEDB.4.0" & _ ";Data Source=C:\a97.mdb" & _ ";Jet OLEDB:Database Password=123" End Sub
Это самый не надёжный способ защиты баз данных. Существует достаточное количество бесплатных и платных утилит, отображающих пароль. В том числе доступны исходники кода на VB позволяющие прочитать такой пароль. В прочем не всё так плохо. Однажды мне встретилось оригинальная модификация этого способа защиты, о котором речь пойдёт ниже.
Защита с использованием пароля пользователя
Данный способ позволяет ввести дополнительный уровень ограничений, связанных с работой БД Access. Основан на создании файла рабочих групп, в котором определяются имена пользователей, их пароли и права на работу с различными объектами БД.
Последовательность действий для создания защищённого файла:
Создание нового файла рабочих групп. Для этого в 97-2000 Access запускается программа WRKGADM.EXE, а в 2003 Access необходимо выбрать пункт меню "Сервис / Защита / Администратор рабочих групп". В администраторе жмём кнопку "Создать", указываем имя, организацию и код группы. Указываем имя и расположение создаваемого файла. Например: Имя: test_Имя Opгaнизaция: ~ Кoд paбoчeй гpyппы: cтpoчкa 20 cимвoлoв. Фaйл paбoчeй гpyппы: C:\test\gr.mdw
Создание ярлыка, для запуска ms Access с использованием созданного mdw файла. Ярлык должен содержать строку: [путь к MSACCESS.EXE] /WrkGrp [путь к файлу mdw]. Например: "C:\Program Files\MSOffice2003\OFFICE11\MSACCESS.EXE" /WrkGrp C:\test\gr.mdw
Запустив Access c помощью этого ярлыка необходимо открыть пункт меню "Сервис / Защита / Пользователи и группы". В открывшемся диалоговом окне необходимо создать нового пользователя и добавить его в группу "Admins". Например, был создан "test_Пользователь" с кодом "987654321"
Теперь необходимо открыть Access от имени созданного пользователя. Для этого необходимо добавить в созданный ярлык строку: /user [имя пользователя]. Например: "C:\Program Files\MSOffice2003\OFFICE11\MSACCESS.EXE" /WrkGrp C:\test\gr.mdw /User test_Пользователь
Запускаем Access c помощью этого ярлыка. Теперь созданному пользователю необходимо присвоить пароль. Это делается в том же диалоге "Пользователи и группы". Допустим пользователю "test_Пользователь" присвоен пароль "test_Пароль". Далее, необходимо создать новую БД. При этом владельцем этой базы, а также всех создаваемых или импортируемых объектов (таблиц, запросов и.т.п.) будет пользователь имя которого было указано в ярлыке.
После того, как БД будет создана желательно удалить "Admin" из группы "Admins" и отобрать у группы "Users" права на объекты БД и на открытие базы.
Добавляем в ярлык название защищённой БД. Например: "C:\Program Files\MSOffice2003\OFFICE11\MSACCESS.EXE" C:\test\db2k_test.mdb /WrkGrp C:\test\gr.mdw /User test_Пользователь /pwd test_Пароль
Вот пример открытия БД защищённой на уровне пользователей с помощью DAO или ADO
Public Sub TestDAO() Dim mWS As DAO.Workspace Dim mDB As DAO.Database DBEngine.SystemDB = "C:\test\gr.mdw" Set mWS = DBEngine.CreateWorkspace _ ("", "test_Пользователь", "test_Пароль", dbUseJet) Set mDB = mWS.OpenDatabase _ ("C:\test\a97.mdb", True) End Sub Public Sub TestADO() Dim CnDB As New ADODB.Connection CnDB.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=C:\test\a97.mdb;" & _ "Jet OLEDB:System database=C:\test\gr.mdw;" & _ "User ID=test_Пользователь;" & _ "Password=test_Пароль;" End Sub
Снятие такой защиты. Создать новую БД. В ярлыке прописать путь к этой БД, MDW файл защищённой БД имя и пароль владельца. Открыть с помощью этого ярлыка новую БД. Импортировать в неё таблицы из защищённой, после чего сменить для всех объектов БД владельца на Admin. Для того, чтобы узнать имя и пароль владельца БД можно воспользоваться специализированными программами, описанными в обзоре Пароли Access. При отсутствии файла рабочих групп его можно восстановить. Для этого потребуется узнать имена и идентификаторы владельцев объектов БД. Эта информация содержится в файле базы данных и может быть извлечена с помощью таких программ как AOPR. Используя эти данные создаётся новый файл. (последовательность описана выше)
Совсем не обязательно использовать программы, позволяющие определить пароль БД или пользователя. Часто программисты совсем не заботятся о сокрытии пароля в тексте программы. Запустив программу, работающую с защищённой БД необходимо открыть в шестнадцатеричном редакторе WinHex виртуальную память этого приложения. Проведя поиск Unicode строк 'User ID='; 'Password='; 'Database Password=' или 'pwd=' можно найти имя пользователя, его пароль и пароль базы данных.
Можно вовсе проигнорировать наличие защиты. Для этого надо воспользоваться AccessRecovery, которая создаёт новый файл без защиты и переносит в него таблицы, запросы, формы, макросы, отчеты и код модулей.