Меню Рубрики

Функции субд с точки зрения пользователя

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

1. Пользователь посылает запрос на доступ, применяя определенный язык (обычно, SQL).

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

3. В случае невозможности доступа к данным информирует пользователя об этом.

4. СУБД получает информацию о запрошенной части концептуальной модели.

5. СУБД запрашивает информацию о местоположении данных в терминах операционной системы.

6. СУБД дает команду ОС произвести необходимые действия над данными во внешней памяти.

7. ОС производит необходимые операции (передача информации, удаление и т.д.)

8. ОС сообщает СУБД о завершении работы.

9. СУБД сообщает пользователю о результате проделанной работы (в случае запроса данных из БД отображает пользователю необходимые данные).

Рассмотрим основные функции СУБД подробнее:

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

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

3. Безопасность и целостность данных. СУБД должна контролировать пользовательские запросы и пресекать попытки нарушения правил безопасности и целостности, определенные администратором БД. Понятие «Целостность данных» будет рассмотрено при изучении вопроса создания связей между таблицами в СУБД ACCESS.

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

5. Словарь данных. СУБД должна обеспечить функцию словаря данных. Сам словарь представляет собой определения других объектов системы («данные над данными»).

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

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

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

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

Рисунок 35.1 Архитектура «Клиент-сервер»

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

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

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

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

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

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

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

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

← 35.1. История развития БД 36.1. Основные понятия БД →

Основные понятия БД

← 35.2. Классификация БД 36.2. Основные понятия реляционной модели БД →

Понятие об информации как о знании, сложилось уже давно. Человек создал естественные ИС, позволяющие снабжать информацией процессы производства, планирования, принятия решений. Мы будем понимать под информацией любые сведения о каком-либо событии, сущности, процессе. Наряду с понятием информации часто употребляют понятие «Данные».

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

Например, «Петров Николай 1989 СТ-91». Сказать, что эти данные представляют собой информацию, нельзя, т.к. непонятно, что, например, означает в этих данных «1989». Но, если придать этим данным определенную форму и вписать их в некоторую структуру, то все станет ясно:

Ф.И.О. студента Год рождения Группа
Петров Николай СТ-91

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

Совокупность данных, представленных предметной областью и предназначенных для совместного применения, называется БД. С позиций моделирования источник информации называют предметной областью, а используемую знаковую систему (способ абстрагирования предметной области) – моделью данных (МД). Описание предметной области в терминах выбранной модели данных называют концептуальной схемой предметной области. Модели данных бывают разных видов. При проектировании БД традиционно используются концептуальные модели трех видов: иерархическая, сетевая и реляционная. В современных СУБД наиболее часто используется реляционная модель. Рассмотрим ее основные понятия.

← 35.2. Классификация БД 36.2. Основные понятия реляционной модели БД →

Основные понятия реляционной модели БД

← 36.1. Основные понятия БД 36.3. Предпроектное обследование предметной. →

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

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

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

Теория БД Реляционные БД Термины конкретной СУБД (например, ACCESS)
Отношение Таблица Таблица
Кортеж Строка Строка
Атрибут Столбец Поле

Совместно с термином «атрибут» часто употребляется термин «Домен».

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

Кортеж – это множество пар , которое содержит одно вхождение данного имени атрибута, принадлежащего схеме отношения. «значение» является допустимым значением домена данного атрибута (или типа данных, если понятие домена не поддерживается). Иначе, кортеж – набор именованных значений заданного типа (строка в отношении).

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

Так как отношения являются множествами кортежей, то в них не должны встречаться одинаковые кортежи, и порядок кортежей в отношении несущественен. Обычным представлением отношения является таблица, заголовком которой является схема отношения, а строками – кортежи отношения-экземпляра; в этом случае имена атрибутов именуют столбцы этой таблицы. Поэтому иногда говорят «столбец таблицы», имея ввиду «атрибут отношения».

Схема отношения— (совокупность наименований атрибутов, представленная в виде заголовка таблицы):

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

Рисунок 36.1 Пример схемы отношения

1. В реляционных БД любые совокупности данных представляются в виде двумерных таблиц.

2. Каждая таблица состоит из фиксированного числа столбцов и некоторого переменного количества строк. Описание столбцов, которое составляет разработчик, принято называть макетом таблицы.

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

· некоторые дополнительные характеристики (длину, формат и т.д.).

4. Каждая строка так же называется записью. Система нумерует записи по порядку: 1, 2,3,…, n, где n – общее число записей (строк) в таблице в данный момент. В отличие от количества полей в таблице , количество записей в процессе эксплуатации БД может как угодно меняться. Количество и номенклатуру полей можно изменить, но это уже особая операция, которая называется изменением макета таблицы.

