КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Системы управления базами данных и их функции
Системой управления базами данных (СУБД) называют программную систему, предназначенную для реализации базы данных, поддержания ее в актуальном состоянии и обеспечения эффективного доступа пользователей к содержащимся в ней данным в рамках предоставленных им полномочий. СУБД предназначена для централизованного управления базой данных как социальным ресурсом в интересах всего сообщества ее пользователей. Доступ к базе данных отдельных пользователей при этом возможен только через посредство СУБД. По степени универсальности применения различаются СУБД общего назначения и специализированные системы. СУБД общего назначения создаются без ориентации на какую-либо конкретную предметную область или на информационные потребности какой-либо специфической группы пользователей. Они могут выполнять функции управления данными, которые необходимы в различных областях применения. К этой категории систем относятся коммерческие программные продукты СУБД. Такие СУБД обладают средствами настройки на работу с конкретной базой данных с учетом особенности ее применения. Использование СУБД общего назначения как инструментального средства для создания информационных систем, основанных на технологиях баз данных, позволяет значительно сокращать сроки разработки, экономить трудовые ресурсы. Недостатки СУБД общего назначения являются продолжением их достоинств. Несмотря на многообразие предусматриваемых в них возможностей может оказаться, что в конкретной системе требуется что-то, чего нельзя сделать в СУБД общего назначения или что делается там нерационально. С другой стороны, в системе может требоваться лишь некоторый ограниченный набор функций управления данными. Тогда СУБД общего назначения оказывается слишком дорогим и тяжеловесным инструментом, требующим избыточных (по отношению к потребностям такого рода применений) ресурсов. Возможно также, что использование коммерческих СУБД общего назначения нежелательно по каким-либо иным причинам. Для таких применений приходится разрабатывать специализированные СУБД. Создание специализированной СУБД, последующее ее сопровождение и развитие - весьма дорогостоящее и трудоемкое дело даже в сравнительно простых случаях. Поэтому для того, чтобы избрать этот путь, нужно иметь действительно веские основания и твердую убежденность в невозможности или нецелесообразности использования какой-либо СУБД общего назначения. Функциональные возможности существующих в настоящее время СУБД весьма богаты и позволяют удовлетворить потребности чрезвычайно широкого круга приложений. Поэтому остается все меньше таких ситуаций, когда в действительности необходима разработка специализированных СУБД. СУБД общего назначения - это сложный программный комплекс, предназначенный для выполнения всей совокупности функций, связанных с созданием и эксплуатацией систем баз данных, которые используются самостоятельно либо в составе какой-либо более крупной информационной системы. Разработчик системы базы данных имеет возможность настраивать СУБД на работу с создаваемой базой данных, инициализировать базу данных, производить начальную загрузку и актуализацию данных. Системные механизмы СУБД выполняют функции: § настройки для работы с конкретной предметной областью; § управления ресурсами среды хранения; § обеспечения логической и физической независимости данных; § предоставления доступа пользователям к базе данных; § защиты логической целостности базы данных; § обеспечения физической целостности базы данных – защиты от разрушений § управление полномочиями пользователей на доступ к базе данных; § настройка на конкретные условия применения; § организация параллельного доступа пользователей к базе данных в социальной пользовательской среде; § поддержка деятельности персонала администратора, ответственного за эксплуатацию системы базы данных. Кратко прокомментируем некоторые функции СУБД общего назначения. Для создания базы данных и настройки СУБД на работу с нею разработчик описывает ее логическую структуру, организацию хранимых данных в тех рамках, которые допускает используемая СУБД, а также способы видения базы данных пользователями. При этом используются предоставляемые СУБД языковые средства определения. Такие описания базы данных называются соответственно схемой базы данных (или логической схемой, или концептуальной схемой), схемой хранения (или внутренней схемой) и внешними схемами. В соответствии с заданной схемой базы данных, СУБД структурирует данные, вводимые в базу данных, корректно интерпретирует хранимые данные при осуществлении доступа к ним, а также поддерживает выполнение заданных ограничений целостности данных. Принципиально важное свойство СУБД заключается в том, что она позволяет различать и поддерживать два независимых взгляда на базу данных - взгляд пользователя, часто называемый логическим представлением данных, и "взгляд" системы, называемый физическим представлением данных, который характеризует организацию хранимых данных в памяти компьютера. Пользователя не интересуют при его работе с базой данных байты и биты, представляющие данные в среде хранения, их размещение в памяти, указатели, поддерживающие связи между различными структурными компонентами хранимых данных, выбранные методы доступа. В то же время все эти факторы важны для выполнения функций управления данными самой СУБД. Поддержка двух независимых представлений базы данных фактически сводится к тому, что на СУБД возлагается задача формирования из хранимых данных такого представления данных, которое отражает взгляд пользователя. Важно отметить, что логическое представление базы данных может по своей структуре существенно отличаться от структуры хранимых данных и синтезироваться не только непосредственно из фактически хранимых объектов базы данных и их связей, но и с помощью различного рода операций агрегирования данных и различных встроенных программных процедур. Такие механизмы трансформации данных, развитые в различной степени в разных СУБД, помогают в значительной мере сокращать объем работ по программированию прикладных систем, функционирующих в среде базы данных. Важнейшее значение в технологиях баз данных имеет концепция независимости данных. Различают логическую и физическую независимость данных. Обеспечение логической независимости данных означает способность СУБД предоставлять администратору системы базы данных определенную степень свободы вариации логического представления базы данных без необходимости соответствующей модификации приложений и пользовательских запросов. Более точно это свойство можно выразить как возможность вариации концептуальной схемы базы данных без необходимости изменений внешних схем. Под физической независимостью данных понимается способность СУБД предоставлять администратору системы базы данных некоторую свободу модификации способов организации базы данных в среде хранения, не вызывая необходимости внесения соответствующих изменений в логическое ее представление. Благодаря этому можно вносить изменения в организацию хранимых данных, производить настройку системы с целью повышения ее производительности и эффективности использования ресурсов памяти, не затрагивая созданных прикладных программ, использующих базу данных. Более точно свойство физической независимости данных можно выразить как возможность вариации внутренней схемы базы данных без необходимости изменений концептуальной схемы. Механизмы управления данными СУБД имеют дело с двумя аспектами проблемы обеспечения целостности базы данных. Прежде всего, это поддержка логической целостности (непротиворечивости) базы данных. В развитых системах ограничения логической целостности базы данных объявляются в схеме базы данных, и их проверка осуществляется при каждом обновлении значений данных, образовании или разрушении связей между ними, являющихся субъектами таких ограничений. Нарушения логической целостности базы данных могут быть связаны не только с вводом в нее недостоверных данных или с неправомерными действиями процедур обработки данных, работающих в среде базы данных и помещающих в базу данных генерируемые ими данные. Они могут являться также следствием несвоевременного прерывания выполнения таких процедур для обработки запроса, выданного другим пользователем. Для исключения таких ситуаций в СУБД предусматривается механизм транзакций (см. ниже). Нарушения физической целостности базы данных возникают в результате сбоев и отказов оборудования вычислительной системы, повреждений машинных носителей данных. Развитые СУБД располагают средствами восстановления разрушенной базы данных, основанными чаще всего на использовании ее контрольных копий и журнализации изменений. В многопользовательских СУБД предусматриваются механизмы разграничения полномочий доступа (управления доступом) пользователей к базе данных, поскольку наряду с данными, доступными любому пользователю, в ней могут храниться и такие данные, которые должны быть доступны лишь ограниченному кругу пользователей. Кроме того, может быть ограничена группа пользователей, которой разрешено обновлять те или иные данные. Механизмы управления доступом обычно основываются на использовании паролей, сопоставления так называемых замков управления доступом, ассоциированных с защищенными объектами, и ключей, специфицируемых пользователем, либо на явной спецификации полномочий доступа, которые могут ассоциироваться со структурными элементами базы данных некоторого типа, с комбинациями элементов структуры и видов операций над ними и т.п. Настройка СУБД на конкретные условия применения может включать модификацию параметров организации среды хранения данных, выбор новых, более эффективных для данного случая методов доступа из числа предоставляемых системой. Обычно она допускает также изменение структуры хранимых данных или их размещения в среде хранения (реорганизацию базы данных) с целью повышения производительности системы или возвращения освобожденной памяти для повторного использования. Кроме того, предусматривается возможность логической реструктуризации базы данных - модификации концептуальной схемы с последующим приведением базы данных в соответствие с вновь сформированной схемой, а также ряд других функций для поддержки деятельности системного персонала, ответственного за эксплуатацию базы данных. Этот персонал, как уже указывалось, называют администратором системы базы данных. Для управления настройкой системы используются ее языковые средства - языки определения данных, связанные с различными архитектурными уровнями системы, а в некоторых системах - возможности задания параметров системной среды. Характер и возможности языковых средств СУБД определяются главным образом моделью данных, поддерживаемой этой системой. Организация параллельного доступа пользователей к базе данных является довольно сложной задачей. Здесь нужно исключать коллизии, связанные с конкурентным обновлением данных разными пользователями, с возможностью чтения одним пользователем объекта базы данных, который успел лишь частично обновить другой пользователь. Такие коллизии приводили бы к нарушению логической целостности базы данных. Для их предотвращения в СУБД предусматривается техника управления транзакциями. Транзакцией называют последовательность операций пользователя над базой данных, которая переводит ее из одного логически целостного состояния в другое. Если, например, из базы данных нужно удалить сведения о некотором поставщике в связи с тем, что он прекращает дальнейшие поставки, то вслед за этим необходимо удалить и сведения о запланированных этим поставщиком поставках продукции. Иначе база данных будет содержать сведения о поставках неизвестного системе поставщика. Ясно, что в мультипользовательской среде такую последовательность операций нельзя прерывать до полного ее завершения для обработки запросов других пользователей системы. Классический подход к управлению транзакциями в системах баз данных исходит из принципа атомарности транзакции. При таком подходе транзакция либо до конца выполняется, либо ее результаты полностью аннулируются. Последнее имеет место, например, при откате транзакции в случае возникновения тупиковой ситуации. Ясно, что такой подход ведет к потере производительности системы. Поэтому в более сложных моделях транзакции могут иметь структуру ветвящегося дерева. В этом случае при необходимости произойдет откат не всей транзакции, а ее последней ветви. Чтобы исключить одновременный доступ к данным двумя параллельно исполняемыми транзакциями используется предварительная блокировка ресурсов базы данных при выполнении каждой транзакции с целью не допустить к ним доступа для других транзакций. Разрешая таким образом проблему параллельного доступа, блокировка ресурсов вместе с тем порождает новую проблему - возможность возникновения тупиковых ситуаций, когда две транзакции захватывает часть ресурсов, и каждая из них ожидает освобождения какого-либо ресурса, блокированного другой транзакцией. Разработан ряд методов, обеспечивающих выход из тупиковой ситуации за счет отката некоторых из образующих ее транзакций. СУБД не всегда реализуется как цельная программная система. Часто наряду с основной частью системы, называемой ее ядром, в состав СУБД включается ряд периферийных программных компонентов, в том числе программ вспомогательного назначения (утилит), которые могут исполняться независимо от ядра системы. Совокупность таких компонентов называют окружением системы. Окружение СУБД чаще всего включает средства стадии разработки приложений, генераторы отчетов, разнообразные утилиты, поддерживающие деятельность администратора системы базы данных, утилиты создания контрольной копии базы данных и восстановления ее при разрушениях, автономные средства обмена данными (экспорта-импорта) с другими системами, средства обучения пользователей и системного персонала. Контрольные вопросы по теме. 1. Как расшифровывается аббревиатура СУБД и каково назначение СУБД? 2. Особенности СУБД общего назначения? 3. Каким образом СУБД общего назначения настраиваются на работу с конкретными базами данных? 4. В каких случаях целесообразно создавать специализированные СУБД? 5. Что такое схема базы данных? 6. Для каких целей СУБД поддерживает как логическое, так и физическое представление базы данных? 7. В чем заключается смысл концепции независимости данных? 8. Какие два аспекта имеет проблема обеспечения целостности данных в базах данных? 9. По каким причинам может быть нарушена физическая целостность базы данных? 10. Чем может быть вызвано нарушение логической целостности базы данных? 11. Какие подходы используются в СУБД для разграничений полномочий пользователей на доступ к базам данных? 12. Какие проблемы возникают при использовании параллельного доступа многих пользователей к базам данных? 13. Что такое транзакция, каково место этого понятия в обеспечении конкурентного доступа к базе данных? 14. Что такое тупиковая ситуация в управлении транзакциями и какие подходы используются для исключения коллизий конкурентного доступа к базе данных одновременно исполняемыми транзакциями?
Дата добавления: 2014-10-17; Просмотров: 713; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |