Базы данных:Вопросы к гос. экзамену 2005-06

Материал из Пермский Студенческий Портал

Перейти к: навигация, поиск

Теоретические вопросы

  1. Проектирование базы данных с помощью нормализации.
  2. Операция «соединение» и ее свойства.
  3. Разложение без потерь. Теорема. Примеры.
  4. Полностью соединимые отношения. Примеры.
  5. Операторы описания данных в SQL.
  6. Операторы манипулирования данными в SQL.
  7. Управление транзакциями.
  8. Технологии «клиент-сервер».
  9. Оператор Select.
  10. Индексация. Достоинства и недостатки. Примеры.
  11. В-дерево. Добавление и удаление элементов.
  12. Методы прямого доступа.
  13. Архитектуры БД.
  14. Управление правами доступа в SQL.
  15. Модель Чена.
  16. Примеры бинарных связей.
  17. Правила Джексона для перехода от модели Чена к реляционной модели.
  18. Реляционная модель данных. 12 правил Кодда.
  19. Ограничения целостности в реляционной модели данных и их поддержка в SQL.
  20. Восстановление данных в БД.

Практические вопросы

Даны таблицы Автор и Книга:

CREATE TABLE Автор
( КодАвтора       INT,
  Фамилия         VARCHAR(50) NULL,
  Имя             VARCHAR(50) NULL,
  Отчество        VARCHAR(50) NULL,
  Пол             VARCHAR(50) NOT NULL,
  Дата_рождения   DATATIME,
  Телефон         CHAR(9))

CREATE TABLE Книга
( КодКниги        INT,
  Название        VARCHAR(50) NOT NULL,
  Цена            MONEY,
  Издательство    VARCHAR(50) NOT NULL,
  КодАвтора       INT NOT NULL,
  Количество      INT)

Укажите недостатки такого построения таблиц. Запишите запросы на SQL:
– Определите автора самой дорогой книги.
– Определите авторов, не печатающих свои книги в издательстве «АСТ».
– Определите авторов, написавших наибольшее количество книг.

Даны таблицы Рейс и Вылет:

CREATE TABLE Рейс
( Номер_рейса                 INT,
  Конечный_пункт              VARCHAR(30),
  Дата_вылета                 DATETIME,
  Продолжительность полета    INT,
  Число_билетов               INT,
  Стоимость                   MONEY)

CREATE TABLE Билет
( Номер_места                 CHAR(3),
  Номер_рейса                 CHAR(6),
  Дата_продажи                DATETIME,
  Фамилия_пассажира           VARCHAR(20))

Укажите ограничения ссылочной целостности, которые нужно установить для этих таблиц. Запишите запросы на SQL:
– Определить список пассажиров, купивших билеты на самые продолжительные рейсы.
– Вывести список пассажиров, не летящих в Самару.
– Определить пассажиров, купивших самые дорогие билеты.


Даны таблицы Блюдо и Компонент:

CREATE TABLE Блюдо
( Название_блюда        VARCHAR(20) NOT NULL,
  Время_приготовления   INT NOT NULL,
  Тип_блюда             VARCHAR(20),
  Номер_рецепта         INT,
  Повар                 VARCHAR(20),
  Стоимость			MONEY)

CREATE TABLE Компонент
( Название_компонента   VARCHAR(20),
  Калорийность          INT NOT NULL,
  Вес                   FLOAT,
  Белки                 INT,
  Жиры                  INT,
  Углеводы              INT,
  Блюдо                 VARCHAR(20),
  Стоимость             MONEY NOT NULL)

Укажите недостатки такого построения таблиц. Запишите запросы на SQL:
– Определить блюдо, которое можно приготовить быстрее всех остальных блюд.
– Определить, кто из поваров не готовит десерт.
– Определить самое калорийное блюдо.

Даны таблицы Автор и Книга:

