Технологии и инструментальные средства построения СУБД

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

- целостность и непротиворечивость данных, под которыми понимается как физическая сохранность данных, так и предотвращение неверного использования данных, поддержка допустимых сочетаний их значений, защита от структурных искажений и несанкционированного доступа;

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

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

- операционные системы и языки программирования не ориентированы на специфические параметры логической и физической организации баз данных;

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

- доступ к данным требует разработки специальных алгоритмов и управляющих программ;

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

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

- языковые средства (трансляторы с языков описания данных, языков манипулирования данными, языков программирования, редакторов и отладчиков);

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

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

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

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

· Сама предметная область

· Модель предметной области

· Логическая модель данных

· Физическая модель данных

· Собственно база данных и приложения

Предметная область - это часть реального мира, данные о которой мы хотим отразить в базе данных.

Модель предметной области - это наши знания о предметной области. Знания могут быть как в виде неформальных знаний в мозгу эксперта, так и выражены формально при помощи каких-либо средств.

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

Основным средством разработки логической модели данных в настоящий момент являются различные варианты ER-диаграмм (Entity-Relationship, диаграммы сущность-связь).

Физическая модель данных описывает данные средствами конкретной СУБД.

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