Лекция №1: Стандарты языка sqlКоличество страниц13Дата09.03.2012Размер1.39 Mb.ТипЛекцияСодержаниеФункциональное ядроПоддержка работы с датой/временемУправление целостностьюАктивные базы данныхБазовая поддержка объектов (Basic Object Support)Расширенная поддержка объектов (Enhanced Object Support)Стандартизация управления и обмена данными.Лекция №2: Основы SQLФазы выполнения SQL-оператораПрименение языка SQLCONNECT TO MyDB1 USER User1/Password1Создание таблицыPrimary keyForeign keyОпределение ограничений для таблицыSet defaultЛекция №3: Формирование запросов средствами языка SQLSelect [distinct]WHERE condition] [GROUP BYFROM определяет одну или несколько таблиц или подзапросов, используемых для извлечения данных. Фраза INTOEXISTS - предикат существованияUNIQUE - предикат уникальностиВариант сравненияФункции агрегированияCount (*)Упорядочивание результирующего набораСоздание таблиц по образцуСоединение таблицПерекрестное соединение(CROSS JOIN)Cross joinLeft join [outer]Внутреннее соединение (INNER JOIN)Внешнее левое соединение LEFT JOIN [OUTER]Внешнее правое соединение RIGHT JOIN [OUTER]Полное внешнее соединение FULL JOIN [OUTER]Соединение по указываемым столбцамСоединение по предикатуЛекция №4: Выполнение сложных SQL-запросовCorresponding byЛекция №5: Использование вложенных SQL-запросовКоррелированные подзапросыПостроение предиката для подзапроса, возвращающего несколько строкWhere existsПрименение подзапросов в операторах изменения данныхОператор INSERTОператор DELETEОператор UPDATEУсловное выражение CASEValues (1+Лекция №6: Работа с представ-лениями. Типы данных.Оператор CREATE VIEWОператор запроса SELECTИзменение данных в представленияхОпции [WITH [CASCADED | LOCAL] CHECK OPTIONТипы данныхDouble precisionФункции даты/времениЛекция №7: Транзакции в базах данныхФиксация транзакцииАвтоматическая фиксация измененийПроблемы параллельного доступа с использованием транзакциНеповторяющееся чтение"Грязное" чтениеRollback workПотерянное обновлениеФантомная вставкаУровни изоляциSERIALIZABLE - последовательное выполнениеREAD COMMITED - фиксированное чтениеREAD UNCOMMITED - нефиксированное чтениеУровень изоляцииRepeatable readRead commitedRead uncommitedОпределение параметров транзакцииSet transactionSet transaction isolation level serializableЛекция №8: Контроль доступа к базе данныхПредоставление и снятие привилегийОтмена привилегииМногоуровневый контроль доступа в БД OracleWith admin optionGRANT SELECT, UPDATE ON tbl1 TO PUBLICGRANTСистемное представлениеЛекция №9 : Встроенный SQLExec sql begin declare sectionExec sql end declare sectionОсновная программаПеременные во встроенном SQLExec sql begin declare sectionПрименение INTO-переменныхПеременные связиЯвный курсорОбъявление курсораОбработка NULL-значенийExec sql begin declare sectionПозиционированные операторыОбработка ошибокEXEC SQL WHENEVER SQLERROR GOTO Err_1OCCI-интерфейс для OracleEnvironment::terminateEnvironment (env)Лекция №10: Динамический SQLОдношаговый интерфейсМногошаговый интерфейсДинамические параметрыДинамические параметрыCharacter - 1Set descriptor.Оператор DESCRIBEДинамические курсорыAllocate cursorЛекция №11: Основы языка PL/SQLТипы данныхВстроенные типы данныхСсылочные типыЧисловые типыСимвольные типыОпределение подтипаEmpty_clob ()Приведение типовОбъявление переменных и константОбъявление переменнойАтрибуты %TYPE и %ROWTYPEАтрибут %ROWTYPEОператоры управления языка PL/SQLIf-then-end ifОператоры выбораELSIF condition3 THENОператоры циклаОператоры безусловного переходаDECLARE i1 INTEGERЛекция №12: Коллекции и записиВложенные таблицыИндексированные таблицыIs table ofIs {varrayИнициализация коллекцийМетоды, применяемые для работы с коллекциямиFirst, lastПричина ошибкиIs recordBegin -- …Лекция №13: Объектно-ориентированное программирование в PL/SQLСпецификация и тело объектного типаOr replaceNot] finalCreate type bodyСравнение значений объектного типаКонструкторы объектного типаПакеты языка PL/SQLCreate packageCreate package bodyCreate procedureIS [local declarations]BEGINReturn booleanReturn falseПерегружаемые подпрограммыРекурсивные и взаимно рекурсивные вызовы подпрограммReturn 1; elseReturn 1; elseВнешние процедурыCreate functionDECLARE var1 BINARY_INTEGER; x BINARY_INTEGER; y BINARY_INTEGER;BEGINЛекция №14: КурсорыЯвный курсорОператор CURSORОператор FETCHCURSOR cursor_name [(parameter[, parameter]...)] [RETURNCURSOR c2 RETURNOPEN c1; -- Открытие курсора c1LOOP FETCHCURSOR cursor_name [(parameter[, parameter]...)] RETURNИспользование курсора в цикле FORПеременная типа REF CURSORIs ref cursorOPEN {cursor_variable_name | :host_cursor_variable_name} FORExec sql end declare sectionFETCH {cursor_variable_name | :host_cursor_variable_name} INTO