5. Каждое поле может входить в несколько таблиц.

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

Ключ может состоять из одного или нескольких полей. Первичный ключ должен обладать двумя свойствами:

1. Однозначная идентификация записи: запись должна однозначно определяться значением ключа.

2. Отсутствие избыточности: никакое поле нельзя удалить из ключа, не нарушая при этом свойства однозначной идентификации.

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

Читайте также:  Может ли при инсульте потеря зрения

Процесс проектирования БД включает несколько этапов. На рисунке 36.2 представлена общая схема проектирования БД.

Рисунок 36.2 Этапы проектирования БД

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

Под физической БД подразумевается схема распределения данных по физическим носителям информации.

studopedia.org — Студопедия.Орг — 2014-2019 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с) .

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

  1. I. Понятие, структура и функции религии. Социологические теории религии.
  2. II. Язык как особая знаковая система. Основные функции языка.
  3. IV. Функции местного самоуправления.
  4. Wait функции
  5. Агрегатные функции
  6. Агрегатные функции в SQL.
  7. Агрегатные функции и группировка
  8. Агрегатные функции, вложенные запросы в операторе выбора.
  9. Агрегирующие функции языка SQL
  10. Билет 1. Понятие, сущность, признаки, формы и функции государства.
  11. Билет 5 Основные черты, функции и Юридические свойства Конституции
  12. Билет 5. Понятие права, основные принципы и функции права.

Понятие базы данных

Лекция №2 Типовая организация СУБД

1. Понятие базы данных. 1

2. Функции СУБД.. 2

3. Классификация СУБД.. 4

4. Операции СУБД. СУБД Microsoft Access. 7

Понятие база данных с различных точек зрения:

· с точки зрения программиста:—массив информации, созданный в некоторой СУБД.

· с точки зрения информационного рынка: это самостоятельный товар в форме упорядоченного массива машиночитаемой информации.

· с точки зрения пользователя:это массив информации, доступной для проведения в нем поиска.

Стандартные требования к организации базы данных:

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

Взаимосвязанность и структурированность, отражающие существенные свойства объектов реального мира.

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

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

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

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

Централизованная база данных хранится в памяти одной вычислительной системы (применяют в локальных сетях ПК).

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

По способу доступа к данным базы данных разделяются на:

· базы данных с локальным доступом

· базы данных с удаленным (сетевым) доступом.

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

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

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

· ядро, которое отвечает за управление данными во внешней и оперативной памяти и журнализацию,

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

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

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

Рисунок 2 – Компоненты СУБД

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

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

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

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

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

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

1. управление данными во внешней памяти;

2. управление буферами оперативной памяти;

3. управление транзакциями;

4. ведение журнала изменений в БД;

5. обеспечение целостности и безопасности БД.

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

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

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

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

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

Говорят, что транзакции присущи три основных свойства:

a. атомарность (выполняются все входящие в транзакцию операции или ни одна);

b. сериализуемость (отсутствует взаимное влияние выполняемых в одно и то же время транзакций);

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

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

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

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

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

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

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

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

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

Дата добавления: 2015-05-10 ; Просмотров: 1561 ; Нарушение авторских прав? ;

Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет

Функции СУБД

К основным функциям СУБД принято относить следующие:

  • · управление данными во внешней памяти;
  • · управление буферами оперативной памяти;
  • · управление транзакциями;
  • · журнализация и восстановление БД после сбоев;
  • · поддержка языков БД.

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

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

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

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

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

Читайте также:  Можно вернуть зрение если глаз совсем не видит

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

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

Поддержка языков БД. Для работы с базами данных используются специальные языки, в целом называемые языками баз данных. В ранних СУБД поддерживалось несколько специализированных по своим функциям языков. Чаще всего выделялись два языка — язык определения схемы БД (SDL — Schema Definition Language) и язык манипулирования данными (DML — Data Manipulation Language). SDL служил, главным образом, для определения логической структуры БД, какой она представляется пользователям. DML содержал набор операторов манипулирования данными, позволяющих вводить, удалять, модифицировать и выбирать данные. В современных СУБД, обычно, поддерживается единый интегрированный язык, содержащий все необходимые средства для работы с БД и обеспечивающий базовый пользовательский интерфейс. Стандартным языком наиболее распространенных в настоящее время реляционных СУБД является язык SQL (Structured Query Language).

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

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

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

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

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

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

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

Функции субд с точки зрения пользователя

СУБД — ϶ᴛᴏ сложные программные комплексы, предназначенные для выполнения всœей совокупности функций, связанных с созданием и эксплуатацией базы данных.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Перечисленные выше функции СУБД, в свою очередь, используют следующие основные функции более низкого уровня (низкоуровневые функции):

— управление данными во внешней памяти (на дисках);

