Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Oracle ОТВЕТЫ К ЭКЗАМЕНУ_с нашими вопросами.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
131.07 Кб
Скачать
  1. *Oracle – основные черты. Логическая структура Б.Д. Примеры – из нашей Б.Д.

  2. Исключительные ситуации: установление, способы передачи и обработка. Привести примеры из наших занятий.

  3. *Работа с курсорами (явно и неявно объявляемыми). Параметризованные курсоры.

  4. *Курсорные циклы. В чём их преимущество. Особенность использования переменной курсорного цикла.

  5. * Типы данных PL/SQL: скалярные, составные, ссылочные. Объявление переменных. Области действия и области видимости переменных.

  6. Типы, определяемые пользователем, примеры. Объявление переменных.

  7. * Синтаксис команды UPDATE.

  1. *Синтаксис команды insert

  2. Виды параметров. Способы передачи параметров, в том числе при вызове процедуры (функции) из SQL*PLUS

  3. * Подзапросы: связанные и несвязанные подзапросы. Встроенные представления

  4. Операторы управления в PL/SQL

  5. Использование языка SQL внутри PL/SQL

  6. *Что такое SQL?, PL/SQL?

  7. Правила целостности в базе данных ORACLE

  8. PL/SQL и предопределённые исключения. Примеры использования на наших занятиях

  9. *Программа exception_init. Назначение и использование в PL/SQL

  10. Переменные подстановки и переменные привязки в SQL*PLUS. Назначение и правила использования.

  11. *Технология - « Клиент - Сервер»: системная архитектура СУБД ORACLE (серверные и клиентские процессы, примеры).

  12. Два вида конфигурации сервера Oracle. Какая из них предусмотрена именно для эффективной поддержки одновременной работы большого числа пользователей б.д.

  13. Логическая и физическая структура базы данных ORACLE

  14. Что такое SQL*PLUS?

  15. *Что такое транзакция? Какую роль играют транзакции в базе данных? Примеры из нашей практики.

  16. Средства защиты базы данных. Приведите примеры использования из нашей практики.

  17. *Целостность базы данных, управление правилами целостности

  18. *Язык DML? Всё, что Вы знаете об этой аббревиатуре. Примеры из нашей работы

  19. *Язык DDL? Всё, что Вы знаете об этой аббревиатуре. Примеры из нашей работы

  20. *Синтаксис команды INSERT: обязательно с практическими примерами.

  21. *Синтаксис команды DELETE: обязательно с практическими примерами.

  22. *Синтаксис команды SELECT: обязательно с практическими примерами.

  23. *Синтаксис команды TRUNCATE: обязательно с практическими примерами.

  24. *Виды запросов: обязательно с практическими примерами.

  25. Независимые подзапросы: обязательно с практическими примерами.

  26. Обзоры. Что это за объекты? Для чего и как они создаются? Привести пример из нашей практики. Как можно было решить проблему заполнения поля PAYMENT без предварительного создания обзора?

  27. *Подзапросы. Всё, что Вы знаете. Приведите примеры на данных из наших таблиц.

  28. *Структура блока PL/SQl

  29. Программные модули. Структура. Способы хранения, вызова. Преимущества использования.

  30. *Создание хранимых процедур и функций. Способы вызова из различных сред.

1.Oracle – основные черты. Логическая структура б.Д. Примеры – из нашей б.Д:

Логическая структура БД определяется одним или несколькими табличными пространствами. Очень важной структурой является схема, со схемой связанно имя пользователя, схема располагается в табличном пространстве. Объекты схемы: таблицы, обзоры, последовательности, хранимые процедуры, функции, модули (пакеты), …, индексы, связи между БД, триггеры.

СУБД ORACLE - реляционная система, то есть система, построенная в соответствии с принципа реляционной БД.

Реляционная база данных - это тело связанной информации, сохраняемой в двумерных таблицах. Напоминает адресную или телефонную книгу. В книге имеется большое количество входов,  каждый из которых соответствует определенной особенности.

Программы реляционной  базы  данных  разрабатывались для того чтобы обрабатывать большие и сложные совокупности данных

SQL является, прежде всего, информационно-логическим языком, предназначенным для описания хранимых данных, для извлечения хранимых данных и для модификации данных.

3.Работа с курсорами (явно и неявно объявляемыми).

Курсоры. Под курсором, как правило, понимают получаемый при выполнении запроса результирующий набор и связанный с ним указатель текущей записи. Курсор - это объект, связанный с определенной областью памяти. Существуют явные и неявные курсоры. Явный курсор имеет имя и перед использованием должен быть объявлен. Неявный курсор создается автоматически и его нельзя повторно открыть без перекомпиляции оператора запроса. Объявление курсора выполняется оператором DECLARE CURSOR, в котором фраза FOR определяет запрос, ассоциируемый с данным курсором. Например, оператор EXEC SQL DECLARE c1 CURSOR FOR SELECT f1,f2,f3 FROM tbl1 WHERE f2>100; создает курсор c1 на базе таблицы tbl1 . При объявлении курсора выполнения запроса не происходит. Выполнение запроса и создание курсора инициируется оператором OPEN CURSOR. Например, оператор EXEC SQL OPEN CURSOR с1;  создаст курсор, выполнив определенный в нем оператор SELECT. Приложение получает доступ к данным курсора при последовательном извлечении строк результирующего набора в переменные приложения. Для извлечения данных из курсора используется оператор FETCH. Например, оператор EXEC SQL FETCH c1 INTO: f1,:f2,:f3; извлекает значения текущей строки курсора в INTO-переменные. Для освобождения памяти, выделенной под курсор, его следует закрыть, выполнив оператор CLOSE CURSOR. Например: EXEC SQL CLOSE CURSOR с1;

Параметризованные курсоры

Явные курсоры могут использовать параметры:

CURSOR workload_c (Cempid employees.empid%TYPE,

Cprojid projects.projid%TYPE,

Cwork_date DATE) IS

SELECT *

FROM workload

WHERE

empid = Cempid AND

projid = Cprojid AND

work_date = Cwork_date;

Это хорошая практика всегда использовать параметры, основанные на типах данных таблицы, с которой предполагается их использовать.

Имя параметра должно отличаться от имени столбца в локальном курсоре; в противном случае, будет возвращена каждая строка! (x = x всегда TRUE). Будьте последовательны при выборе имен параметров; например, "всегда использовать символ С после имени столбца" это правило может использовать, как стандарт при работе с явными курсорами.

Имя параметра является просто “заполнителем” для переменной, которую Вы поставляете. Область - строго локальная в теле курсора.

OPEN workload_c (v_empid, v_projid, SYSDATE);

Поскольку курсоры являются объектами только для чтения, Вам не нужно определять поток для параметров. Поток - всегда в (IN).