СД 04 Разработка и эксплуатация удаленных баз данных

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

1.Архитектура приложений баз данных. Терминология удаленной (распределенной) БД (УБД). Модель "клиент-сервер". Двухуровневые модели. Модель удаленного управления данными (модель файлового сервера). Модель удаленного доступа к данным. Модель активного сервера. 3-уровневая модель сервера.

2.Основные технологии доступа к данным и типовые элементы. Технология COM (component object model). Технология CORBA (общая архитектура брокеров объектных запросов). Технология MIDAS. Доступ к данным по технологии ADO.

3.Синтаксические особенности языка SQL. Проектирование структуры УБД с помощью команд. Создание УБД. Операции с таблицами.

4.Представления (View) и работа с ними. Работа с курсором в УБД.

5.Жизненный цикл удаленной (распределенной) УБД.

6.Использование хранимых процедур. Понятие и назначение хранимых процедур.

7.Использование триггеров и генераторов. Понятие триггера. Команды создания, изменения и удаления триггера. Генераторы - назначение, создание, установка начального значения.

8.Сортировка, поиск и фильтрация в базе данных и выборках.

9.Механизм транзакций. Неявная и явная транзакции.

10.Установка привилегий доступа к данным. Понятие привилегии, привилегии по умолчанию. Состав параметров при установлении привилегий. Назначение привилегий пользователю и группам пользователей. Отмена привилегий.

Практические задания

1. Средствами SQL создайте таблицу «Работники», состоящую из столбцов: первичный ключ, имя, фамилия, зарплата, пол (мужской, женский). Добавьте в нее 6 записей с данными в каждом столбце. Добавьте столбец для стажа и заполните его значениями (2,3,4,6,2,1) в порядке возрастания первичного ключа. Добавьте ограничение по столбцу зарплата: зарплата должна быть больше нуля и меньше 1000000. Объявите курсор и с его помощью удалите третью запись. Выведите количество работников с зарплатой больше средней и стажем больше 2, а также их список (имя, фамилия, ключ). Создайте представление таблицы из столбцов: (фамилия, зарплата, ключ) – для работников с зарплатой меньше средней. Выведите все строки представления и добавьте новую.

2. Средствами SQL создайте таблицу «Процессоры», состоящую из столбцов: первичный ключ, модель, частота, размер кэша (64, 128, 256, 512, 1024, 2048). Добавьте в нее 5 записей с данными в каждом столбце. Добавьте столбец для цены и заполните его значениями (3200,3600,4000,3600,5200,5100) в порядке возрастания частоты. Добавьте ограничение по столбцу цена: цена должна быть больше нуля и меньше 10000. Объявите курсор и с его помощью удалите четвертую запись. Выведите количество процессоров с частотой больше средней и ценой больше 3900, а также их список (модель, цена, частота). Создайте представление таблицы из столбцов: (модель, цена) – для процессоров с кэшем меньше среднего. Выведите все строки представления и добавьте новую.

3. Средствами SQL создайте таблицу «Книги», состоящую из столбцов: первичный ключ, название, автор (не содержит цифр), издательство, цена. Добавьте в нее 6 записей с данными в каждом столбце. Добавьте столбец для года издания и заполните его значениями (1992,1993,1994,1996,2000,2001) в порядке возрастания первичного ключа. Удалите столбец «издательство». Объявите курсор и с его помощью удалите пятую запись. Выведите количество книг с ценой, отличающейся от средней не более, чем на 30%, и годом издания больше 1993, а также их список (название, автор, ключ). Создайте представление таблицы из столбцов: (название, автор, ключ) – для книг с ценой меньше средней не менее, чем на 10%. Выведите все строки представления и добавьте новую.

4. Средствами SQL создайте таблицу «Свитера», состоящую из столбцов: первичный ключ, тип, артикул (5 цифр), цена, цвет (черный, белый, коричневый), размер (44 – 60 с шагом 2). Добавьте в нее 6 записей с данными в каждом столбце. Удалите столбец тип. Объявите курсор и с его помощью измените размер в третьей записи на 46. Выведите количество черной и коричневой одежды с ценой меньше средней не более чем на 20%, а также ее список (артикул, цена, размер). Создайте представление таблицы из столбцов: (артикул, цена, размер, ключ) – для одежды с размером меньше среднего. Выведите все строки представления и добавьте новую..

5. Средствами SQL создайте таблицу «Мотоциклы», состоящую из столбцов: первичный ключ, модель, объем двигателя (от 0 до 10), цена. Добавьте в нее 6 записей с данными в каждом столбце. Добавьте столбец для цвета и заполните его значениями (черный, серый, черный, черный, черный, белый) в порядке возрастания первичного ключа. Добавьте ограничение по столбцу цена: она должна быть больше нуля и меньше 100000. Объявите курсор и с его помощью удалите вторую запись. Выведите количество мотоциклов с ценой больше средней не менее, чем на 20%, и объемом больше среднего, а также их список (модель, цена, ключ). Создайте представление таблицы из столбцов: (модель, цена, ключ) – для мотоциклов с объемом, отличным от среднего не более чем на 25%. Выведите все строки представления и добавьте новую.

6. Средствами SQL создайте таблицу «Книги», состоящую из столбцов: первичный ключ, название, автор (не содержит цифр), ISBN (поле с уникальными данными), цена. Добавьте в нее 6 записей с данными в каждом столбце. Создайте хранимую процедуру SQL для поиска книги по ISBN и продемонстрируйте ее работу. Создайте представление таблицы из столбцов: (название, автор, цена) – для книг с ценой, отличающейся от средней не более, чем на 10% и выведите все его строки на экран.

7. Средствами SQL создайте таблицу «Студенты», состоящую из столбцов: первичный ключ, имя, фамилия, год рождения (не раньше 1950 года), средний балл (от 3 до 5). Создайте хранимую процедуру SQL, добавляющую указанное пользователем количество новых записей в таблицу со случайными значениями года и среднего балла. Создайте представление таблицы из столбцов: (фамилия, имя) – для студентов с успеваемостью ниже средней и выведите все его строки на экран.

8. Средствами SQL создайте таблицу «Работники», состоящую из столбцов: первичный ключ, имя, фамилия, зарплата, ИНН (10 цифр). Добавьте в нее 3 записи с данными в каждом столбце. Создайте триггер, препятствующий появлению в таблице записей с одинаковым ИНН. Создайте представление таблицы из столбцов: (фамилия, зарплата, ключ) – для работников с зарплатой больше средней и выведите все его строки на экран.

9. Средствами SQL создайте таблицы «Продукция» (первичный ключ, наименование, цена) и «Поставщики» (первичный ключ, название), реализовав отношения между ними – «многие ко многим» с помощью дополнительной таблицы. Создайте хранимую процедуру SQL, позволяющую вывести список наименований продукции с ценой, для поставщика, указанного пользователем. Продемонстрируйте работу процедуры, заполнив таблицы необходимыми данными.

10. Средствами SQL создайте таблицы «Книги» (первичный ключ, наименование, цена) и «Авторы» (первичный ключ, название), реализовав отношения между ними – «многие ко многим» с помощью дополнительной таблицы. Создайте хранимую процедуру SQL, позволяющую вывести список наименований книг с ценой, для автора, указанного пользователем. Продемонстрируйте работу процедуры, заполнив таблицы необходимыми данными.