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

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

Variant 3696130877.


Your name*:


Question 1

Рассмотрим 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 WHERE lname IN (SELECT lname FROM a JOIN b ON lname WHERE sex='male')
  2.  
    SELECT a.lname, fname FROM a
  3.  
    SELECT a.lname, fname FROM a JOIN b WHERE b.sex='male'
  4.  
    SELECT a.lname, fname FROM a,b WHERE a.lname=b.lname AND sex='male'
  5.  
    SELECT lname, fname FROM a WHERE lname IN (SELECT lname FROM b)

Question 2

Рассмотрим таблицу vtable:

   A   B   C
  -----------
   1   2   4
   2   1   6
   1   2   4
   1   1   20
   2   1   4
   12  0   9

Сколько строк вернет следующий SQL-оператор?

  SELECT DISTINCT a,b FROM vtable
  1.  4
  2.  6
  3.  5
  4.  1
  5.  2

Question 3

Какое отношение между сущностями A и C, согласно следующей ER-диаграмме:

[svg]

  1.  один к многим
  2.  многие ко многим
  3.  многие к одному
  4.  один к одному
  5.  другое

Question 4

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

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

Question 5

Пусть таблица vtable содержит (помимо прочих) следующие колонки:

   a        integer not null
   b        varchar(244) null

Что неправильно в следующем SQL-операторе:

  CREATE INDEX myindex ON vtable(a,b)
  1.  индексы не могут содержать одновременно поля символьных и числовых типов
  2.  индексируемые столбцы должны быть NOT NULL
  3.  нельзя строить индексы над текстовыми полями
  4.  да все в порядке
  5.  каждый индекс строится только над одним полем