🗊 Презентация Временные таблицы Oracle

Категория: Информатика
Нажмите для полного просмотра!
Временные таблицы Oracle, слайд №1 Временные таблицы Oracle, слайд №2 Временные таблицы Oracle, слайд №3 Временные таблицы Oracle, слайд №4 Временные таблицы Oracle, слайд №5 Временные таблицы Oracle, слайд №6 Временные таблицы Oracle, слайд №7 Временные таблицы Oracle, слайд №8 Временные таблицы Oracle, слайд №9 Временные таблицы Oracle, слайд №10 Временные таблицы Oracle, слайд №11 Временные таблицы Oracle, слайд №12 Временные таблицы Oracle, слайд №13 Временные таблицы Oracle, слайд №14 Временные таблицы Oracle, слайд №15 Временные таблицы Oracle, слайд №16 Временные таблицы Oracle, слайд №17 Временные таблицы Oracle, слайд №18 Временные таблицы Oracle, слайд №19 Временные таблицы Oracle, слайд №20 Временные таблицы Oracle, слайд №21 Временные таблицы Oracle, слайд №22 Временные таблицы Oracle, слайд №23

Содержание

Вы можете ознакомиться и скачать презентацию на тему Временные таблицы Oracle. Доклад-сообщение содержит 23 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Временные таблицы Oracle Графеева Н.Г. 2017
Описание слайда:
Временные таблицы Oracle Графеева Н.Г. 2017

Слайд 2


Временные таблицы Временные таблицы существуют во многих СУБД и предназначены для хранения данных на протяжении сеанса или транзакции. Отличительной...
Описание слайда:
Временные таблицы Временные таблицы существуют во многих СУБД и предназначены для хранения данных на протяжении сеанса или транзакции. Отличительной особенностью этих таблиц является то, что они располагаются во временных сегментах и данные в этих таблицах хранятся только на период сессии или транзакции в зависимости от используемой при их определении опции. Они находят широкое применение в качестве промежуточных таблиц при расчётах, отчетах (особенно при промежуточных агрегированиях) и оптимизации сложных запросов.

Слайд 3


Создание временных таблиц CREATE GLOBAL TEMPORARY TABLE {ON COMMIT PRESERVE ROWS| ON COMMIT DELETE ROWS} ON COMMIT PRESERVE ROWS -хранение данных на...
Описание слайда:
Создание временных таблиц CREATE GLOBAL TEMPORARY TABLE {ON COMMIT PRESERVE ROWS| ON COMMIT DELETE ROWS} ON COMMIT PRESERVE ROWS -хранение данных на время сеанса ON COMMIT DELETE ROWS - хранение данных на время транзакции

Слайд 4


Упражнение 1 В ORACLE APEX выполните следующие команды и объясните результаты:...
Описание слайда:
Упражнение 1 В ORACLE APEX выполните следующие команды и объясните результаты: ======================================================================== CREATE GLOBAL TEMPORARY TABLE table1 (id NUMBER(5),name VARCHAR2(20)) ON COMMIT PRESERVE ROWS; ======================================================================== INSERT INTO table1 (id,name) VALUES(1,'items1'); ======================================================================== SELECT * FROM table1 ======================================================================== DECLARE VAR NUMBER; BEGIN INSERT INTO table1 (id,name) VALUES(1,'items1'); SELECT COUNT(*) INTO VAR FROM table1; DBMS_OUTPUT.PUT_LINE('VAR=' || VAR); END; ======================================================================= DECLARE VAR NUMBER; BEGIN INSERT INTO table1 (id,name) VALUES(1,'items1'); COMMIT; SELECT COUNT(*) INTO VAR FROM table1; DBMS_OUTPUT.PUT_LINE('VAR=' || VAR); END; ==========================================================================

Слайд 5


Упражнение 2 В ORACLE APEX выполните следующие команды и объясните результаты:...
Описание слайда:
Упражнение 2 В ORACLE APEX выполните следующие команды и объясните результаты: ========================================================================== CREATE GLOBAL TEMPORARY TABLE table2 (id NUMBER(5),name VARCHAR2(20)) ON COMMIT DELETE ROWS; ========================================================================= INSERT INTO table2 (id,name) VALUES(1,'items1'); ========================================================================= SELECT * FROM table2 ========================================================================= DECLARE VAR NUMBER; BEGIN INSERT INTO table2 (id,name) VALUES(1,'items1'); SELECT COUNT(*) INTO VAR FROM table2; DBMS_OUTPUT.PUT_LINE('VAR=' || VAR); END; ======================================================================== DECLARE VAR NUMBER; BEGIN INSERT INTO table2 (id,name) VALUES(1,'items1'); COMMIT; SELECT COUNT(*) INTO VAR FROM table2; DBMS_OUTPUT.PUT_LINE('VAR=' || VAR); END; =========================================================================

