30 сентября 2010

Практика 30 сентября

Разминка


Вопрос 1. Что произойдет в результате выполнения скрипта:

1: CREATE TABLE A (a1 INT, a2 VARCHAR)
2: INSERT INTO A (a2, a1) VALUES ('12345', 12345)


  1. Скрипт упадет потому что порядок атрибутов в добавляемом кортеже не соответствует порядку атрибутов в таблице
  2. Скрипт упадет потому что строчка '12345' не поместится в отведенный атрибуту a2 тип
  3. Скрипт выполнится успешно


Вопрос 2. Вам даны синтаксические правила:

<рецепт> := <тип_блюда> название_блюда : <список_ингредиентов>
<тип_блюда> := СУП | САЛАТ | ЗАКУСКА
<список_ингредиентов> := <ингредиент> [,...n]
<ингредиент> := <название продукта> [<число> <единица измерения>]
<название_продукта> := ЛУК | ПОМИДОР | CОЛЬ | ВОДА | ХЛЕБ | МАСЛО
<единица_измерения> := ГР. | ШТ. | СТ.Л. | СТАК.
<число> -- вещественное число с точкой

В каком из этих рецептов есть синтаксическая ошибка и почему?

  1. СУП томатный : ПОМИДОР 1000 ГР., ВОДА 2 ШТ.
  2. САЛАТ пикантный : ЛУК 1 ШТ., ПОМИДОР 2 ШТ., МАСЛО СТ.Л.
  3. ЗАКУСКА Хлеб-Соль : ХЛЕБ, СОЛЬ

Слайды