
- •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 в прикладных программах.
7 Общие сведения о dml.
СУБД позволяет вставлять, обновлять, удалять и извлекать информацию из базы данных, что обычно осуществляется с помощью языка управления данными(DML Data Manipulation Language).
Наличие централизованного хранилища данных позволяет использовать язык DMLкак общий инструмент организации запросов, который иногда называютязыком запросов (query language).
Существует две разновидности языков DMLпроцедурныеинепроцедурные, которые отличаются между собой способом извлечения данных. Основное отличие между ними заключается в том, что процедурные языки обрабатывают информацию в базе данных последовательно, запись за записью, а непроцедурные оперируют сразу целыми наборами записей
Инструкции SELECT, INSERT, DELETE, UPDATE, рассмотренные ранее, предназначены для обработки данных. В совокупности эти инструкции называются языком обработки данных, или DML (Data Manipulation Language). Инструкции DML могут модифицировать информацию, хранимую в базе данных, но не могут изменять ее структуру. Например, ни одна из этих инструкций не позволяет создавать и удалять таблицы или столбцы.
Хотя DDL и DML являются двумя отдельными частями SQL, в большинстве реляционных СУБД такое разделение существует лишь на абстрактном уровне. Обычно инструкции DDL и DML в СУБД абсолютно равноправны, и их можно произвольно чередовать как в интерактивном, так и в программном SQL
8 Общий синтаксис инструкции select
Инструкция SELECTизвлекает информацию из базы данных и возвращает её в виде таблицы результатов запроса.
SELECT (DISTINCT) ВОЗВРАЩАЕМЫЙ СТОЛБЕЦ
FROMИМЯ ТАБЛИЦЫ(ИЦ)
WHEREУСЛОВИЕ ОТБОРА
(GROUPBYИМЯ СТОЛБЦА)
(HAVINGУСЛОВИЕ ОТБОРА)
(ORDERBYСОРТИРОВКА)
В предложении select указывается список столбцов, которые должны быть возвращены инструкциейselect. Возвращаемые столбцы могут содержать значения, извлекаемые из столбцов таблиц базы данных, или значения, вычисляемые во время выполнения запроса.
В предложении from указывается список таблиц, которые содержат элементы данных, извлекаемые запросом.
Предложение where показывает, что в результаты запроса следует включать только некоторые строки
Предложение group by позволяет создать итоговый запрос. Обычный запрос включает в результаты запроса по одной записи для каждой строки из таблицы
Предложение having показывает, что в результаты запроса следует включать только некоторые из групп, созданных с помощью предложенияgroup by.
Предложение order by сортирует результаты запроса на основании данных, содержащихся в одном или нескольких столбцах. Если это предложение не указано, результаты запроса не будут отсортированы
9 Предложения select и from. Предикаты и вычисляемые столбцы (пример).
Предложение SELECT
В предложении select, с которого начинаются все инструкцииselect, необходимо указать элементы данных, которые будут возвращены в результате запроса. Эти элементы задаются в видесписка возвращаемых столбцов, разделенных запятыми. Для каждого элемента из этого списка в таблице результатов запроса будет создан один столбец. Столбцы в таблице результатов будут расположены в том же порядке, что и элементы списка возвращаемых столбцов. Возвращаемый столбец может представлять собой:
имя столбца, идентифицирующее один из столбцов, содержащихся в таблицах, которые перечислены в предложенииfrom. СУБД просто берет значение этого столбца для каждой из строк исходной таблицы и помещает его в соответствующую строку таблицы результатов запроса;
константу, показывающую, что в каждой строке результатов запроса должно содержаться одно и то же значение;
выражение, показывающее, что СУБД должна вычислять значение, помещаемое в таблицу результатов запроса, по формуле, определенной в выражении. Такие столбцы таблицы результатов носят название вычисляемых.
Предложение FROM
Предложение FROMсостоит из ключевого словаfrom, за которым следуетсписок спецификаторов таблиц, разделенных запятыми. Каждый спецификатор таблицы идентифицирует таблицу, содержащую данные, которые извлекает запрос. Такие таблицы называютсяисходными таблицами запроса.
Предикаты и вычисляемые столбцы
В SQLобычно используются пять основных условий отбора (в стандартеANSI/ISOони называютсяпредикатами)
- сравнение(=, !=(не равно), <, >, <=, >=.)
- проверка на принадлежность диапазону(BETWEEN … AND)
select fname, lname
from staff
where DOB between ’01-Oct-63’ and ’31-Dec-71’;
- проверка на членство в множестве(in)
select address, tel_no
frombranch
where city in (‘Минск’, ‘Витебск’, ‘Брест’);
- проверка на соответствие шаблону(like)
select lname, address, tel_no
from staff
wherelnamelike‘K%’
Символ ‘%’ - замещает произвольную последовательность символов, а ‘_’ – замещает одиночный символ
- проверка на равенство значению NULL.