CREATE TABLE Автор
( КодАвтора         INT,
  Фамилия           VARCHAR(50) NULL,
  Имя               VARCHAR(50) NULL,
  Отчество          VARCHAR(50) NULL,
  Пол               VARCHAR(50) NOT NULL,
  Дата_рождения     DATATIME,
  Телефон           CHAR(9))

CREATE TABLE Книга
( КодКниги          INT,
  Название          VARCHAR(50) NOT NULL,
  Цена              MONEY,
  Издательство      VARCHAR(50) NOT NULL,
  КодАвтора         INT NOT NULL,
  Количество        INT)

Записать на SQL:
– Удалить сведения об авторах, чьи произведения не издаются.
– Добавить нового автора (М.Горький).
– Увеличить на 50% цену книг издательства «АСТ».

Даны таблицы Рейс и Вылет:

CREATE TABLE Рейс
( Номер_рейса               INT,
  Конечный_пункт            VARCHAR(30),
  Дата_вылета               DATETIME,
  Продолжительность_полета  INT,
  Число_билетов             INT,
  Стоимость                 MONEY)

CREATE TABLE Билет
( Номер_места               CHAR(3),
  Номер_рейса               CHAR(6),
  Дата_продажи              DATETIME,
  Фамилия_пассажира         VARCHAR(20))

Запишите на SQL:
– Удалить информацию о билетах, ошибочно проданных после вылета самолета.
– Добавить новый рейс.
– Увеличить на 10% стоимость билетов на рейсы 23-45 и 56-78.

Даны таблицы Блюдо и Компонент:

CREATE TABLE Блюдо
( Название_блюда         VARCHAR(20) NOT NULL,
  Время_приготовления    INT NOT NULL,
  Тип_блюда              VARCHAR(20),
  Номер_рецепта          INT,
  Повар                  VARCHAR(20),
  Стоимость              MONEY)

CREATE TABLE Компонент
( Название_компонента    VARCHAR(20),
  Калорийность           INT NOT NULL,
  Вес                    FLOAT,
  Белки                  INT,
  Жиры                   INT,
  Углеводы               INT,
  Блюдо                  VARCHAR(20),
  Стоимость              MONEY NOT NULL)

Запишите на SQL:
– Удалить сведения о блюдах, стоимость которых меньше средней стоимости их компонентов.
– Добавить новый компонент.
– Установить калорийность, равную 100 ккал, для блюд без указанной калорийности.

Постройте В-дерево для последовательности ключей, поступающих в следующем порядке: 20, 40, 10, 30, 15, 35, 7, 26, 18, 22, 5, 42, 13, 46, 27, 8, 32, 38, 24, 45, 25.

Постройте многоуровневый индекс для файла, содержащего не менее 24 записей.

Постройте модель Чена для заданного описания предметной области.

Имеется несколько складов. Для каждого склада известен владелец и название. На каждом складе хранятся товары. Одинаковые товары могут храниться на разных складах. Некоторые склады могут временно пустовать. Известна вместимость каждого склада в тоннах. Складов без владельцев не бывает.

О каждом товаре известно его наименование, уникальный номер-артикул.

Товары на склады привозятся на автомашинах. О каждой автомашине известна её марка, грузоподъемность в тоннах и фамилия владельца. Машин без владельцев не бывает. Имеется информация о поступлениях, показывающая какая машина какой товар на какой склад привозит в каком количестве (в тоннах).

Постройте реляционную модель для заданного описания предметной области.

Имеется несколько складов. Для каждого склада известен владелец и название. На каждом складе хранятся товары. Одинаковые товары могут храниться на разных складах. Некоторые склады могут временно пустовать. Известна вместимость каждого склада в тоннах. Складов без владельцев не бывает.

О каждом товаре известно его наименование, уникальный номер-артикул.

Товары на склады привозятся на автомашинах. О каждой автомашине известна её марка, грузоподъемность в тоннах и фамилия владельца. Машин без владельцев не бывает. Имеется информация о поступлениях, показывающая какая машина какой товар на какой склад привозит в каком количестве (в тоннах)