— управление буферами оперативной памяти;

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

3.2. Функции, выполняемые различными видами СУБД

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

• изменение (добавление/ редактирование/ удаление) данных

• обработка информации по заданным правилам

• отображение данных в требуемом виде

• разработка и получение различных

Для работы с данными СУБД предоставляет программам / пользователям 2 типа языков:

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

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

ввод, модификацию и выборку данных по запросам.

ЯОД ( DDL ) и ЯМД ( DML ) в разных СУБД могут

Наиболее распространены — 2 языка:

QBE — язык запросов по образцу;

SQL — структурированный язык запросов.

Читайте также:  Каковы различные точки зрения на причины появления государства 9 класс

QBE в основном обладает свойствами

языка манипулирования данными , SQL

сочетает в себе свойства языков обоих типов — описания и манипулирования

Перечисленные выше функции СУБД, в свою

очередь, используют следующие основные функции более низкого уровня –

низкоуровневые функции СУБД :

• управление данными во внешней памяти

• управление буферами оперативной памяти

• ведение журнала изменений в БД

• обеспечение целостности и безопасности БД

В разных системах может различаться:

• на уровне управления ресурсами (используя файловые системы ОС или непосредственное управление устройствами ПЭВМ);

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

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

большими БД и объемами обработки 75

Управление буферами оперативной памяти

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

Буферы — области оперативной памяти, предназначенные для ускорения обмена данными между внешней и оперативной

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

Управление транзакциями

Транзакция — неделимая последовательность

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

Механизм транзакций используется в СУБД для

поддержания целостности данных. Если по причинам (сбои и отказы оборудования, ошибки в программном обеспечении) транзакция остается

незавершенной, то она отменяется.

Управление транзакциями

Транзакции имеют три основных свойства:

• атомарность (выполняются все входящие в транзакцию операции или ни одна из операций);

• сериализуемость (отсутствует взаимное влияние выполняемых в одно и то же время транзакций);

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

Перевод денег с одного счета на другой в

Необходим, по крайней мере, двухшаговый

1) сначала снимают деньги с одного счета

(обнулить значение поля в одной таблице) ,

2) затем добавляют их к другому счету

(занести числовое значение в другую таблицу).

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

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

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

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

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

полнофункциональные СУБД;

серверы БД;

клиенты БД;

средства разработки программ работы с БД.

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

Обычно ПФСУБД имеют развитый интерфейс, позволяющий с помощью команд меню выполнять основные действия с БД: создавать и модифицировать структуры таблиц, вводить данные, формировать запросы, разрабатывать отчеты, выводить их на печать и т. п. Для создания запросов и отчетов не обязательно программирование, а удобно пользоваться языком QBE (Query By Example — формулировки запросов по образцу, см. подраздел 3.8). Многие ПФСУБД включают средства программирования для профессиональных разработчиков.
Некоторые системы имеют в качестве вспомогательных и дополнительные средства проектирования схем БД или CASE-подсистемы. Для обеспечения доступа к другим БД или к данным SQL-серверов полнофункциональные СУБД имеют факультативные модули.

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

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

В случае, когда клиентская и серверная части выполнены одной фирмой, естественно ожидать, что распределение функций между ними выполнено рационально. В остальных случаях обычно преследуется цель обеспечения доступа к данным «любой ценой». Примером такого соединения является случай, когда одна из полнофункциональных СУБД играет роль сервера, а вторая СУБД (другого производителя) — роль клиента. Так, для сервера БД SQL Server (Microsoft) в роли клиентских (фронтальных) программ могут выступать многие СУБД, такие как: dBASE IV, Biyth Software, Paradox, DataEase, Focus, 1-2-3, MDBS III, Revelation и другие.

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

клиентских программ;

серверов БД и их отдельных компонентов;

пользовательских приложений.

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

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

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

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

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

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

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

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

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

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

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

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

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

управление данными во внешней памяти;

управление буферами оперативной памяти;

управление транзакциями;

ведение журнала изменений в БД;

обеспечение целостности и безопасности БД.

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

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

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

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

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

Говорят, что транзакции присущи три основных свойства:

атомарность (выполняются все входящие в транзакцию операции или ни одна);

сериализуемость (отсутствует взаимное влияние выполняемых в одно и то же время транзакций);

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

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

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

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

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

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

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

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

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

Дата добавления: 2016-04-22 ; просмотров: 815 ; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ

Источники:
  • http://studopedia.su/16_78757_funktsii-subd.html
  • http://vuzlit.ru/1027819/funktsii_subd
  • http://referatwork.ru/category/torgovlya/view/500368_funkcii_subd
  • http://studfiles.net/preview/3105945/page:8/
  • http://helpiks.org/7-94067.html