Какие возможности субд предоставляет пользователю

Обновлено: 30.06.2024

29. Общая характеристика, назначение и возможности СУБД.

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

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

Функции СУБД (назначение и возможности)

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

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

- имена, типы и размеры элементов данных;

- накладываемые на данные ограничения поддержки целостности;

- имена санкционированных пользователей;

- внешняя, концептуальная и внутренняя схемы и отображения между ними;

- статистические данные (частота транзакций, счетчик обращения к объектам базы данных).

(-(-( Системный каталог позволяет достичь определенных преимуществ:

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

- можно определить смысл данных, что поможет другим пользователям понять их назначение;

- благодаря централизованному хранению избыточность и противоречивость описания отдельных элементов данных могут быть легко обнаружены;

- внесенные в базу данных изменения могут быть запротоколированы;

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

- меры обеспечения безопасности могут быть дополнительно усилены;

- появляются новые возможности организации поддержки целостности данных;

- может выполняться аудит сохраняемой информации. )-)-)

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

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

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

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

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

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

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

- утилиты импортирования, предназначенные для загрузки данных из плоских файлов или других СУБД, а также утилиты экспортирования, которые служат для выгрузки базы данных в плоские файлы или другие СУБД;

- средства мониторинга, предназначенные для отслеживания характеристик функционирования и использования базы данных;

- программы статистического анализа, позволяющие оценить производительность или степень использования базы данных;

- инструменты реорганизации индексов, предназначенные для перестройки индексов и обработки случаев их переполнения;

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

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

К СУБД относятся следующие основные виды программ.

- Полнофункциональные СУБД (ПФСУБД). К ПФСУБД относятся, например, такие пакеты как: Clarion Database Developer , DataBase , Dataplex , dBase IV , Microsoft Access , Microsoft FoxPro и Paradox R : BASE . ПФСУБД имеют развитый интерфейс, позволяющий с помощью команд меню выполнять основные действия с БД: создавать и модифицировать структуры таблиц, вводить данные, формировать запросы, разрабатывать отчеты, выводить их на печать и т. п. Для создания запросов и отчетов не обязательно программирование, а удобно пользоваться языком QBE ( Query By Example формулировки запросов по образцу). Для обеспечения доступа к другим БД или к данным SQL -серверов полнофункциональные СУБД имеют факультативные модули.

- Серверы БД. Предназначены для организации центров обработки данных в сетях ЭВМ. Серверы БД реализуют функции управления базами данных, запрашиваемые другими (клиентскими) программами обычно с помощью операторов SQL . Примерами серверов БД являются следующие программы: NetWare SQL ( Novell ), MS SQL Server ( Microsoft ), InterBase ( Borland ), SQLBase Server ( Gupta ), Intelligent Database ( Ingress ).

- Средства разработки программ работы с БД. Используются для создания пользовательских приложений по работе с БД, серверов БД и их отдельных компонентов, клиентских программ. К средствам разработки программ для работы с БД относятся системы программирования ( Clipper , Delphi , Power Builder ( Borland ), Visual Basic ( Microsoft ) и пр.); библиотеки программ для различных языков программирования; пакеты автоматизации разработок ( SILVERRUN ( Computer Advisers Inc .), S - Designor ( SDP и Powersoft ), ERwin ( LogicWorks ), Rational Rose и пр.).

- Д ополнительные средства . Используются для управления данными и организации обслуживания БД (например, мониторы транзакций).

Классификация СУБД по характеру использования.

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

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

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

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

Для работы с хранящейся в базе данных информацией СУБД предоставляет про­граммам и пользователям следующие два типа языков:

• язык описания данных ( DDL ) — высокоуровневый непроцедурный язык декларатив­ного типа, предназначенный для описания логической структуры данных;

• язык манипулирования (управления) данными ( DML ) — совокупность конструкций, обеспечиваю­щих выполнение основных операций по работе с данными: ввод, модификацию и выборку данных по запросам.

Названные языки в различных СУБД могут иметь отличия. Наибольшее распрост­ранение получили два стандартизованных языка: QBE ( Query By Example ) — язык зап­росов по образцу и SQL ( Structured Query Language ) — структурированный язык зап­росов. QBE в основном обладает свойствами языка манипулирования данными. SQL сочетает в себе свойства языков обоих типов — описания и манипулирования данными.

Организация и поддержание логической структуры данных обеспечивается средствами модели организации данных (ее часто называют просто модель данных). Модель данных определяется способом организации данных, ограничениями целостности и множеством операций, допустимых над объектами организации данных. Соответственно модель данных разделяют на три составляющие: структурную, целостную и манипуляционную.

Наиболее известные модели данных :


- иерархическая. Под иерархической моделью данных понимается модель, объединяющая записи, хранимые в общей древовидной структуре с одним корневым типом записи, который имеет несколько подчиненных типов записи или не имеет совсем. Каждый подчиненный тип записи также может иметь несколько подчиненных типов или не иметь их совсем. Основной структурой, поддерживающей иерархическое представление информации, является дерево

Достоинствами иерархической модели данных относятся эффективное исполь­ зование памяти ЭВМ и неплохие показатели времени выполнения основных опера­ций над данными. Иерархическая модель данных удобна для работы с иерархически упорядоченной информацией.

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

Примеры: зарубежные системы IMS , PC / Focus , Team - Up и Data Edge , а также отечественные системы Ока, ИНЭС и МИРИС ;


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

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

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

Системы на основе сетевой модели не получили широкого распространения на практике. Наиболее известными сетевыми СУБД являются следующие: IDMS , db _ VistaIII , СЕТЬ, СЕТОР и КОМПАС ;

- реляционная модель. В реляционных базах данных вся информация представляется в виде двумерных таблиц. Реляционная модель опирается на систему понятий реляционной алгебры, важнейшими из которых являются “таблица”, “отношение”, “строка”, “первичный ключ”. Все операции над реляционной базой данных сводятся к манипуляциям с таблицами. Таблица состоит из строк и столбцов и имеет имя, уникальное внутри базы данных. Таблица отражает тип объекта реального мира (сущность), а каждая ее строки (кортеж) – конкретный объект.

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

Основными недостатками реляционной модели являются следующие: отсутствие стандартных средств идентификации отдельных записей и сложность описания иерар­ хических и сетевых связей.

Примерами зарубежных реляционных СУБД для ПЭВМ являются следующие: dBaseIII Plus и dBase IV (фирма Ashton - Tate ), DB 2 ( IBM ), R : BASE ( Microrim ), FoxPro ранних версий и FoxBase ( Fox Software ), Paradox и dBASE for Windows ( Borland ), FoxPro более поздних версий, Visual FoxPro и Access ( Microsoft ), Clarion ( Clarion Software ), Ingres ( ASK Computer Systems ) и Oracle ( Oracle ) .

Кроме того, в последние годы появились и стали более активно внедряться на прак­ тике следующие модели данных:

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

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

Недостатком постреляционной модели является сложность решения проблемы обеспечения целостности и непротиворечивости хранимых данных.

Примерами: uniVers , Bubba и Dasdb ;

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

Недостатком многомерной модели данных является ее громоздкость для простей­ ших задач обычной оперативной обработки информации.

Примерами систем, поддерживающими многомерные модели данных, являются Essbase ( Arbor Software ), Media Multi - matrix ( Speedware ), Oracle Express Server ( Oracle ) и Cache ( InterSystems ).;

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

Структура объектно-ориентированной БД графически представима в виде дерева, узлами которого являются объекты. Свойства объектов описываются некоторым стан­ дартным типом (например, строковым — string ) или типом конструируемым пользо­ вателем (определяется как class ).

Основным достоинством объектно-ориентированной модели данных в сравнении с реляционной является возможность отображения информации о сложных взаимосвязях объектов. Объектно-ориентированная модель данных позволяет идентифици­ровать отдельную запись базы данных и определять функции их обработки.

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

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

Основные функции СУБД¶

  • управление данными во внешней памяти (на дисках);
  • управление данными в оперативной памяти с использованием дискового кэша;
  • журнализация изменений, резервное копирование и восстановление базы данных после сбоев;
  • поддержка языков БД (язык определения данных, язык манипулирования данными).

Обычно современная СУБД содержит следующие компоненты:

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

Классификации СУБД¶

По модели данных¶

