Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции СУБД.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
6.32 Mб
Скачать

Корпоративные ограничения целостности.

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

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

5.Функции субд

Здесь перечислим основные функции СУБД:

Хранение, извлечение и обновление данных

Каталог, доступный конечным пользователям

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

Поддержка транзакций

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

Сервисы управления параллельностью

Одна из основных целей создания и использования СУБД заключается в том, чтобы множество пользователей могло осуществлять параллельный доступ к совместно обрабатываемым данным. Параллельный доступ сравнительно легко организовать, если все пользователи выполняют только чтение данных, поскольку в этом случае они не могут помешать друг другу. Однако конфликт легко может возникнуть, например, если хотя бы один из пользователей попытается обновить данные. Пусть два пользователя выполняют транзакции Т1 и Т2. В транзакции Т1 10$ снимается со счета, баланс которого сохраняется в столбце bal, а в транзакции Т2 100$ помещаются на этот же счет. Если бы транзакции выполнялись последовательно, т. е. одна за другой, то в конечном итоге баланс был бы равен 190$, независимо от порядка выполнения транзакций.

Таблица1 Пример последовательного выполнения транзакций

Время

Транзакция Т1

Транзакция Т2

Столбец bal

t1

Чтение bal

100

t2

Чтение bal

bal= bal+100

100

t3

bal= bal-10

Запись bal

200

t4

Запись bal

90

t5

90

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

Сервисы контроля доступа к данным

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

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

Службы поддержки целостности данных

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

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

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

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