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

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

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

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

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

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

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

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

Подходы. На практике различают три типа моделей данных. В реляционной базе данных отношения между разными полями данных выражаются путем группирования их в упорядоченные наборы связанных полей. Так, отношение “заработная плата” может быть представлено списком упорядоченных пар, состоящих из номера служащего и почасовой оплаты. Отношение “уплата” может быть представлено списком упорядоченных троек, состоящих из имени покупателя, суммы и даты. В иерархической базе данных элементы организованы в виде дерева. Так, для платежной ведомости имя служащего может находиться в корневой вершине, зарплата, основные и дополнительные удержания - на следующем уровне и т. д. Значения могут быть сопоставлены вершинам любого уровня, не обязательно листьям. В сетевой базе данных элементы организуются в произвольные ориентированные графы. При этом устраняются иногда искусственные ограничения, налагаемые древовидной структурой, но усложняется обработка.

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

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

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

Далее...

   Обложка   Учебник   Экзамен   Глоссарий   Информация 
Hosted by uCoz