Базовый Эрудит — questions

Jump to: navigation, search
12345
Знание базовых информационных технологий

Variant 3842145172.


Your name*:


Question 1

Какие обьекты в вашей базе помогут избежать безумных запросов с кучей JOINнов (которых обычно городят необученные новички):

  1.  представления (view)
  2.  триггеры
  3.  курсоры
  4.  функции (functions)
  5.  сегменты (segments)

Question 2

Рассмотрим SQL-запрос:

SELECT a.ln, fn, b.zip, c.city
FROM  a,b,c
WHERE a.ln=b.ln
Таблицы a, b, c содержат по 100 записей каждая, а колонка ln - первичный ключ и для a, и для b. Какое максимальное число записей может вернуть запрос?
  1.  1000000
  2.  0
  3.  100
  4.  100000
  5.  10000

Question 3

Про таблицу vtable известно, что в ней 100 записей, есть индекс по полю b, плюс все стобцы "non-unique". Сколько записей просканирует СУБД при выполнении следующего запроса:

  SELECT a, b, c, d FROM vtable WHERE a=5
  1.  5
  2.  1
  3.  100
  4.  0
  5.  от одной до 100 (точно не известно)

Question 4

Пусть P - рекурсивная процедура. Если гарантируется, что P рано или поздно завершает работу, то какие утверждения верны?

  1.  только (2) и (3)
  2.  только (2)
  3.  только (1)
  4.  все верно.
  5.  только (1) и (2)

Question 5

Рассмотрим SQL-оператор:

  SELECT  a.lname, a.fname
    FROM  a JOIN b ON a.lname=b.lname
    WHERE b.sex = 'male'
Какой из следующих запросов ему эквивалентен?
  1.  
    SELECT a.lname, fname FROM a,b WHERE a.lname=b.lname AND sex='male'
  2.  
    SELECT lname, fname FROM a WHERE lname IN (SELECT lname FROM b)
  3.  
    SELECT a.lname, fname FROM a JOIN b WHERE b.sex='male'
  4.  
    SELECT a.lname, fname FROM a
  5.  
    SELECT a.lname, fname FROM a WHERE lname IN (SELECT lname FROM a JOIN b ON lname WHERE sex='male')