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

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

Variant 3564073038.


Your name*:


Question 1

Приведенная C-программа

    #include <stdio.h>
    main()
    {
        float sum=0.0, j=1.0, i=2.0;
        while (i/j>0.001)
        {
            j=j+j;
            sum=sum+i/j;
            printf("%f \n",sum);
        }
    }
напечатает следующее количество строчек:
  1.  20-29
  2.  >39
  3.  30-39
  4.  10-19
  5.  0-9

Question 2

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

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

Question 3

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

   a        integer not null
   b        varchar(244) null

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

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

Question 4

Рассмотрим 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.  10000
  2.  1000000
  3.  100
  4.  0
  5.  100000

Question 5

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

SELECT TYPE, avg(price), MIN(price)
FROM  product
GROUP BY category
Все ли слава богу с этим запросом?
  1.  Колонку type надо занести в group by-часть
  2.  Нет, отсутствует WHERE-часть
  3.  Нельзя в SELECT-части заказывать несколько разных агрегатных функций
  4.  Нельзя в SELECT-части заказывать и колонки и агрегатные функции
  5.  Да, все в порядке