Слайд 6


Комментарии… Данные из таблицы table2 удалились сразу после завершения транзакции (опция on commit delete rows). Отличительной особенностью временных...
Описание слайда:
Комментарии… Данные из таблицы table2 удалились сразу после завершения транзакции (опция on commit delete rows). Отличительной особенностью временных таблицы является то, что данные таблиц не только удаляются, но и не видны из других сеансов. Пользователи могут одновременно использовать одну и туже временную таблицу, не пересекаясь данными.

Слайд 7


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

Слайд 8


Возможности временных таблиц Временные таблицы могут использовать правила целостности (за исключением ссылочных ). Временные таблицы могут...
Описание слайда:
Возможности временных таблиц Временные таблицы могут использовать правила целостности (за исключением ссылочных ). Временные таблицы могут сопровождаться индексами. Примечание: и те и другие могут добавляться только тогда, когда в таблице нет записей ни в одной сессии или транзакции!!!

Слайд 9


Пример CREATE GLOBAL TEMPORARY TABLE CITY_DEPT ( DEPTNO NUMBER(2,0), DNAME VARCHAR2(14), CONSTRAINT PK_CITY_DEPT PRIMARY KEY (DEPTNO) ) ON COMMIT...
Описание слайда:
Пример CREATE GLOBAL TEMPORARY TABLE CITY_DEPT ( DEPTNO NUMBER(2,0), DNAME VARCHAR2(14), CONSTRAINT PK_CITY_DEPT PRIMARY KEY (DEPTNO) ) ON COMMIT DELETE ROWS; ================================================================ COMMENT ON COLUMN CITY_DEPT.DEPTNO IS 'DEPARTMENT NUMBER'; COMMENT ON COLUMN CITY_DEPT.DNAME IS 'DEPARTMENT NAME'; ================================================================ CREATE UNIQUE INDEX IDX_DEPTNO_DNAME ON CITY_DEPT (DEPTNO,DNAME) ; CREATE INDEX IDX_DNAME ON CITY_DEPT (DNAME) ===============================================

Слайд 10


Использование статистики при выполнении запросов к временным таблицам Cуществует два вида статистики применительно к временным таблицам: SESSION -...
Описание слайда:
Использование статистики при выполнении запросов к временным таблицам Cуществует два вида статистики применительно к временным таблицам: SESSION - уровня клиентской сессии SHARED - разделяемая между клиентскими сессиями

Слайд 11


SESSION и SHARED-статистики SESSION-статистика собирается и используется только во время текущей клиентской сессии. Если одновременно существует два...
Описание слайда:
SESSION и SHARED-статистики SESSION-статистика собирается и используется только во время текущей клиентской сессии. Если одновременно существует два вида статистики (SESSION и SHARED), то оптимизатор отдаст предпочтение SESSION-статистике. SESSION-статистика удаляется как только заканчивается сессия. SHARED-статистика сохраняется после завершения сессии.

Слайд 12


Какой параметр отвечает за выбранный тип статистики? параметр - GLOBAL_TEMP_TABLE_STATS Как узнать его значение: SELECT...
Описание слайда:
Какой параметр отвечает за выбранный тип статистики? параметр - GLOBAL_TEMP_TABLE_STATS Как узнать его значение: SELECT DBMS_STATS.get_prefs('GLOBAL_TEMP_TABLE_STATS') FROM dual;

Слайд 13


Упражнение Уточните в ORACLE APEX тип установленной статистики для временных таблиц.
Описание слайда:
Упражнение Уточните в ORACLE APEX тип установленной статистики для временных таблиц.

Слайд 14


