Рубрики

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

На экзамене GATE 2006 CS были заданы следующие вопросы.

1) Рассмотрим следующую последовательность записей двух транзакций на банковском счете с начальным балансом 12000, которые переводят 2000 в ипотечный платеж, а затем применяют 5% -ую процентную ставку.

  1. T1 start
  2. T1 B old=12000 new=10000
  3. T1 M old=0 new=2000
  4. T1 commit
  5. T2 start
  6. T2 B old=10000 new=10500
  7. T2 commit 

Предположим, что система базы данных дает сбой непосредственно перед записью 7 записи в журнал. Когда система перезапускается, какое утверждение верно для процедуры восстановления?
(A) Мы должны повторить запись в журнале 6, чтобы установить B на 10500
(B) Мы должны отменить запись журнала 6, чтобы установить B на 10000, а затем повторить записи журнала 2 и 3
(C) Нам не нужно повторять записи журнала 2 и 3, потому что транзакция T1 зафиксировала
(D) Мы можем применять операции повтора и отмены в произвольном порядке, потому что они идемпотентны.

Ответ (Б)

2) Рассмотрите записанное отношение (студент, курс), в котором (студент, курс) является первичным ключом, и отношение, заплаченное (студент, сумма), где студент является первичным ключом. Не допускайте нулевых значений и внешних ключей или ограничений целостности. Учитывая следующие четыре запроса:

Query1: select student from enrolled where student in (select student from paid)
Query2: select student from paid where student in (select student from enrolled)
Query3: select E.student from enrolled E, paid P where E.student = P.student
Query4: select student from paid where exists
        (select * from enrolled where enrolled.student = paid.student)

Какое из следующих утверждений является правильным?
(A) Все запросы возвращают идентичные наборы строк для любой базы данных
(B) Query2 и Query4 возвращают идентичные наборы строк для всех баз данных, но существуют базы данных, для которых Query1 и Query2 возвращают разные наборы строк.
(C) Существуют базы данных, для которых Query3 возвращает строго меньше строк, чем Query2.
(D) Существуют базы данных, для которых Query4 столкнется с нарушением целостности во время выполнения.

Ответ (Б)
Возьмите пример:

Table enrolled
student   course
----------------
 abc      c1   
 xyz      c1
 abc      c2
 pqr      c1

Table paid
student  amount
-----------------
 abc      20000
 xyz      10000
 rst      10000


Output of Query 1
 abc
 abc
 xyz

Output of Query 2
 abc
 xyz

Output of Query 3
 abc
 xyz

Output of Query 4
 abc
 xyz

Query 1 и Query 3 могут возвращать повторяющиеся значения студента, так как «student» не является ключевым в зарегистрированном отношении, однако запрос 2 и запрос 4 всегда возвращают одни и те же наборы строк.

Таким образом, вариант (B) является правильным.

3) Рассмотрите записанное отношение (студент, курс), в котором (студент, курс) является первичным ключом, и отношение платное (студент, сумма), где студент является первичным ключом. Не допускайте нулевых значений и внешних ключей или ограничений целостности. Предположим, что суммы 6000, 7000, 8000, 9000 и 10000 были выплачены по 20% студентов. Рассмотрите эти планы запросов (План 1 слева, План 2 справа), чтобы «перечислить все курсы, пройденные студентами, которые заплатили больше, чем х».

Поиск диска занимает 4 мс, пропускная способность передачи данных диска составляет 300 МБ / с, а проверка кортежа, чтобы увидеть, больше ли x, занимает 10 микросекунд. Какое из следующих утверждений является правильным?
(A) План 1 и План 2 не будут выводить идентичные наборы строк для всех баз данных.
(B) Курс может быть указан более одного раза в результатах плана 1 для некоторых баз данных
(C) Для x = 5000 План 1 выполняется быстрее, чем План 2 для всех баз данных.
(D) Для x = 9000 План I выполняется медленнее, чем План 2 для всех баз данных.

Ответ (С)
Предполагая, что достаточно большой объем памяти доступен для всех необходимых данных. Оба плана должны загрузить обе таблицы курсов и записаться. Так что время доступа к диску одинаково для обоих планов.
План 2 делает меньшее количество сравнений по сравнению с планом 1.
1) Операция соединения потребует большего количества сравнений, поскольку вторая таблица будет иметь больше строк в плане 2 по сравнению с планом 1.
2) Объединенная таблица из двух таблиц будет иметь больше строк, поэтому требуется больше сравнений, чтобы найти суммы, превышающие x.

4) Даны следующие функциональные зависимости:

AB → CD, AF → D, DE → F, C → G , F → E, G → A

Какой из следующих параметров является ложным?
(A) CF + = {ACDEFG}
(B) BG + = {ABCDG}
(C) AF + = {ACDEFG}
(D) AB + = {ABCDFG}

Ответ (С)
Закрытие AF или AF + = {ADEF}, закрытие AF не содержит C и G.
Вариант (D) также выглядит правильно. AB + = {ABCDG}, замыкание AB не содержит F.

Пожалуйста, смотрите GATE Corner для всех документов / решений / объяснений предыдущего года, учебных планов, важных дат, заметок и т. Д.

Пожалуйста, пишите комментарии, если вы найдете какие-либо неправильные ответы / объяснения, или вы хотите поделиться дополнительной информацией по темам, обсужденным выше.

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

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

0.00 (0%) 0 votes