Иерархические¶

Используется представление базы данных в виде древовидной (иерархической) структуры, состоящей из объектов (данных) различных уровней.

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

Иерархической базой данных является файловая система, состоящая из корневого каталога, в котором имеется иерархия подкаталогов и файлов.

Примеры: Caché, Google App Engine Datastore API.

Сетевые¶

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

Реляционные¶

Практически все разработчики современных приложений, предусматривающих связь с системами баз данных, ориентируются на реляционные СУБД. По оценке Gartner в 2013 году рынок реляционных СУБД составлял 26 млрд долларов с годовым приростом около 9%, а к 2018 году рынок реляционных СУБД достигнет 40 млрд долларов. В настоящее время абсолютными лидерами рынка СУБД являются компании Oracle, IBM и Microsoft, с общей совокупной долей рынка около 90%, поставляя такие системы как Oracle Database, IBM DB2 и Microsoft SQL Server.

Объектно-ориентированные¶

Управляют базами данных, в которых данные моделируются в виде объектов, их атрибутов, методов и классов.

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

Объектно-реляционные¶

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

Зачастую все те СУБД, которые называются реляционными, являются, по факту, объектно-реляционными.

В данном курсе мы будем, в первую очередь, гооврить об этом виде СУБД.

Примеры: PostgreSQL, DB2, Oracle, Microsoft SQL Server.

По степени распределённости¶

  • Локальные СУБД (все части локальной СУБД размещаются на одном компьютере)
  • Распределённые СУБД (части СУБД могут размещаться на двух и более компьютерах).

По способу доступа к БД¶

Файл-серверные¶

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

На данный момент файл-серверная технология считается устаревшей, а её использование в крупных информационных системах — недостатком.

Примеры: Microsoft Access, Paradox, dBase, FoxPro, Visual FoxPro.

Клиент-серверные¶

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

Примеры: Oracle, Firebird, Interbase, IBM DB2, Informix, MS SQL Server, Sybase Adaptive Server Enterprise, PostgreSQL, MySQL, Caché, ЛИНТЕР.

Встраиваемые¶

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

Примеры: OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, Microsoft SQL Server Compact, ЛИНТЕР.

Стратегии работы с внешней памятью¶

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

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

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

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

© Copyright 2019, Кафедра Интеллектуальных Информационных Технологий ИнФО УрФУ. Created using Sphinx 1.7.6.



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

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

  • СУБД (система управления базами данных) - хранит данные в виде файлов
  • RDBMS (система управления реляционными базами данных) - хранит данные в табличном формате.


Преимущества СУБД

Ниже приведены 15 основных преимуществ СУБД:

1. Избыточность данных

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

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

2. Несоответствие данных

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

3. Обмен данными

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

4. Поиск данных

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

5. Безопасность данных

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

6. Параллелизм данных

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

7. Интеграция данных

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

8. Доступ к данным

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

9. Принятие решений

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

10. Резервное копирование и восстановление данных

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

11. Миграция данных

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

12. Настройка данных

СУБД позволяет пользователю точно настраивать свои данные, т.е. повышать производительность.

13. Низкие эксплуатационные расходы

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

14. Потеря данных практически исключена

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

15. Атомность данных

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

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

Рекомендуемые статьи

Это было руководство к преимуществам СУБД. Здесь мы обсудили преимущества использования СУБД в реальном мире. Вы также можете посмотреть следующую статью, чтобы узнать больше -

К основным функциям, которые выполняются системами управления базами данных относятся:

  • непосредственное управление данными во внешней памяти;
  • управление буферами оперативной памяти;
  • управление транзакциями;
  • ведение журнала или протокола выполненных операций в базе данных;
  • поддержка языков баз данных.
2. Что означает непосредственное управление данными во внешней памяти?

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

Носители информации нужны в двух случаях:

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

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

Для обеспечения непосредственного управления данными во внешней памяти современные СУБД:

  • имеют собственную систему наименования объектов;
  • могут использовать возможности существующих файловых систем (запоминающих устройств);
  • могут использовать низкоуровневые операции при работе с внешними запоминающими устройствами.
3. Что означает управление буфером оперативной памяти?

