Ввод и контроль данных в справочные таблицы 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Ввод и контроль данных в справочные таблицы



 

Эксплуатация БД начинается с ввода в неё учетных данных, только затем возможна реализация операций по их обработке. Учетные данные, как правило, сохраняются в рабочих, дочерних таблицах. Для нормального начала ввода учетных данных необходимо наличие первоначальной информации в справочных, родительских таблицах. Функция первоначального наполнения справочных таблиц возлагается на администратора БД, затем она может быть осторожно, с соблюдением всех требований предметной области, передана пользовательским приложениям.

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

 

Словарь данных

 

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

В зависимости от используемой СУБД, количество информации в системном каталоге и способы её использования могут изменяться. Обычно в словаре данных хранятся описания структур объектов БД:

— имена, типы и размеры элементов данных (таблицы, поля таблиц);

— имена связей;

— имена, описание структур объектов БД;

— накладываемые на данные ограничения целостности;

— имена пользователей, которые имеют права доступа к объектам БД;

— пользовательские ограничения;

— и другое.

Любая СУБД, в которой создается словарь данных, имеет средства (комплект утилит) для просмотра и работы с метаданными. Так, например, работая с локальным сервером InterBase, средствами утилиты IBConcole можно просмотреть перечень объектов БД и их структуру – пункты меню Database, Veiw Metadata. СУБД, поддерживающие работу со словарем данных, имеют также таблицу, в которой есть описание структуры и словаря. Это делает возможным просмотр метаданных с использованием команды Select.


Администрирование БД

 

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

Одной из основных функций администратора БД является упрощение разработки и использования базы данных. Как правило, это означает поддержку баланса между защитой базы данных и максимизацией её доступности и выгод от её использования.

Рассмотрим основные функции администратора БД

 

Управление структурой БД

 

Администратор базы данных принимает активное участие в проектировании и реализации БД и далее, в ходе эксплуатации, следит, контролирует и управляет созданной структурой.

Требования к структуре БД могут меняться в процессе её эксплуатации. Это может быть обусловлено рядом причин: изменением или расширением автоматизируемых бизнес—процессов предприятия, реструктуризацией БД вследствие её дополнительной нормализации или денормализации, реформатизацией БД (переход в среду другой СУБД).

АБД, обладающий полными правами на структуру БД, выдает права на управление схемами (подсхемами) БД прикладным программистам в рамках решаемых ими задач. Прикладной программист, владея схемой, управляет структурой БД в рамках этой схемы. Администратор базы данных участвует в проектировании новых фрагментов БД, согласуя эти новые фрагменты с существующей, основной частью схемы БД. В обязанности АБД входит также документирование процесса управления базой данных. Важно знать, какие модификации были произведены, когда и каким образом. Это может быть реализовано с помощью создания соответствующих объектов БД. Например, триггеров, создающих записи в специальных таблицах в ответ на какие—либо действия с таблицей, для которой создан триггер. Такое фиксирование помогает решить ряд проблем при возникновении конфликтных ситуаций.

 

Защита данных

 

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

Защита данных рассматривается в 2—х аспектах.

1 Управление доступом – защита данных от несанкционированного (преднамеренного, незаконного) доступа, поддержка функции секретности БД.

2 Управление целостностью – защита данных в БД от неверных, непреднамеренных изменений и разрушений – поддержка функции безопасности БД. Обеспечение целостности данных и целостности всей БД — часть решения этой проблемы

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

1 Обеспечение достоверности. Состоит в предотвращении возможности появления недопустимых значений данных из—за ошибки в нарушении ограничений целостности БД. Задача решается как средствами СУБД, так и приложений.

2 Управление параллелизмом. Управление данными должно осуществляться таким образом, чтобы при одновременном выполнении нескольких операций целостность БД не нарушалась.

3 Восстановление. При возникновении неисправности со стороны программного или аппаратного обеспечения системы необходимо иметь возможность за предельно короткое время восстановить то состояние БД, которое было перед сбоем.

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

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

 

Авторизация пользователей

 