Как изменить тип статистики? BEGIN DBMS_STATS.set_global_prefs ( pname => 'GLOBAL_TEMP_TABLE_STATS', pvalue => 'SHARED‘); END; / BEGIN...
Описание слайда:
Как изменить тип статистики? BEGIN DBMS_STATS.set_global_prefs ( pname => 'GLOBAL_TEMP_TABLE_STATS', pvalue => 'SHARED‘); END; / BEGIN DBMS_STATS.set_global_prefs ( pname => 'GLOBAL_TEMP_TABLE_STATS', pvalue => 'SESSION‘ ); END; / Примечание: выполнение этих операций возможно только при наличии соответствующих привилегий!!

Слайд 15


Как собрать статистику? DBMS_STATS.gather_table_stats ('', ''); Примечание: вызов процедуры gather_table_stats доступен простым пользователям APEX!!!
Описание слайда:
Как собрать статистику? DBMS_STATS.gather_table_stats ('', ''); Примечание: вызов процедуры gather_table_stats доступен простым пользователям APEX!!!

Слайд 16


Где можно посмотреть собранную статистику? DBA_TAB_STATISTICS DBA_IND_STATISTICS DBA_TAB_HISTOGRAMS DBA_TAB_COL_STATISTICS Смотреть можно при наличии...
Описание слайда:
Где можно посмотреть собранную статистику? DBA_TAB_STATISTICS DBA_IND_STATISTICS DBA_TAB_HISTOGRAMS DBA_TAB_COL_STATISTICS Смотреть можно при наличии достаточных административных привилегий…

Слайд 17


Как выглядит весь цикл использования временных таблиц в процедурах и функциях? BEGIN чистим временную таблицу; заполняем временную таблицу данными...
Описание слайда:
Как выглядит весь цикл использования временных таблиц в процедурах и функциях? BEGIN чистим временную таблицу; заполняем временную таблицу данными (как правило, агрегированными); собираем или не сбираем статистику (SESSION /SHARED); выбираем данные из временной таблицы; END Примечание: при этом в подпрограмме, собирающей данные, должна быть объявлена автономная транзакция!!!

Слайд 18


Пример:создание вспомогательных типов CREATE TYPE t_tf_row AS OBJECT ( id NUMBER, description VARCHAR2(50) ); / CREATE TYPE t_tf_tab IS TABLE OF...
Описание слайда:
Пример:создание вспомогательных типов CREATE TYPE t_tf_row AS OBJECT ( id NUMBER, description VARCHAR2(50) ); / CREATE TYPE t_tf_tab IS TABLE OF t_tf_row; /

Слайд 19


Пример: создание функции, использующей временную таблицу create or replace function get_tab_ptf(p_rows in number) return t_tf_tab pipelined is PRAGMA...
Описание слайда:
Пример: создание функции, использующей временную таблицу create or replace function get_tab_ptf(p_rows in number) return t_tf_tab pipelined is PRAGMA AUTONOMOUS_TRANSACTION; begin execute immediate('truncate table table1'); -- чистим временную таблицу for i in 1..p_rows loop -- размещаем данные в таблице insert into table1(id,name) values(i, 'Description for ' || i); end loop; dbms_stats.gather_table_stats('GRAFEEVA','TABLE1'); -- собираем статистику for rec in (select * from table1) loop -- формируем результат pipe row(t_tf_row(rec.id, rec.name)); end loop; return; end; /

Слайд 20


Пример: вызов функции select * from table(get_tab_ptf(10))
Описание слайда:
Пример: вызов функции select * from table(get_tab_ptf(10))

Слайд 21


Упражнение Создайте функцию, которая выдает результат следующего вида на основе таблицы EMP (используйте временные таблицы):
Описание слайда:
Упражнение Создайте функцию, которая выдает результат следующего вида на основе таблицы EMP (используйте временные таблицы):

Слайд 22


Домашнее задание 9(10 баллов) На основе данных из задания об электроэнергии создайте приложение с аналитическим отчетом о суммарном потреблении...
Описание слайда:
Домашнее задание 9(10 баллов) На основе данных из задания об электроэнергии создайте приложение с аналитическим отчетом о суммарном потреблении электроэнергии за указанные периоды :

Слайд 23


Для формирования промежуточных результатов используйте временные таблицы. Результат отправьте по адресу N.Grafeeva@spbu.ru. Тема письма –...
Описание слайда:
Для формирования промежуточных результатов используйте временные таблицы. Результат отправьте по адресу N.Grafeeva@spbu.ru. Тема письма – DB_Application_2017_job9. Примечание:задание должно быть отправлено в течение 2 недель. За более позднее отправление будут сниматься штрафные баллы ( по баллу за каждые 2 недели).



Похожие презентации
Mypresentation.ru
Загрузить презентацию