- •Глава 1 Введение в информационные системы
- •Глава 1. Введение в информационные системы
- •1.1 Что такое информационная система
- •1.2. Цели, функции и структура ис
- •1.3 Основные типы информационных систем
- •Контрольные вопросы
- •Задания
- •Глава 2 Функции, задачи и средства защиты данных в информационных системах
- •2.1. Функции и задачи защиты данных
- •В информационных системах
- •2.2. Обязанности администратора бд по защите данных в ис
- •В информационных систем
- •Контрольные вопросы
- •Задания
- •3.2. Идентификация пользователя
- •Частота выбора пароля человеком и его раскрываемость
- •На основе простейшего алгоритма
- •И аутентификации пользователя
- •3.3. Управление доступом к данным в информационных системах, основанных на реляционной модели
- •Глава 4 Обеспечение целостности данных в информационных системах, основанных на реляционной модели
- •4.1. Целостность данных и ограничения целостности
- •4.2. Семантическая целостность (целостность сущностей)
- •4.3. Ссылочная целостность
- •Контрольные вопросы
- •Задания
- •Глава 5. Основные методы и приемы защиты данных при несанкционированном доступе
- •5.1 Общая характеристика основных методов и приемов защиты данных при несанкционированном доступе
- •Методов защиты данных
- •5.2. Методы подстановки
- •5.3. Методы перестановки
- •Контрольные вопросы
- •Задания
- •Глава 6. Реализация защиты данных в информационных системах
- •6.1. Концепции разработки ис
- •6.2. Особенности реализации защиты данных при разработке ис в рамках концепции баз данных
- •Р исунок 8. Определение первичного ключа для таблицы «Студент»
- •Значений первичного ключа
- •Не соответствующих типу поля
- •Для задания интервала значения числового поля в субд access
- •По формату и интервалу значений в субд access
- •Для задания формата данных (поле «№ телефона»)
- •Для поля «Тип учреждения» таблицы «Участники конференции»
- •Поля «Тип учреждения» таблицы «Участники конференции»
- •6.3. Особенности реализации защиты данных при разработке ис в рамках концепции файловых систем
- •Контрольные вопросы
- •Задания
- •Заключение
- •Библиографический список
- •Приложение Как устроен файл .Dbf
- •Построение заголовка файла .Dbf
- •Алфавитно-предметный указатель
Не соответствующих типу поля
Зачастую возникает потребность в более жестких ограничениях. Рассматривая в качестве примера все ту же таблицу «Студент», реализуем такое ограничение целостности, как «Значение поля «курс» должно находиться в интервале от 1 до 5». В СУБД ACSESS достаточно в режиме конструктора внести соответствующее логическое выражение в строку «Значение на параметр» и заполнить строку «Сообщение об ошибке» (рис. 15).
Рис.15. Пример реализации ограничения целостности
Для задания интервала значения числового поля в субд access
Существуют достаточно простые способы задания такого ограничения целостности и в СУБД FoxPro.
Так, например, как для ввода нового значения (в пустое поле), так и для редактирования имеющегося можно воспользоваться командой редактирования @ … SAY … GET … READ
@ 2,4 SAY «Ведите курс» GET kurs VALID kurs>0 .AND. kurs<=5; ERROR «Ошибка! Значение поля должно быть в интервале от 1 до 5»
READ
В более сложных случаях в опции VALID может быть указано не логическое выражение, а пользовательская функция.
Реализация ограничений целостности для полей строкового типа зачастую предполагает использование функций. Так, в частности, для организации контроля за тем, чтобы Фамилия, Имя, Отчество содержали буквы кириллицы, можно использовать, например, функцию Asc(), которая возвращает ASCII код первого символа строки, являющейся аргументом. Как известно, символам кириллицы в таблице кода ASCII соответствуют коды со 128 по 175 и с 224 по 239. В связи с этим вводимое значение (по крайней мере первый символ) должно удовлетворять следующему логическому выражению: Asc([Имя])>=128 And Asc([Имя])<=175 Or Asc([Имя])>=224 And Asc([Имя])<=239. Однако, исходя из здравого смысла и учитывая, что значениям кода со 176 по 123 соответствуют символы псевдографики, можно записать и более простое логическое выражение (рис. 16).
Рис. 16. Пример реализации ограничения целостности
По формату и интервалу значений в субд access
Следует обратить внимание на то, что дополнительные возможности для контроля за вводом данных обеспечивает задание маски ввода. Так, в частности, маска «>L<???????????????» обеспечивает ввод с клавиатуры символов латиницы и кириллицы, причем первый символ – автоматически преобразуется в прописной, что предопределено наличием в маске знака «>», а остальные буквы будут строчными в связи с присутствием в маске знака «<».
Следует заметить, что использование маски ввода при описании структуры таблицы в СУБД ACCESS предоставляет широкие возможности для реализации ограничений целостности.
При этом нецелесообразно использовать маску ввода одновременно с форматом поля, который обеспечивает лишь заданное отображение данных на экране и не влияет на то, в каком виде хранятся данные.
Использование маски ввода облегчает процесс вода данных, предоставляя пользователю некоторый шаблон или автоматически выполняя какие-либо преобразования. Так в предыдущем примере в независимости от того, с использованием какого регистра пользователь будет вводить данные в поле «Имя», на экран значение поля будет выводиться и в базе данных будет храниться в соответствии с заданной маской. Для задания маски могут использоваться различные символы, задавая разнообразные правила преобразования данных (табл. 5).
Приведем несколько примеров конкретного применения маски ввода для данных, которые должны вводиться и сохраняться в заданном формате.
Таблица 5
Символы, используемые для создания масок ввода
Символ |
Описание |
0 |
На заданном месте обязательно стоит цифра (0-9) |
9 |
На заданном месте стоит цифра либо пробел, либо ничего |
# |
Цифра, пробел, знаки плюс (+) и минус (-), введенные пробелы при сохранении удаляются |
L |
На заданном месте обязательно символ кириллицы или латиницы |
? |
На заданном месте либо символ кириллицы или латиницы, либо ничего |
A |
Буква или цифра, обязательный символ |
a |
Буква или цифра, необязательный символ |
& |
Любой символ или пробел, обязательный символ |
C |
Любой символ или пробел, необязательный символ |
> |
Преобразование букв к прописным |
< |
Преобразование букв к строчным |
! |
Заполнение данных справа налево |
\ |
Символ, следующий за этим знаком выводится как константа |
PASSWORD |
Вводимые символы отображаются в виде звездочек, а сохраняются в том виде, в каком введены |
Все известно, что регистрационный номер транспортного средства имеет следующий формат: БЦЦЦББ (здесь «Б» обозначает заглавную букву, «Ц» - любую цифру). Ограничение целостности должно быть сформулировано следующим образом: «Для базы данных «Автовладелец» в таблице «Автомобиль» необходимо обеспечит ввод данных в поле «регистрационный номер автомобиля» по формату: первый символ – большая буква, кириллицы, второй, третий и четвертый символ – цифра, пятый и шестой символ - большая буква, кириллицы». Ограничение целостности можно определить через свойства поля так, как показано ниже, задав и маску ввода, и условие на значение (рис. 17).
Рис.17. Пример реализации ограничения целостности в СУБД ACCESS для задания формата данных(поле «регистрационный № авто»)
Создает определенные удобства в работе и одновременно обеспечивает реализацию ограничений целостности, задание маски для ввода значения в поле «№ телефона» (рис. 18).
Рис. 18. Пример реализации ограничения целостности в СУБД ACCESS