Авторизация – предоставление прав (или привилегий), позволяющих владельцу иметь законный доступ к системе или к её объектам. Механизм авторизации часто называют подсистемой управления доступом, которая также требует проектирования. Процесс авторизации включает в себя идентификацию и аутентификацию пользователей.

Идентификация — это точное установление личности пользователя на основании различных признаков. Использование пароля – идентификация пользователя по одному признаку. Идентификация позволяет системе установить имя пользователя.

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

Администратор БД каждому созданному в БД пользователю присваивает уникальный идентификатор (логин), с каждым идентификатором связывается пароль, известный только пользователю. СУБД проверяет идентификатор и пароль пользователя при соединении пользователя с БД посредством утилит СУБД или приложения, которое настроено на соединение с БД.

Алгоритм реализации процедуры проверки прав доступа пользователей может быть разным. Необходимо использовать все имеющиеся в СУБД средства для реализации точной настройки прав доступа, но не в коем случае не «зашивать» пароль пользователя в код прикладной программы.

Более тонкая настройка уровней доступа пользователей возможна средствами языка SQL. Для этого можно использовать такие объекты БД как представления (просмотры, view).

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

Привилегия доступа – возможность определенного пользователя (группы пользователей) выполнять определенный вид действия над определенными объектами БД. Привилегии определяется АД и реализуется АБД или другим пользователем, которому АБД предоставил такое право.

SQL команда установки привилегий выглядит следующим образом: Grant <вид привилегии> On <имя таблицы/имя представления> To <объект/список пользователей>.

Существуют следующие виды привилегий: — All – возможность выполнения всех операций (Select, Delete, Insert, Update, Execute); Select – только чтение данных; Delete – только удаление; Inser t – только добавление; Update – только обновление; Execute – возможность выполнения хранимых процедур.

Объект это: процедура; триггер; представление (просмотр); пользователь и др.

По умолчанию доступ к таблицам и хранимым процедурам имеет только тот пользователь, который их создал. Естественно, АБД имеет доступ ко всем объектам БД. Для предоставления пользователю привилегии доступа к таблице в операторе Grant необходимо указать, как минимум, следующие параметры: ключевое слово, обозначающее вид привилегии доступа; имя таблицы; имя пользователя.


Пример 1. Предоставление пользователю IvanovVV права на выполнение поиска данных в таблице c названием Adres: Grant Select On Adres To IvanovVV. Пример команды создания пользователя: Create User IvanovVV Identified By <пароль>.

Пример 2. Дать право выполнять все операции всем пользователям в таблице Adres: Grant Select, Insert, Update On Adres To Public.

Пример 3. Предоставить пользователям IvanovVV и PetrovKL добавлять и менять значения столбцов А1 и А2 в таблице Adres: Grant Update (А1,A2) On Adres To IvanovVV, PetrovKL.

Команда создания представления выглядит следующим образом: Create View <имя таблицы [(список столбцов)]> As (<Select >). Например, команда Create View «Представление1» («Название») As Select «Название» From «Должность» Where «Код категории» = 5, создает динамическую таблицу с именем «Представление1», в которой будет формироваться столбец с названием должностей из таблицы «Должность», поле «Код категории» которых равен 5.

Пример использования представления в команде назначения прав: Grant Select On «Представление1» To «Пользователь1», «Пользователь2». После выполнения команды пользователям «Пользователь1» и «Пользователь2» будут даны права на чтение названий должностей, относящихся к 5 категории.

Данные представления можно обновлять, т.е. применять к этому объекту БД операции добавления, изменения, вставки и удаления записей. Тогда пользователь, имеющий права на работу с этим представлением, сможет вследствие получить права и на операции, определенные для этого представления. При этом некоторые СУБД требуют выполнения трех условий: представление должно формироваться из записей только одной таблицы; в представление каждый столбец должен иметь опциональность Not Null; оператор Select представления не должен использовать агрегирующих функций, режима Distinct, предложения Having, операций соединения таблиц, хранимых процедур и функций, определенных пользователем.

 



Поделиться:


Последнее изменение этой страницы: 2017-02-17; просмотров: 174; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.218.61.16 (0.012 с.)