Одной из важных характеристик системы управление базами данных есть скорость обработки информации в базе данных. Скорость обработки информации существенно зависит от размера базы данных.

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

4. Что называется транзакцией? В чем состоит суть управления транзакциями?

При работе с любой базой данных выполняется бесконечная последовательность операций. Если последовательность операций объединена в единое целое (с точки зрения СУБД), то эта последовательность называется транзакцией.

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

Если хотя бы одна из операций транзакции заканчивается неудачно, то транзакция считается невыполненной. В этом случае происходит откат транзакции (ROLLBACK). При откате транзакции база данных возвращается в состояние, которое было до начала выполнения транзакции.

5. Для чего нужно управление транзакциями в базе данных?

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

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

6. Что такое сериализация и серийный план транзакций?

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

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

транзакция база данных рисунок

Рис. 1. Пример сериализации транзакций в случае трех пользователей

7. Что происходит, если две транзакции хотят иметь доступ к одному и тому же объекту базы данных?

Такая ситуация есть конфликтной и может возникнуть в многопользовательской базе данных. В этом случае происходит откат (ROLLBACK) одной из транзакций. Это необходимо для обеспечения сериализации в базе данных.

8. Что такое журнализация или ведение протокола в базе данных?

Журнализация или ведение протокола выполненных команд необходима для восстановления последнего согласованного состояния базы данных после аппаратного или программного сбоя.

Журнализация необходима для обеспечения надежности сохранения данных во внешней памяти (на носителях информации).

Аппаратные сбои возникают вследствие:

Программные сбои – это, как правило, ошибки в самых программах. Программные сбои могут возникать как в пользовательских программах, так и в самой СУБД.

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

9. Какие требования к сохранению журнала изменений базы данных?

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

Стратегия упреждающей записи (Write Ahead Log – WAL) есть своеобразным протоколом, который работает по следующему принципу: прежде чем изменить объект базы данных, предварительно в журнале надо сформировать запись об изменении данного объекта.

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

11. Что такое локальный журнал транзакций? Какое отличие локального журнала транзакций от общесистемного?

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

Ведение локального журнала транзакций поддерживается в некоторых СУБД.

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

  • объекты, которые были модифицированы транзакциями, но эти транзакции еще не завершились на момент сбоя (измененные объекты незавершенных транзакций);
  • объекты, которые на момент сбоя размещались в буфере оперативной памяти и которые были модифицированы завершенными транзакциями. Но эти объекты, в результате сбоя, еще не успели сохраниться на внешних носителях, и все равно исчезли бесследно. Как известно, информация из оперативной памяти при выключении питания исчезает бесследно.

После мягкого сбоя СУБД выполняет следующие основные шаги:

  • откат незавершенных транзакций;
  • воссоздаются операции завершенных транзакций, которые еще не успели зафиксироваться во внешней памяти (исчезли бесследно из буфера оперативной памяти).

Жесткий сбой характеризуется потерей информации на носителях внешней памяти.

В этом случае, для восстановления базы данных используют:

  • журнал операций;
  • архивную копию базы данных. Архивная копия базы данных – это полная копия базы данных, которая была сделана на некоторый момент ведения журнала. Если удачно создается архивная копия базы данных, то на данный момент, предшествующие операции в журнале фиксируются и новый учет в журнале начинается из этой позиции.

Важным здесь есть наличие самого журнала.

14. Что такое избыточность данных в базе данных?

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

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

15. Что собою представляет функция поддержки языков баз данных?

Любая СУБД должна поддерживать языки баз данных. Это означает, что для работы с данными в базе данных, должны использоваться специальные языки. Эти языки называются языками баз данных (например, SQL, MDX, SPARQL, FoxPro, PL/Perl и т.д.).

Для современных баз данных в основном выделяются два языка:

  • язык определения схем данных (Schema Definition Language, SDL). Этот язык используется для определения логической структуры базы данных;
  • язык манипулирования данными (Data Manipulation Language, DML). Такой язык содержит набор операторов манипулирования данными (добавление, удаление и изменение данных) и выборки данных из базы данных.

Для современных реляционных баз данных стандартным языком использования есть язык SQL (Stuctured Query Language). Этот язык позволяет определять схему данных и манипулировать этими данными.

Читайте также: