Сущность базы данных и системы управления базами данных

Любое предприятие или учреждение в той или иной форме занимается обработкой разнообразных данных. Характер обработки зависит от специфики задач и функций соответствующего предприятия, но в любом случае имеются операции первоначального создания совокупности данных, модификации данных и доступа к ним с целью использования. В настоящее время на многих предприятиях и учреждениях обработки больших объемов данных осуществляется на ЭВМ с помощью разнообразных автоматизированных систем управления (АСУ). Нередко на одном предприятии действуют несколько независимых АСУ, охватывающих те или иные стороны функционирования предприятия. Традиционно каждая АСУ имеет дело с определенной совокупностью данных, а входящие в них программы жестко "привязаны" к этим данным и должны модифицироваться при всяком изменении форматов и способах представления данных и физической среды хранения соответствующих данных. Это усложняет сопровождение разработанных программ. Еще один недостаток традиционных АСУ – дублирование данных, существенно затрудняющее контроль их целостности и приводящее к дополнительным расходам внешней памяти.

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

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

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

Обычная программа, предназначенная для обработки данных, находящихся в файлах на устройствах внешней памяти ВС, существенно зависит от многих деталей организации данных во внешней памяти.

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

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

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

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

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

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

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

Для организации СУБД, ее использования и сопровождения необходимы языки различного назначения. Обычно СУБД предоставляет пользователям возможность применять для написания прикладных программ один или несколько традиционных языков программирования (например, язык ПЛ/1, ФАРТРАН,ПАСКАЛЬ и т.д.). Но кроме этих языков, должны быть и специальные языки, применяемые для описания данных в терминах БД и манипулирования данными.

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

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

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

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

Как видно из рис.8.1, в состав СУБД входит комплекс системных программ. Центральный компонент этого комплекса – монитор, или управляющая программа СУБД. Монитор организует должное взаимодействие между всеми программными компонентами СУБД и представляет собой своеобразную надстройку над операционной системой ЭВМ. Рис.8.2. иллюстрирует взаимосвязь монитора СУБД с прикладной программой, операционной системой и базой данных.

На этом рисунке нумерованными стрелками представлена типичная последовательность действий, относящихся к выполнению одного предложения ЯМД, находящегося в составе прикладной программы. Пусть, например, это предложение является запросом чтения данных из БД. Для этого случая стрелки на рисунке имеют следующий смысл.

 

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

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

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

4. В соответствии с этим требованием монитора ОС реализует доступ к БД аналогично тому, как это происходит при обычном доступе к файлу или файлам.

5. В результате доступа ОС к БД требуемые данные пересылаются из внешней памяти в системную буферную область.

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

7. Монитор сообщает прикладной программе информацию состояния, характеризующую результат выполнения запроса.

8. Прикладная программа осуществляет необходимые операции над данными, полученными из БД.

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

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


Дата: 2019-02-19, просмотров: 21.