Презентация Работа с составными типами данных в PL/SQL онлайн
На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Работа с составными типами данных в PL/SQL абсолютно бесплатно. Урок-презентация на эту тему содержит всего 31 слайд. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Информатика » Работа с составными типами данных в PL/SQL
Оцените!
Оцените презентацию от 1 до 5 баллов!
- Тип файла:ppt / pptx (powerpoint)
- Всего слайдов:31 слайд
- Для класса:1,2,3,4,5,6,7,8,9,10,11
- Размер файла:539.00 kB
- Просмотров:58
- Скачиваний:0
- Автор:неизвестен
Слайды и текст к этой презентации:
№2 слайд
Содержание слайда: В PL/SQL существует 2 составных типа данных:
В PL/SQL существует 2 составных типа данных:
Record (запись) - Запись как целое не имеет собственного значения; однако значение имеет каждый ее компонент или поле, а объединение их в единую запись позволяет хранить и обрабатывать все значения как одно целое. Записи сильно упрощают работу программиста, а переход от объявлений уровня полей к уровню записей повышает эффективность написания кода.
Collection (коллекция) 3 типа
Ассоциативный массив
Вложенная таблица
VARRAY
№4 слайд
Содержание слайда: Объявление записей:
Объявление записей:
Запись, определяемая программистом
DECLARE
TYPE book_info IS RECORD (
author books.author%TYPE,
category VARCHAR2(100),
total_page_count POSITIVE);
v_book book_info;
Запись на основе таблицы
DECLARE
V_CNTY COUNTRIES%ROWTYPE;
Record это НЕ запись таблицы БД
№8 слайд
Содержание слайда: Переменная составного типа коллекции столбцов в таблице или представлении.
Переменная составного типа коллекции столбцов в таблице или представлении.
Префикс %ROWTYPE используется для обращения к коллекции базирующейся на столбцах таблицы
Поля в Record будут именованы также и того же типа что и поля таблицы БД
№9 слайд
Содержание слайда: Тип данных и количество полей таблицы базы данных может быть неизвестно.
Тип данных и количество полей таблицы базы данных может быть неизвестно.
Тип данных и количество полей таблицы базы данных может быть в любое время изменено.
Атрибут может быть использован после того как данные выбраны Select *
№11 слайд
Содержание слайда: DECLARE
DECLARE
e_rec emp%ROWTYPE;
BEGIN
SELECT * INTO e_rec FROM employees
WHERE empno = &employee_number;
INSERT INTO retired_emps
(empno, ename, job, mgr, hiredate, sal, comm,deptno)
VALUES (e_rec.empno, e_rec.ename,e_rec.job, e_rec.mgr, e_rec.hiredate, e_rec.sal, e_rec.comm, e_rec.deptno);
COMMIT;
END;
№13 слайд
Содержание слайда: PL/SQL поддерживает следующие операции над записями:
PL/SQL поддерживает следующие операции над записями:
копирование содержимого одной записи в другую (если они имеют совместимую
структуру, то есть одинаковое количество полей одного или взаимопреобразуемых типов);
присваивание записи значения NULL (простым оператором присваивания);
передача записи в качестве аргумента и возврат записи функцией (RETURN)
Операции на уровне записей не поддерживаются:
проверить, содержат ли все поля записи значение NULL, использовать синтаксис IS NULL нельзя. Осуществить такую проверку можно лишь путем приме нения оператора IS NULL по отношению к каждому полю
Невозможно сравнить две записи в одной операции. Нельзя узнать, равны или нет две записи (то есть значения всех их полей), или же узнать, какая из записей больше. чтобы ответить на эти вопросы, нужно сравнить каждую пару полей.
* Записи в PL/SQL. Глава 11. Oracle_PL-SQL_dlya_professionalov_6-e_izdanie.pdf
№14 слайд
Содержание слайда: В PL/SQL существует 2 составных типа данных:
В PL/SQL существует 2 составных типа данных:
Record (запись)
Collection (коллекция) – аналог традиционных массивов. 3 типа коллекций : Ассоциативный массив, Вложенная таблица, VARRAY.
Ситуации для применения :
Ведение списков данных.
Ускорение многострочных операций SQL. Использование коллекций в сочетании с конструкциями FORALL и BULK COLLECT повышает производительность многострочных операций SQL.
Кэширование информации базы данных. Коллекции хорошо подходят для кэширования статической информации, которая часто запрашивается в ходе одного сеанса.
№15 слайд
Содержание слайда: Концепции и терминология
Концепции и терминология
Элементы и индексы. Коллекция состоит из множества элементов, каждый элемент обладает своим индексом. Иногда элементы называются «строками», а индексы — «номерами строк».
Целочисленное / строковое индексирование. Индекс представляет собой целочисленное значение. С Oracle9, в качестве индекса ассоциативных массивов можно использовать строки (до 32 Кбайт длиной) – эта возможность не поддерживается для вложенных таблиц, и VARRAY.
Тип коллекции. Каждая переменная, представляющая коллекцию, должна быть объявлена на основании заранее определенного типа.
Разреженные и плотные коллекции. Коллекция (или массив, или список) называется плотной, если все ее элементы, от первого до последнего, определены и каждому из них присвоено некоторое значение (таковым может быть и NULL). Коллекция считается разреженной, если отдельные ее элементы отсутствуют.
Ограниченная и неограниченная коллекция. Коллекция называется ограниченной, если заранее определены границы возможных значений индексов.
Двумерные структуры в настоящее время напрямую не поддерживаются, можно создать многомерный массив, объявляя коллекцию коллекцией
№16 слайд
Содержание слайда: Ассоциативные массивы
Ассоциативные массивы
Это одномерные неограниченные разреженные коллекции, состоящие из однородных элементов, доступные только в PL/SQL. Ранее в Oracle7) они назывались таблицами PL/SQL, а в Oracle8 индексируемыми таблицами. С Oracle9 назваются ассоциативными массивами. INDEX BY используется для индексирования посредством значений типа VARCHAR2 или PLS_INTEGER.
Вложенные таблицы
одномерные коллекции, состоящие из однородных элементов. Первоначально заполняются полностью, позднее из-за удаления элементов могут стать разреженными. Вложенные таблицы могут определяться и в PL/SQL, и в базах данных (например, в качестве столбцов таблиц). Вложенные таблицы представляют собой мультимножества, то есть элементы вложенной таблицы не упорядочены.
Массив типа VARRAY
Размер всегда ограничен, не бывают разреженными. Как и вложенные таблицы, массивы VARRAY используются и в PL/SQL, и в базах данных. Однако порядок их элементов при сохранении и выборке, в отличие от вложенных таблиц, сохраняется.
№18 слайд
Содержание слайда: DECLARE
DECLARE
TYPE list_of_names_t IS TABLE OF
EMPLOYEES.first_name%TYPE
INDEX BY PLS_INTEGER;
l_row PLS_INTEGER;
happyfamily list_of_names_t;
BEGIN
happyfamily (2020202020) := 'Eli';
happyfamily (-15070) := 'Steven';
happyfamily (-90900) := 'Chris';
happyfamily (88) := 'Veva';
l_row := happyfamily.FIRST;
WHILE (l_row IS NOT NULL)
LOOP
DBMS_OUTPUT.put_line(happyfamily(l_row));
l_row := happyfamily.NEXT (l_row);
END LOOP;
END;
№21 слайд
Содержание слайда: DECLARE
DECLARE
TYPE ename_t_type IS TABLE OF employees.ename%TYPE
INDEX BY BINARY_INTEGER;
TYPE hiredate_t_type IS TABLE OF DATE
INDEX BY BINARY_INTEGER;
ename_table ename_t_type;
hiredate_table hiredate_t_type;
BEGIN
ename_table(1) := ’CAMERON’;
hiredate_table(8) := SYSDATE + 7;
IF ename_table.EXISTS(1) THEN
INSERT INTO ...
...
END;
№24 слайд
Содержание слайда: --CREATE TYPE list_of_names_t IS TABLE OF VARCHAR2 (100);
--CREATE TYPE list_of_names_t IS TABLE OF VARCHAR2 (100);
DECLARE
TYPE list_of_names_t IS TABLE OF VARCHAR2 (100);
happyfamily list_of_names_t := list_of_names_t ();
children list_of_names_t := list_of_names_t ();
parents list_of_names_t := list_of_names_t ();
BEGIN
happyfamily.EXTEND (4); happyfamily (1) := 'Eli';
happyfamily (2) := 'Steven'; happyfamily (3) := 'Chris';
happyfamily (4) := 'Veva';
children.EXTEND; children (1) := 'Chris';
children.EXTEND; children (2) := 'Eli';
parents := happyfamily MULTISET EXCEPT children;
FOR I IN parents.FIRST .. parents.LAST
LOOP
DBMS_OUTPUT.put_line (parents (i));
END LOOP;
END;
№25 слайд
Содержание слайда: CREATE TYPE first_names_t IS VARRAY (2) OF VARCHAR2 (100);
CREATE TYPE first_names_t IS VARRAY (2) OF VARCHAR2 (100);
CREATE TYPE child_names_t IS VARRAY (1) OF VARCHAR2 (100);
CREATE TABLE family ( surname VARCHAR2(1000),
parent_names first_names_t,
children_names child_names_t);
DECLARE
parents first_names_t := first_names_t ();
children child_names_t := child_names_t ();
BEGIN
parents.EXTEND (2); parents (1) := 'Samuel'; parents (2) := 'Charina';
children.EXTEND; children (1) := 'Feather';
INSERT INTO family
( surname, parent_names, children_names )
VALUES ( 'Assurty', parents, children );
END;
SELECT * FROM family
SURNAME PARENT_NAMES CHILDREN_NAMES
--------------------------------------------
Assurty FIRST_NAMES_T('Samuel', 'Charina') CHILD_NAMES_T('Feather')
№27 слайд
Содержание слайда: Массовая обработка
Массовая обработка - команда FORALL и секция BULK COLLECT - конструкции массовой обработки (bulk processing).
PL/SQL выполняет процедурные команды самостоятельно, а команды SQL передает ядру SQL. Каждое переключение контекста приводит к дополнительным затратам ресурсов.
№29 слайд
Содержание слайда: BULK COLLECT
DECLARE
TYPE first_name_t IS TABLE OF EMPLOYEES.first_name%TYPE;
TYPE salary_t IS TABLE OF EMPLOYEES.salary%TYPE;
v_first_name first_name_t;
v_salary salary_t;
BEGIN
SELECT first_name, salary BULK COLLECT INTO v_first_name, v_salary
FROM employees
WHERE job_id = 'IT_PROG' ;
FOR i IN 1 .. v_first_name.COUNT
LOOP
dbms_output.put_line(v_first_name(i)||' earns - ' ||v_salary(i) );
END LOOP;
END;
Скачать все slide презентации Работа с составными типами данных в PL/SQL одним архивом:
-
Работа с составными типами данных. Применение коллекций, записей и объектных типов
-
Структуры Структура как и массив, относится к составным типам данных. Это объект, состоящий из нескольких элементов (в Паскале — з
-
СУБД MySQL. Язык обработки данных SQL
-
Язык SQL для работы с базами данных
-
Тестирование программного обеспечения. Основы реляционных баз данных. Работа с SQL. (Урок 6)
-
Язык программирования Pascal Работа с символьными данными А. Жидков
-
Работа с существующими глобалами через объекты и SQL Вадим Федоров InterSystems Corporation
-
Самостоятельная работа по теме Системы управления базами данных
-
Мы занимаемся разработкой программного обеспечения, бизнес-приложений баз данных. Простота и удобство работы, надежность и максим
-
Программная обработка данных на компьютере