Отношение "Детали"



Таблица 8
Номер детали Наименование детали
1 Болт
2 Гайка
3 Винт

Таблица 7 Отношение "Детали"




Таблица 8
Номер поставщика Наименование поставщика Номер детали Наименование детали
1 Иванов 1 Болт
1 Иванов 2 Гайка
1 Иванов 3 Винт
2 Петров 1 Болт
2 Петров 2 Гайка
2 Петров 3 Винт
3 Сидоров 1 Болт
3 Сидоров 2 Гайка
3 Сидоров 3 Винт

Таблица 8 Отношение A TIMES BЗамечание. Сама по себе операция декартового произведения не очень важна, т.к. она не дает никакой новой информации, по сравнению с исходными отношениями. Для реальных запросов эта операция почти никогда не используется. Однако операция декартового произведения важна для выполнения специальных реляционных операций, о которых речь пойдет ниже.





Таблица 8
DNUM DNAME DSTATUS
1 Болт 3
2 Гайка 2
3 Винт 1

Таблица 2 Отношение D (Детали) Ответ на вопрос " какие поставщики имеют право поставлять какие детали?" дает следующий запрос: SELECT P.PNUM, P.PNAME, P.PSTATUS, D.DNUM, D.DNAME, D.DSTATUS FROM P, D WHERE P.PSTATUS >= D.DSTATUS; В результате получим следующую таблицу:





Таблица 8
НОМЕР ФАМИЛИЯ ЗАРПЛАТА
1 Иванов 1000
2 Петров 1000

Таблица 7 Отношение Рассмотрим первый вариант декомпозиции отношения



Таблица 8

Номер
АбитуриентаНомер
ФакультетаНомер
Предмета
1 1 1
1 1 2
1 2 1
1 2 3
2 1 1
2 1 2

Таблица 8 Модифицированное отношение "Абитуриенты-Факультеты-Предметы"



Таблица 8

Транзакция A Время Транзакция B Все правильно
--- S-блокировка
--- Чтение
--- X-блокировка
--- Запись
S-блокировка ---
Ожидание… Откат транзакции

(Блокировка снимается)

S-блокировка ---
Чтение ---
Работа с прочитанными данными ---
--- ---
Фиксация транзакции ---
 
Результат. Транзакция A притормозилась до окончания (отката) транзакции B. После этого транзакция A продолжила работу в обычном режиме и работала с правильными данными. Конфликт разрешен за счет некоторого увеличения времени работы транзакции A (потрачено время на ожидание снятия блокировки транзакцией B).



Содержание раздела