Введение в дисциплину «Безопасность систем баз данных». Теоретические основы построения реляционных баз данных. Верификация баз данных и проведение аудита в СБД. Распределенные базы данных, страница 2

Подробнее следует остановиться на языке баз данных. Наиболее популярным на сегодняшний день является язык структурированных запросов (SQL), который очень удобен для обработки реляционных БД (изучению реляционной модели данных посвящен раздел 2 настоящего конспекта лекций). Средства этого языка позволяют создавать достаточно сложные процедуры и функции обработки записей, причем коды этих процедур и функций могут храниться вместе с записями, в БД. Пока такой возможности не существовало, БД могли быть исключительно хранилищами записей, а сложные программные процедуры обработки данных реализовывались на стороне прикладных программ-клиентов. Но в настоящее время наиболее развитые СУБД (Oracle, Microsoft SQL Server, DB2 и прочие) поддерживают хранимые SQL-процедуры. Отсюда следует, что современные реляционные базы данных не должны восприниматься, исключительно как хранилища информации. Скорее, они имеют двойственную природу. Являясь, как и прежде, хранилищами информации, они в ряде случаев могут играть роль программных библиотек (наподобие динамически подключаемых библиотек Windows – DLL-файлов). Очевидное преимущество такого подхода – независимость логики обработки данных от клиентского приложения. Количество программ-клиентов может быть неограниченным, но логика обработки данных для всех едина: ее программная реализация расположена там же, где и сами данные, - на стороне компонента, по традиции называемого базой данных.

Взаимодействие прикладной программы-клиента с базой данных можно представить в виде схемы, изображенной на рис. 1.1. База данных на ней представлена, как серверный компонент ИПС. Программа-клиент взаимодействует с ним через интерфейс (набор SQL-процедур и функций). При этом программа-клиент функционирует в операционной среде, а база данных – в среде СУБД. В настоящее время существует тенденция к интеграции СУБД в операционные системы (СУБД Microsoft SQL Server реализована в виде набора служб Windows, что позволяет считать ее, собственно, частью операционной системы), поэтому среда СУБД на схеме показана пунктиром.

Рисунок 1.1 – Схема взаимодействия программного приложения-клиента с базой данных


1.2. Уровни абстрагирования данных. Модели данных

Для разработчика БД важно знать:

·  какую информацию требуется хранить в БД;

·  какие логические структуры используются для хранения этой информации;

·  как эти логические структуры физически размещаются и обрабатываются во внешней памяти.

В связи с этим различают три уровня абстрагирования данных: внешний, логический и физический.

Внешний уровень абстрагирования данных

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

Объекты реального мира, описываемые в БД, называют сущностями. Множество всех сущностей одного типа называется набором сущностей. Члены одного набора сущностей имеют общие свойства, которые в БД описываются с помощью атрибутов. Например, атрибутами сущности СТУДЕНТ являются: фамилия, имя, отчество, номер студенческого билета и другие. Значения атрибутов характеризуют конкретный экземпляр сущности (студент Иванов Иван Иванович, билет № 12345678). Множество значений (область определения) атрибута называется доменом. Один атрибут или совокупность нескольких атрибутов может однозначно определять данную сущность. Такой атрибут (или совокупность) называется ключом. Так, например, номер студенческого билета, будучи уникальным, однозначно определяет каждого студента, а значит, является ключом сущности СТУДЕНТ.

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