Министерство образования Республики Беларусь
Учреждениеобразования
«Белорусский государственный университет информатики и радиоэлектроники»
Филиал
«Минский радиотехнический колледж»
Утверждаю
Заместитель директора
по учебной работеМРК
Ф.С.Шумчик
«»201г.
Вопросы и задания кэкзамену
по дисциплине «БД и СУБД » для учащихся уровня ССО дневной формы обучения специальность 2 – 40 01 01 «ПОИТ »
курс 4 семестр 7
Составили преподаватели: Карпович Д.В.
Виничук О.Н.
Рассмотрено на заседании ЦК«ПОИТ»
Рекомендовано к использованию на 20 -20учебныйгод
Протокол №от
ПредседательЦК«ПОИТ»М.А.Бельчик
Вопросы к зимней экзаменационнойсессии
1. Информационные системы. Классификация. Основные функции и области применения.
2. Банк данных и егокомпоненты.
3. Классификация моделей представленияданных.
4. Сетевая модель данных. Достоинства инедостатки.
5. Иерархическая модель данных. Достоинства инедостатки.
6. Реляционная модель данных. Достоинства инедостатки.
7. Классификация программСУБД.
8. Общие понятия реляционного подхода к организации баз данных. Основные концепции и термины. Первичный и внешний ключи.Индексы.
9. Реляционная алгебра. Основныеоперации.
10. Реляционноеисчисление.
11. Проектирование реляционных баз данных с использованиемнормализации.
12. Ссылочная целостность баз данных. Способы поддержания ссылочнойцелостности.
13. Транзакции и целостность базданных.
14. Уровни изолированноститранзакций.
15. Структура внешнейпамяти.
16. Журнализацияизменений.
17. Сериализация транзакций. Методы сериализациитранзакций.
18. Синхронизационные захваты. Тупики. Метод временныхметок.
19. Функции и основные возможности языкаSQL.
20. Отличие SQL от процедурных языковпрограммирования.
21. Интерактивный и встроенныйSQL.
22. Типы данныхSQL.
23. Простейшие SELECT-запросы.Синтаксис.
24. Операторы IN, BETWEEN, LIKE, ISNULL.
25. Агрегирование и групповые функции. Упорядочение выходныхполей.
26. Вложенные подзапросы. Использование оператораexists.
27. Формирование связанныхподзапросов.
28. Оператор объединения union. Внешнееобъединение.
29. Соединение таблиц с использованием оператораjoin.
30. Команды манипулирования данными. Использование подзапросов вINSERT.
31. Использование подзапросов сDELETE.
32. Использование подзапросов сUPDATE.
33. Основные особенности архитектурыклиент-сервер.
34. Описание данных на основе SQL Организация данных в InterBase. Типыданных.
35. Домены. Создание доменов. Изменение доменов. Удалениедоменов.
36. Таблицы. Создание таблицы. Модификация таблицы. Удалениетаблиц.
37. Индексы. Создание индексов. Изменение индекса. Восстановление индекса. Удалениеиндекса.
38. Исключения. Создание исключения. Изменение исключения. Удалениеисключения.
39. Триггеры и их назначение. Команды создания, удаления и модификациитриггеров.
40. Хранимые процедуры и их назначение. Команды создания, удаления и модификации триггеров.
41. Работа с BLOB и функции, определенныепользователем.
42. Технология доступа к данным InterBaseExpress.
43. Технология доступа к даннымdbExpress.
44. Технология доступа к даннымADO.
45. Этапы создания приложенияБД.
46. Механизм доступа к данным приложенияБД.
47. Основные особенности использования компонента TTable. Свойства, методы и события.
48. Основные особенности использования компонента TQuery. Свойства, методы и события.
49. Визуализация данных вDelphi.
50. Способы создания отчетов. Перечислить основныекомпоненты.
51. Общие особенности трехзвеннойархитектуры.
Практические задания кэкзамену
1. Предположим, что каждый продавец имеет 12% комиссионных. Напишите запрос к таблице Заказов, который мог бы вывести номер Заказа, номер продавца, и сумму комиссионных продавца для этогоЗаказа.
2. Напишите запрос к таблице Заказчиков, который мог бы найти высшую оценку в каждом городе. Вывод должен быть в такойформе:
Для города (город), самый высокий рейтинг:(рейтинг).
3. Напишите запрос, который выводил бы список заказчиков в нисходящем порядке. Вывод поля оценки (рейтинг) должен сопровождаться именем заказчика и егономером.
4. Напишите запрос, который бы выводил общую сумму заказа за каждый день и помещал результаты в нисходящемпорядке.
5. Напишите запрос, который бы вывел список номеров Заказов, сопровождающихся именем заказчика, который создавал этиЗаказы.
6. Напишите запрос, который бы выдавал имена продавца и заказчика для каждого Заказа после номераЗаказов.
7. Напишите запрос, который бы выводил всех заказчиков, обслуживаемых продавцом с комиссионными выше 12%. Выведите имя заказчика, имя продавца и ставку комиссионныхпродавца.
8. Напишите запрос, который вычислил бы сумму комиссионных продавца для каждого Заказа заказчика с рейтингом выше100.
9. Напишите запрос, который бы вывел всех продавцов и заказчиков, живущих в одном и том же городе. Исключите комбинации продавцов с ними же, а также дубликаты строк, выводимых в обратномпорядке.
10. Напишите запрос, который вывел бы имена и города всех заказчиков с таким же рейтингом, как у Hoffman. Напишите запрос, использующий поле Код_заказчика Hoffman, а не его оценку, так, чтобы оно могло быть использовано, если его оценка вдруг изменится.
11. Напишите запрос, который бы использовал подзапрос для получения всех Заказов для заказчика с именем Cisneros. Предположим, что вы не знаете номера этого заказчика, указываемого в полеКод_заказчика.
12. Напишите запрос, который вывел бы имена и рейтинг всех заказчиков, которые имеют среднее значение суммызаказа.
13. Напишите запрос, который бы выбрал общую сумму всех приобретений в Заказах для каждого продавца, у которого эта общая сумма больше, чем сумма наибольшего Заказа в таблице.
14. Напишите команду SELECT, использующую соотнесенный подзапрос, которая выберет имена и номера всех заказчиков с максимальными для их городовоценками.
15. Напишите два запроса, которые выберут всех продавцов (по их имени и номеру), которые в своих городах имеют заказчиков, которых они не обслуживают. Один запрос — с использованием объединения и один — с соотнесеннымподзапросом.
16. Напишите запрос, который бы использовал оператор EXISTS для извлечения всех продавцов, которые имеют заказчиков с оценкой300.
17. Напишите запрос, использующий оператор EXISTS который выберет всех продавцов с заказчиками, размещенными в их городах и которые ими необслуживаются.
18. Напишите запрос, извлекающий из таблицы Заказчиков каждого заказчика назначенного к продавцу, который в данный момент имеет, по крайней мере, еще одного заказчика (кроме заказчика которого вы выберете) с Заказами в таблице Заказов (подсказка: это может быть похоже на структуру в примере с нашим трехуровневым подзапросом).
19. Напишите запрос, который бы выбирал все Заказы с суммой больше чем любая для заказчиков вЛондоне.
20. Напишите запрос, который бы выбирал все Заказы с суммой больше чем максимальная сумма для заказчиков вРиме.
21. Создайте объединение из двух запросов, которое показало бы имена, города, и оценки всех заказчиков. Те из них, которые имеют поле рейтинг=200 и более, должны, кроме того, иметь слова "Высокий Рейтинг", а остальные должны иметь слова "НизкийРейтинг".
22. Напишите команду, которая бы вывела имена и номера каждого продавца и каждого заказчика, которые имеют больше одного заказа. Результат представьте в алфавитном порядке.
23. Сформируйте объединение из трех запросов. Первый выбирает поля Код_продавца всех продавцов в SanJose; второй, поля Код_заказчика всех заказчиков в SanJose; и третий поля Код_заказа всех Заказов на 3Октября.
24. Напишите команду, которая бы вставила следующие значения в таблицу Продавцов в следующемпорядке: