
- •Операции над данными, определенные в иерархической модели:
- •Операции над данными.
- •Объединение
- •Пересечение
- •Разность
- •Произведение
- •Выборка
- •Проекция
- •Деление
- •Соединение
- •Операторы базы данных
- •Создание и удаление таблиц
- •Добавить новую запись в таблицу:
- •Примеры использования
- •Модификация записей:
- •Удаление записей
- •Выборка данных.
- •Специальные операторы any или some
- •Специальный оператор all
- •Any и all вместо exists с пустым указателем( null )
- •Удаление индексов
- •Введение: представления
- •Что такое представление ?
- •Команда create view
- •Модифицирование представлений
- •Что не могут делать представления
- •Удаление представлений
- •Основные понятия метода
- •Формирование отношений для связи 1:1
- •Формирование отношений для связи м:м
- •Архитектура базы данных. Физическая и логическая независимость
- •Проблемы параллельного доступа с использованием транзакций
- •[Править]По области действия
- •[Править]По строгости
- •Восстановление базы данных
- •Характеристики хранилищ данных
- •Тип данных hierarchyid
- •Пространственные типы данных
- •Встроенные (системные) функции
- •1) Список стандартных функций
- •Объявление хранимой функции
- •Основные методы восстановления данных
Проблемы параллельного доступа с использованием транзакций
При параллельном выполнении транзакций возможны следующие проблемы:
потерянное обновление (англ. lost update) — при одновременном изменении одного блока данных разными транзакциями, одно из изменений теряется;
«грязное» чтение (англ. dirty read) — чтение данных, добавленных или изменённых транзакцией, которая впоследствии не подтвердится (откатится);
неповторяющееся чтение (англ. non-repeatable read) — при повторном чтении в рамках одной транзакции, ранее прочитанные данные оказываются изменёнными или удалёнными;
фантомное чтение (англ. phantom reads) — при повторном чтении в рамках одной транзакции прочитаны данные(новые "фантомные" строки), которых при предыдущих чтениях не было, хотя они удовлетворяли условиям отбора предыдущего чтения.
Блокировки.
Блокиривка на уровне Базы Данных осуществляется присвоением свойству exclusive, при открытии БД, значения true. При использовании вами элемента управления data, в его свойствах установите exclusive = true . Если же вы используете объект dao, то при присвоении значения объекту db установите в true значение второго параметра метода opendatabase:
set db = dbengine.opendatabase(“c:biblio.mdb”, true)
Когда База Данных заблокирована таким образом, тодругие пользователи не смогут ее открыть. При попытке обращения к заблокированной Базе Данных вы получите сообщение:
“couldn’t use ‘c:biblio.mdb’; file already in use.”