Академический Документы
Профессиональный Документы
Культура Документы
Астрахань 2022
Составитель: Космачева И.М., доцент кафедры «Информационная безопасность»
Практика 1.
Задание.
1. Изучить теоретический материал из лекций и дополнительных источников,
рекомендованных преподавателем.
2. Выполнить задания, представленные в приложении 1.
3. Пройти тестирование на портале. Примерные вопросы представлены в приложении 2.
4. Каждой подгруппе подготовить совместно доклад по теме: Типы индексов. Правила их
обслуживания и поддержки безопасной работы.
5. Представить доклад . Во время выступления представители подгруппы студенты второй
подгруппы готовят 5 вопросов по выступлению участников. На данные вопросы отвечают
студенты первой группы, не участвующие в устном представлении доклада. Капитан каждой
команды фиксирует полученные баллы за активность в специальной таблице, предоставленной
в приложении 3.
6. Выполнить тестовый вариант контрольной работы 1 из приложения 4.
Тема Вопросы
Тема 1. SQL- 1. Понятие базы данных, СУБД. СУБД Oracle: основные возможности.
запросы. Типы Какие команды для создания пользователя и предоставления прав ему вы
индексов. знаете? Опишите синтаксис.
Правила их 2. Назначение и возможности программы SQL*Plus. Настройка
обслуживания и переменных среды, параметров сессии, режима удобочитаемого
поддержки отображения данных на экране, c использованием кириллицы.
безопасной 3. Ведение протокола работы в SQL*Plus. Какая команда для этого
работы. 6 ч. используется?
4.Что устанавливает параметр операционной среды SQL*PLUS
PAGESIZE? Какой командой (командами) можно получить
удобочитаемое отображение данных по запросу, если извлекается
большое количество колонок таблицы?
5. Редактирование команд. Сохранение команд в для дальнейшего
использования.
6. Подготовка скриптов.
7. Что за параметр nls_date_format, как он устанавливается и для чего
используется?
8. Команды DDL, ALTER TABLE, ALTER USER. Что такое ограничение
целостности, назначение и виды. Как изменить структуру таблицы,
переименовать ее или ее столбец, отключить ограничение целостности?
9. Типы данных Oracle, виды.
10. Реляционные операторы – дать определение и описать синтаксис их
реализации в SQL. Реляционные операторы и команды DML с ними
связанные.
11. Команды DML: Синтаксис. Использование раздела WHERE, GROUP
BY и HAVING, ORDER BY команды SELECT.
12.Использование алиасов. Создание представлений – предназначение
этого объекта БД.
13. Предикаты between, like, exists и др
14. Использование запросов и подзапросов..
15. Как работает коррелированный запрос?
16. Как работает некоррелированный запрос?
17. Операторы DDL. Синтаксис команды create,alter
18. Встроенные функции Oracle. Примеры применения. Как вернуть день
недели последнего дня месяца?
Практика 2.
Задание.
1. Изучить теоретический материал из лекций и дополнительных источников,
рекомендованных преподавателем.
2. Выполнить задания из индивидуального варианта контрольной работы 1 по теме:
SQL-запросы. Пример задания представлен в приложении 4.
Практика 3.
Задание.
1. Изучить теоретический материал из лекций и дополнительных источников,
рекомендованных преподавателем.
2. Выполнить задания, представленные в приложении 5.
3. Пройти тестирование на портале. Примерные вопросы представлены в
приложении 6.
Тема Вопросы
Тема 2. 1. Язык PL/SQL. В чем преимущества перед SQL.
Программируемы 2. Типы данных PL/SQL.
е объекты 3. Основные разделы блока PL/SQL. PL/SQL.
(PL/SQL) 6 ч. 4. Обработка исключительных ситуаций.
5. PL/SQL. Условные операторы. Типы.
6. Программные конструкции PL/SQL.
7. Функции. Табличные (многозначные) функции .
8. Процедуры в PL/SQL. Синтаксис, правила создания. Пакеты.
9. Встроенные модули PL/SQL
10. Триггеры. Классификация. Триггер DML. Синтаксис.
11. Системные триггеры.
12. Триггеры замещения.
13. Триггеры DML. Проблема мутирующих таблиц. Примеры
использования триггеров.
Разграничение доступа средствами СУБД Oracle.
14. Понятие транзакции. Команды управление транзакциями. Свойства
транзакции.
Практика 4.
Задание.
1. Изучить теоретический материал из лекций и дополнительных источников,
рекомендованных преподавателем.
2. Выполнить задания из индивидуального варианта контрольной работы 2 по теме:
Программируемые объекты СУБД. Пример задания представлен в приложении 7.
Заказчики (Customers)
ПОЛЕ СОДЕРЖАНИЕ
-------- ---------------------------------------------------
cnum уникальный номер, назначенный каждому заказчику.
cname имя заказчика.
city расположение заказчика ( город ).
rating уровень предпочтения данного заказчика перед другими.
snum номер продавца, назначенного этому заказчику (из табл. Продавцов )
Порядки (Orders)
ПОЛЕ СОДЕРЖАНИЕ
--------- ---------------------------------------------------
onum уникальный номер заказа, данный каждому приобретению.
amt значение суммы приобретений.
odate дата приобретения.
cnum номер заказчика, делающего приобретение ( из табл. Заказчиков).
snum номер продавца, продающего приобретение ( из табл. Продавцов).
create table Orders(onum integer primary key, amt number(7,2),odate date, cnum integer references
customers, snum integer references salespeople);
commit;
Дополнительное задание.
1. Запишите команду для создания таблиц с описанной структурой :
Команда
CONNECT имя/пароль
SPOOL путь и имя файла
11. Укажите какие ограничения целостности были установлены при создании таблицы :
CREATE TABLE Customers
(cnum integer NOT NULL PRIMARY KEY, cname char(10) NOT NULL, city char(10),
rating integer CHECK (rating BETWEEN 0 AND 100), snum integer REFERENCES
Salespeople ON DELETE SET NULL);
12. SELECT [ALL | DISTINCT] <список_выбора | *> FROM <имя_таблицы>, ... [ WHERE
<условие> ] [ GROUP BY <имя_столбца>,...] [ HAVING <условие> ] [ORDER BY
<имя_столбца> [ASC | DESC],... ]/
Поясните применение в команде SELECT слов ALL , DISTINCT, *, ASC , DESC
13. Перечислите для задания основных условий поиска используемые символы, слова в
SQL-запросе:
A. Сравнение:
B. Диапазон :
C. Принадлежность к множеству:
D. Соответствие шаблону:
E. Значение NULL
14. С подзапросами могут использоваться такие ключевые слова: ALL, АNY, SOME. Каков
их смысл?
15. Какой из следующих SQL-операторов удаляет все строки в таблице, не записывая в
журнал факт удаления отдельных строк?
A. UPDATE
B. REVOKE
C. DROP
D. TRUNCATE
E. DELETE
16. Какая команда в СУБД Oracle приведет к автоматическому удалению значений в полях
ссылках:
A. create table y(b number references x(a) on delete set null);
B. create table y(b number references x(a) on delete cascade);
C. create table y(b number references x(a) delete of x restricted);
D. drop table y cascade constraints?
17. Выберите команду (-ы), необходимые для выполнения удаления столбца в таблице,
переименования столбца таблицы, удаления таблицы?
a. drop table
b. alter table
c. update
d. rename table
18. Укажите, какие ограничения целостности будут нарушены при выполнении вставки данных
во второй или третьей команде:
CREATE TABLE Customers (cnum integer PRIMARY KEY, cname char(10) NOT NULL, city
char(10), rating integer CHECK (rating BETWEEN 0 AND 100), snum integer REFERENCES
Salespeople ON DELETE SET NULL);
INSERT INTO Customers values (1, 'Ivan', 'Sochi',300, null);
INSERT INTO Customers values (1, null, 'Astrakhan',108,5);
20. Какая команда обеспечит автоматическое удаление строк в дочерних таблицах при
удалении строки в родительской? Выберите один или несколько ответов
a. drop table y cascade constraints
b. create table y(b number references x(a) on delete set null);
c. create table y(b number references x(a) on delete cascade);
d. create table y(b number references x(a) delete of x restricted);
1. Отношение
2. Атрибуты
3. Сущность
4. Домен
23. Как обозначается группа команд SQL, что позволяет выполнять различные операции с
базой данных, такие как CREATE (создание), ALTER (изменение) и DROP (удаление
объектов).
A. DDL.
B. DML.
C. DCL.
24. Какие ключевые слова используются при составлении запроса на SQL для реализации
реляционных операторов. Сопоставьте названию оператора ключевое слово:
1. Объединение
2. Соединение
3. Деление
4. Выборка
A. union,
B. exists,
C. where,
D. join
E. cross join
31. В системах управления базами данных MySQL, PostgreSQL: данные хранятся в отношениях.
К какому типу относится такая СУБД - реляционная или NoSQL?
32. Тип данных char(10) может хранить только строку фиксированной длины не более заданной.
Верно ли это? Укажите в скобках длину строки и единицу измерения через пробел).
33. Тип данных varchar(10) может хранить строку любой длины не более ____. Закончите фразу,
указав размер и единицу измерения через пробел.
CREATE TABLE USERS (id INT, name VARCHAR (20) NOT NULL UNIQUE, PRIMARY KEY
(id));
Какое поле используется в качестве первичного ключа?
38. CREATE TABLE order ( order_id INT NOT NULL, user_id INT, PRIMARY KEY (order_id),
FOREIGN KEY (user_id) REFERENCES users(id));
На основе имеющегося кода скажите, созданная таблица является родительской или дочерней?
44. Запишите команду для изменения формата отображения даты на время сессии как в
примере:
Wen 12/07/1974 14:05:22
47. Как ограничение целостности может предупредить ввод данных в таблицу, определяемых с
помощью правила как некорректных?
48. Какая команда инициализирует запись протокола работы SQL*Plus в текстовый файл,
расположенный по указанному пути?
49. Какая команда может запустить на выполнение SQL скрипт?
Приложение 3
-- прейскурант фирмы
create table assortiment(code_tovar integer ,name_tovar char(25), price_tovar number);
Для товара, код которого указан при удалении записи, необходимо откорректировать его
остаток на складе. Триггер обрабатывает только одну удаляемую запись.
UPDATE Склад
SET Остаток=Остаток-@y_old
WHERE КодТовара=@x_old
IF NOT EXISTS (SELECT * FROM Склад
WHERE КодТовара=@x)
INSERT INTO Склад(КодТовара, Остаток)
VALUES (@x,@y)
ELSE
UPDATE Склад
SET Остаток=Остаток+@y
WHERE КодТовара=@x
END
ELSE
RAISERROR('запись не изменена',16,10)
FETCH NEXT FROM CUR1 INTO @k,@x, @y
FETCH NEXT FROM CUR2 INTO @k_old,@x_old,
@y_old
END
CLOSE CUR1
CLOSE CUR2
DEALLOCATE CUR1
DEALLOCATE CUR2
BEGIN
INSERT INTO temp_table VALUES (-10, 'Hello from the parent! ');
Autonomous;
ROLLBACK;
END;
SOL> SELECT * FROM temp_table WHERE num_col = -10;
Выберите один ответ:
a. -10, 'Hello from the parent!
b. -10 Hello from Autonomous!
4. Блок PL/SQL состоит из трех частей. Выберите необязательную (-ые):
1. секция объявлений
2. исполняемый блок
3. блок обработки исключений
5. Укажите вариант ответа из скобок так, чтобы утверждение было верным: Выдача оператора
commit (не влияет / влияет) на то, когда Oracle копирует измененные данные из буферного
кэша на диск.
Триггер:
при удалении читателя, на руках у которого имеются книги, уменьшать количество
экземпляров этих книг.
Функция/Процедура:
Вывести в указанном диапазоне даты количество должников (задержавших книгу).