Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Организация баз данных.-5.pdf
Скачиваний:
21
Добавлен:
05.02.2023
Размер:
1.3 Mб
Скачать

21

ками баз данных. В большинстве ранних СУБД изначально поддерживалось несколько типов языков. Можно выделить два языка — язык манипулирования данными DML (Data Manipulation Language) и язык определения схемы БД SDL (Schema Definition Language). С помощью

SDL определялась логическая структура БД, DML содержал набор операторов для манипулирования данными. В более поздних СУБД был образован единый интегрированный язык, с помощью которого можно полноценно управлять БД, начиная от ее создания и заканчивая выводом структурированной информации в ответ на запрос, написанный на этом языке. Одним из таких языков, используемый в большинстве реляционных СУБД является язык SQL (Structured Query Language).

Язык SQL позволяет выполнять функции языков SDL и DML, с его помощью можно сгенерировать схему БД и манипулировать данными. С помощью языка SQL можно создавать сложные конструкции, определяя, в том числе и ограничения целостности БД.

Более подробно стандарты и функции языка SQL, а также других языков манипулирования данными будут рассмотрены в разделе 7 данного пособия.

Обеспечение безопасности базы данных

Защита информации в информационных системах является серьезной и кропотливой задачей. На самом элементарном уровне ее решение сводится к обеспечению выполнения двух фундаментальных принципов: проверки полномочий пользователя – санкционирование доступа и проверку подлинности – аунтификацию [6].

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

В большинстве СУБД задание и проверка полномочий определяется внутренними средствами системы, одним из способов задания полномочий является использование операторов Grant и Revoke языка

SQL.

Определяются следующие уровней доступа пользователей к объектам БД:

создание объекта БД;

изменение;

чтение;

удаление;

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

области базы данных.

22

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

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

Одним из способов безопасного хранения данных является ис-

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

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

Механизмы обеспечения безопасности данных постоянно совершенствуются разработчиками СУБД и являются на сегодняшний день одним из перспективных направлений в развитии информационных технологий. Организацию политики безопасности в СУБД MS Access мы рассмотрим в главе 10 настоящего пособия.

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

2.2. Архитектура представления информации в концепции БД

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

(рис. 2.1):

физическое представление размещение физической структуры и значений хранимых данных в памяти компьютера (во внешней и в оперативной);

23

концептуальное представление логическая структура БД,

формальное описание предметной области в терминах БД, представляющее описание объектов, с указанием взаимосвязей между ними, без определения методов и способов их физического хранения;

внешнее представление часть структуры БД, используемая пользователем для выдачи информации в конкретном приложении.

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

Внешнее

Внешнее

Внешнее

представление

представление

представление

Концептуальное представление

Физическое представление

Рис. 2.1. Уровни представлений БД

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

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

Пример 2.1

Концептуальное представление данных можно отобразить в виде упрощенной модели предметной области «Успеваемость студентов ВУЗа», для чего достаточно иметь сведения о студентах и оценке, по-

24

лученной студентом по конкретной дисциплине в конкретном семестре. Обычно для иллюстрации процесса проектирования концептуальной модели используют графическое представление информационных элементов: объектов и взаимосвязей. В нашем примере стрелкой определяется связь между двумя элементами модели, указывая, что каждой записи (строке) в таблице СТУДЕНТЫ, будет соответствовать несколько записей в таблице УСПЕВАЕМОСТЬ (рис. 2.2).

СТУДЕНТЫ

 

УСПЕВАЕМОСТЬ

 

 

 

 

 

№ зачетной книжки

 

 

Наименование

 

ФИО студента

 

 

 

дисциплины

Пол

 

 

 

Семестр

Место рождения

 

 

 

Оценка

Дата рождения

 

 

 

 

№ группы

 

 

 

 

Рис. 2.2. Концептуальное представление информации

об успеваемости студентов ВУЗа

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

Пример 2.2

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

Таблица 1

ID_Stud

ФИО

Пол Место

Дата

зачетной

студента

рождения

рождения

группы

книжки

 

 

 

 

Таблица 2

ID_Stud Наименование Семестр Оценка

дисциплины

Рис. 2.3. Физическое представление информации о студентах ВУЗа

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

25

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

Пример 2.3

Внешнее представление. Создавая приложение, разработчик определяет перечень таблиц и полей этих таблиц, необходимых для ввода или вывода данных. На рис. 2.4 представлен внешний вид отчета и внешнее представление БД, необходимое для его создания.

Информация об успеваемости студентов за 3-й семестр

ФИО студента

 

Дисциплина

Оценка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ФИО студента

Дисциплина

 

Оценка

 

Семестр

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 2.4. Внешний вид отчета об успеваемости студентов ВУЗа и соответствующее внешнее представление

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

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

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

26

основы применения представлений и соответствующих им моделей данных подробно описаны в [ 7]. В современных СУБД существуют средства графической реализации подсхем, являющихся основой внешних представлений проектируемого разработчиком пользовательского приложения.

Таким образом, одна из главных задач разработчика (администратора) базы данных состоит в создании концептуальной модели предметной области, обеспечивающей концептуальное представление данных и выборе СУБД для ее практической реализации.

Контрольные вопросы

1.Перечислите и кратко охарактеризуйте основные функции СУБД.

2.Дайте определения представлений данных.

3.Дайте определение понятий схемы и подсхемы данных.