Рубрики

ВОРОТА | GATE-CS-2001 | Вопрос 50

Рассмотрим отношение geq, которое представляет «больше или равно», то есть (x, y) ∈ geq, только если y> = x.

create table geq
( 
  ib integer not null
  ub integer not null
  primary key 1b
  foreign key (ub) references geq on delete cascade 
)

Что из следующего возможно, если кортеж (x, y) удален?
(A) Кортеж (z, w) с z> y удален
(B) Кортеж (z, w) с z> x удален
(C) Кортеж (z, w) с w <x удален
(D) Удаление (x, y) запрещено

Ответ: (с)
Объяснение: В приведенном выше вопросе схема отношения (lb, ub), где lb — первичный ключ, а ub — внешний ключ, который ссылается на первичный ключ своего отношения.

Следовательно, таблица geq является как главной (которая имеет ссылочный ключ), так и дочерней таблицей (которая имеет ссылочный ключ).

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

On-cascade-delete говорит, что «Когда указанная строка удаляется из другой таблицы (основной таблицы), тогда удаляется также из дочерней таблицы».

Suppose the instance in the given relation is the following:

x y
-----
5 6
4 5
3 4
6 6

Теперь, если мы удалим кортеж (5,6), кортеж (4,5) также следует удалить (так как 5 в кортеже (4, 5) ссылается на 5 в кортеже (5,6), который больше не существует, следовательно, ссылочный кортеж также должен быть удален), и, поскольку (4,5) был удален, следовательно, кортеж (3,4) также должен быть удален по той же причине.

Следовательно, всего три строки должны быть удалены, если кортеж (5,6) удален.

Теперь из приведенного выше примера можно сказать, что если (x, y), т.е. (5,6), удаляется, то также удаляется кортеж (z, w), т. Е. (3, 4). И мы можем видеть здесь, что ш <х. Отсюда вариант С.
Тест на этот вопрос

Рекомендуемые посты:

ВОРОТА | GATE-CS-2001 | Вопрос 50

0.00 (0%) 0 votes