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

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

НЕ нашли? Не то? Что вы ищете?

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

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

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

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

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

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

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

Более точно свойство физической независимости данных можно выразить в терминах архитектурной модели ANSI/X3/SPARC как возможность вариации внутренней схемы базы данных без необходимости изменений концептуальной схемы.

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

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

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

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

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

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

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

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

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

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99