СУБД. Определение базы данных.
Лекция № 2. Информационные системы и базы данных.
Документация и методы ее формирования.
Прикладная информационная система опирается на некоторую систему управления данными. Эта система управления данными называется системой управления базами данных (СУБД).
База данных – это совокупность взаимосвязанных, хранящихся вместе данных при наличии такой минимальной избыточности, которая допускает их использование оптимальным образом для одного или нескольких приложений; данные хранятся таким образом, чтобы они были независимы от программ, их использующих; для добавления новых или модификации существующих данных, а также при поиске данных в базе данных применяется общий управляемый способ. Данные структурированы так, чтобы обеспечивалась возможность наращивания как собственно данных, так и приложений, их использующих.
Избыточность – это многократное дублирование одной и той же информации в массивах данных. Причины наличия избыточности:
§ уменьшения времени доступа к данным;
§ упрощение способов адресации;
§ восстановление данных при сбое.
Недостатком избыточности является не только дополнительные затраты на хранение, но и усложнение транзакций обновления.
Независимость данных от программ понимают в том смысле, что изменение одних не должно приводить к изменению других. Полной независимости, как и полной неизбыточности редко удается достигнуть.
Фрагмент логики программы, отвечающий за управление данными, был выделен в отдельный компонент, названный СУБД. Одно из важнейших требований, предъявляемых к СУБД это обеспечение независимости данных от программ; при этом все данные должны храниться в соответствии с некоторой стандартной внутренней структурой, доступ к которым может быть предоставлен всем прикладным программам, нуждающимся в этих данных.
СУБД изолируют данные от прикладных программ таким образом, что при изменении данных не нужно менять программу, либо реорганизовывать данные. Для работы с данными в распоряжение пользователей предоставляется язык запросов, с помощью которого они могут стандартным образом выбирать и изменять данные.
Информационные системы, реализованные на основе баз данных, рассматриваются как сложное многоуровневое программное обеспечение.
На самом верхнем уровне прикладная программа формулирует свои запросы на языке SQL, используя термины логической схемы базы данных, и направляет на вход СУБД.
Интерфейсная составляющая СУБД проводит синтаксический и семантический анализ запроса с использованием метаданных и определяет унифицированную процедуру, отвечающую за выполнение запроса.
Унифицированная процедура СУБД, в соответствии с атрибутами, заданными в запросе, выполняет запрос на уровне физической схемы в памяти машины.
Рис. 2.3. СУБД в составе информационной системы
Очевидно, что СУБД должна поддерживать достаточно развитую функциональность. Повторять эту функциональность в каждой информационной системе неразумно. Так мы приходим к организации системы, показанной на Рис. 2.4. . Здесь мы видим три информационные системы, которые через одну СУБД работают с двумя разными базами данных, причем первая и вторая системы работают с общей базой данных. Это возможно,
поскольку метаданные каждой базы данных содержатся в самих базах данных, и достаточно лишь указать СУБД, с какой базой данных желает работать данное приложение.
Рис. 2.4. Отдельная СУБД и база данных с метаданными
Поскольку СУБД функционирует отдельно от приложений, и ее работа с базами данных регулируется метаданными, совместное использование одной базы данных двумя информационными системами не вызовет потери согласованности данных, и доступ к данным будет должным образом синхронизироваться.
Заметим, что схема, приведенная на Рис. 2.4., вплотную приближается к наиболее распространенной архитектуре «клиент-сервер». СУБД играет роль «сервера», обсуживающего нескольких «клиентов» – прикладных информационных систем.
Microsoft SQL Server, являясь всеобъемлющей системой для управления базами данных и их анализа, представляет собой набор серверных и клиентских компонентов (см.
рис. 2.5).