- •1.Основные понятия и определения курса. Традиционные файловые системы.
- •5 История развития субд Oracle.
- •6 Общие сведения об инструкциях sql. Правила именования таблиц и столбцов
- •7 Общие сведения о dml.
- •8 Общий синтаксис инструкции select
- •9 Предложения select и from. Предикаты и вычисляемые столбцы (пример).
- •10 Предложение where и классификация условий отбора (привести примеры).
- •11 Составные условия отбора. Влияние значений null на результат отбора.
- •12 Многотабличные запросы и их особенности (привести пример).
- •13 Операторы комбинирования результирующих таблиц в многотабличных запросах (привести примеры).
- •14 Предложение group by. Статистические (агрегативные) функции в sql (примеры).
- •15 Условия отбора групп (предложение having)
- •16 Сортировка результатов запроса (предложение order by).
- •17 Подзапросы: типы, примеры, правила и ограничения, ключевые слова any, all, exist, not exist
- •18 Добавление данных (инструкции insert, merge).
- •19 Модификация и удаление данных (инструкции update, merge и delete).
- •20 Общие сведения о ddl.
- •21 Типы данных sql.
- •22 Создание таблиц (инструкция create table).
- •23 Изменение определения и удаление таблицы (инструкции alter ,drop table).
- •24 Создание псевдонимов и индексов таблиц (инструкции create/drop alias, create/drop index)
- •25 Создание представлений (инструкция create view). Преимущества и недостатки использования, основные виды
- •26 Проблемы обновления и удаление представлений.
- •27 Принципы защиты данных в sql: аутентификация пользователей, защищаемые объекты, использование привилегий и другие возможности обеспечения безопасности
- •28 Аутентификация. Создание и изменение пользователей. Аутентификация пользователей
- •29 Профили. Создание, изменение, удаление.
- •30 Привилегии. Системные привилегии.
- •31 Привилегии доступа к объектам схемы. Правила предоставления привилегий
- •32 Предоставление и отмена привилегий (инструкция grant и revoke).
- •33 Работа с привилегиями при помощи ролей. Системные роли, определение, изменение, удаление ролей
- •34 Аудит. Типы и применение аудита.
- •Типы аудита. В диспетчере авторизации можно использовать два вида аудита: аудит времени выполнения и аудит изменения хранилища данных авторизации. Аудит времени выполнения
- •Аудит изменений хранилища данных авторизации
- •35 Условия целостности данных
- •36 Правила добавления и удаления. Проблемы ссылочных циклов
- •37 Понятие транзакций. Инструкции обработки транзакций (commit и rollback)
- •38 Модель транзакции в стандарте ansi/iso
- •39 Журнал транзакций. Проблемы обработки параллельных транзакций.
- •40 Блокировки транзакций: уровни и виды, тупиковые ситуации.
- •41 Преимущества pl/sql и общие сведения о структуре pl/sql программ
- •42 Классификация блоков pl/sql.
- •43 Управление блоками в sql*Plus.
- •44 Лексические единицы pl/sql
- •45 Синтаксис объявления переменных, инициализация.
- •46 Скалярные типы pl/sql.
- •48 Коллекции (составные типы pl/sql).
- •Методы, применяемые при работе с коллекциями
- •Инициализация коллекций
- •50 Массовое связывание.
- •51 Преобразование типов данных. Область действия и область видимости переменных. Выражения и операции.
- •52 Управляющие структуры pl/sql. Область действия счетчика цикла, ограничения безусловных переходов условное управление
- •Итерационное управление
- •53 Понятие транзакции и виды блокировок Oracle
- •54 Операторы управления транзакциями в Oracle (commit, rollback, savepoint, set transaction, lock table).
- •55 Многоверсионная модель согласованности Oracle.
- •56 Автономные транзакции. Понятие прагмы.
- •57 Записи pl/sql. Использование %rowtype
- •58 Курсорные типы, переменные и выражения. Виды и назначение курсоров.
- •59 Обработка явных и неявных курсоров.
- •61 Динамический sql: использование пакета dbms_sql.
- •62 Алгоритма обработки данных в dbms_sql
- •63 Встроенный динамический sql (nds). (операторы execute immediate, open … for).
- •65 Классификация и определение программных единиц. Общие ключевые слова.
- •66 Создание и использование процедур
- •Вызов процедур и функций
- •67 Создание и использование (вызов) функций.
- •Вызов процедур и функций
- •68 Структура и определение пакета.
- •69 Триггеры бд: виды и создание
- •70 Последовательность событий и предикаты триггеров.
- •71 Пакет dbms_output.
- •72 Пакет utl_file(файловый ввод/вывод)
- •Безопасность
- •73 Пакет dbms_pipe: посылка и получение сообщений
- •74 Пакет dbms_pipe: создание программных каналов и управление ими.
- •75 Архитектура odbc и коды возврата
- •76 Основной алгоритм программ odbc. Инициализация и завершение.
- •77 Выполнение операторов: функции управления каталогом.
- •78 Непосредственное и подготавливаемое выполнение.
- •79 Выборка результатов.
- •80 Подробный алгоритм использования odbc в прикладных программах.
18 Добавление данных (инструкции insert, merge).
INSERT
Существует 2 формы:
Вставка единой строки в таблицу (Insertintoимя таблицы (имя столбца)values(константы)
Копирование одной строки в другую (Insertintoимя таблицы (имя столбца)select…)
insert intostaff (sno, fname, lname, address, tel_no, position, sex, salary, DOB, bno)
values (‘s122’, ‘Иван’, ‘Иванов’, ‘…’, ‘…’, null, ‘m’, null, ‘3-Mar-82’, 2);
insert intostaff
values (‘s122’, ‘Иван’, ‘Иванов’, ‘…’, ‘…’, null, ‘m’, null, ‘3-Mar-82’, 2);
MERGE (INSERT+ UPDATE)
MERGE имя таблицы
Using { имя таблицы или имя представления }
ON (условия)
WHEN MATCHED THEN инструкция обновления (для UPDATE)
WHEN NOT MATCHED THEN инструкция вставки (для INSERT)
19 Модификация и удаление данных (инструкции update, merge и delete).
UPDATE
Инструкция UPDATE обновляет значения одного или нескольких столбцов в выбранных строках одной таблицы.

Увеличить заработную плату сотрудника до 300
update staff set salary = 300 where lname = ‘…’;
Перевести всех служащих из отделения № 2 в отделение № 1
updatestaff
set bno = 1 where bno = 2;.
update staff set salary = 1.05 * salary //// без запроса
Всем служащим отделения Минского отделения увеличить зарплату на 10%
update staff ///// с подчиненным запросом
setsalary = 1.1 * salary
where bno in (select bno from branch
where city = ‘Минск’);
DELETE
Инструкция DELETE, синтаксическая диаграмма которой изображена на рисунке 12, удаляет выбранные строки из одной таблицы

deletefrom staff
where lname = ‘Иванов’;.
delete fromstaff///////удаление всех строк
Хотя в результате выполнения приведенной инструкции таблица STAFFстановится пустой, из базы данных она не удаляется. Определение таблицы и ее столбцов остается в базе данных. Таблица по-прежнему существует, и в нее по-прежнему можно добавлять новые строки
MERGE (INSERT+ UPDATE)
MERGE имя таблицы
Using { имя таблицы или имя представления }
ON (условия)
WHEN MATCHED THEN инструкция обновления (для UPDATE)
WHEN NOT MATCHED THEN инструкция вставки (для INSERT)
20 Общие сведения о ddl.
Субд позволяет определять базу данных, что обычно осуществляется с помощьюязыка определения данных(DDL Data Definition Language), который предоставляет пользователям средства указания типов данных, а также средства задания ограничений для информации, хранимой в базе данных.
С помощью инструкций DDL можно:
• определить структуру новой таблицы и создать её;
• удалить таблицу, которая больше не нужна;
• изменить определение существующей таблицы;
• определить виртуальную таблицу (или представление) данных
(посредством инструкции CREATEVIEW, рассмотренной ранее);
• обеспечить безопасность базы данных;
• создать индекс для ускорения доступа к таблице;
• управлять физическим размещением данных
Ядро языка определения данных образуют три команды:
• CREATE (создать), позволяющая определить и создать объект базы данных;
• DROP (удалить), служащая для удаления существующего объекта базы данных;
• ALTER (изменить), с помощью, которой можно изменить определение объекта базы данных.
Все основные реляционные СУБД позволяют использовать три указанные команды DDL во время своей работы. Таким образом, структура реляционной базы данных является динамической. Например, СУБД может создавать, удалять или изменять таблицы, одновременно с этим обеспечивая доступ пользователям к базе данных
