27_SH43-0144-00 (1038594), страница 35

Файл №1038594 27_SH43-0144-00 (КП - Библиотека) 35 страница27_SH43-0144-00 (1038594) страница 352017-12-26СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 35)

В этом случаеможно создать производную таблицу, содержащую только столбцыLASTNAME (фамилия) и PHONENO (номер телефона). Права на доступ к этойпроизводной таблице могут быть предоставлены группе PUBLIC (то есть всемпользователям), в то время как права на доступ ко всей таблице EMPLOYEEможно ограничить, разрешив его только тем пользователям, которые имеютправо получать информацию о заработной плате. Информацию о производныхтаблицах только для чтения смотрите в руководстве SQL Reference.CREATE VIEW <имя> (<столбец>, <столбец>, <столбец>)SELECT <имена_столбцов> FROM <имя_таблицы>WITH CHECK OPTIONИспользуя производную таблицу, можно сделать доступным для прикладнойпрограммы часть данных таблицы и проверять вставляемые или изменяемыеданные. Имена столбцов производной таблицы могут не совпадать с именамисоответствующих столбцов исходных таблиц.Используя производные таблицы, можно гибко определить, как будутвыглядеть данные таблицы для программ и запросов конечных пользователей.Следующий оператор SQL создает производную таблицу на основе таблицыEMPLOYEE, в которой перечислены все сотрудники отдела A00 с личныминомерами и номерами телефонов:CREATE VIEW EMP_VIEW (DA00NAME, DA00NUM, PHONENO)AS SELECT LASTNAME, EMPNO, PHONENO FROM EMPLOYEEWHERE WORKDEPT = 'A00'WITH CHECK OPTIONВ первой строке этого оператора задается имя производной таблицы иопределяются ее столбцы.

Имя EMP_VIEW должно быть уникальным в своейсхеме в SYSCAT.TABLES. Имя производной таблицы выглядит как имятаблицы, хотя сама она и не содержит данных. В этой производной таблицебудет три столбца с именами DA00NAME, DA00NUM и PHONENO, которыесоответствуют столбцам LASTNAME, EMPNO и PHONENO из таблицыГлава 3. Создание базы данных149EMPLOYEE. Каждому из перечисленных столбцов соответствует один столбец всписке выборки в операторе SELECT. Если имена столбцов не заданы, впроизводной таблице используются те же имена столбцов, что и для столбцовтаблицы в операторе SELECT.Вторая строка - это оператор SELECT, в котором описывается, какие значениядолжны быть выбраны из базы данных.

Он может включать условия ALL,DISTINCT, FROM, WHERE, GROUP BY и HAVING. Имя или имена объектовданных, из которых выбираются столбцы для этой производной таблицы,должны быть заданы после условия FROM.Условие WITH CHECK OPTION указывает, что для всех операций вставки илиизменения для этой производной таблицы должна выполняться проверка насоответствие определению этой производной таблицы и что эти операциидолжны отвергаться, если они не удовлетворяют этому определению.

Такойрежим лучше обеспечивает целостность данных, но требует дополнительнойобработки. Если такое условие опущено, операции вставки и изменения не будутпроверяться на соответствие определению этой производной таблицы.Следующий оператор SQL создает для таблицы EMPLOYEE ту же производнуютаблицу, используя условие SELECT AS:CREATE VIEW EMP_VIEWSELECT LASTNAME AS DA00NAME,EMPNO AS DA00NUM,PHONENOFROM EMPLOYEEWHERE WORKDEPT = 'A00'WITH CHECK OPTIONМожно создать производную таблицу, используя в ее определениипользовательскую функцию.

Однако, чтобы обновить такую производнуютаблицу при изменении функций, придется отбросить эту производную таблицуи затем создать ее заново. Если от пользовательской функции зависитпроизводная таблица, эту функцию нельзя отбросить.Следующий оператор SQL создает производную таблицу с функцией вопределении:CREATE VIEW EMPLOYEE_PENSION (NAME, PENSION)AS SELECT NAME, PENSION(HIREDATE,BIRTHDATE,SALARY,BONUS)FROM EMPLOYEEПользовательская функция PENSION вычисляет пенсию, на которую имеетправо работник, используя формулу, в которую входят его дата приема наработу (HIREDATE), дата рождения (BIRTHDATE), заработная плата (SALARY)и премия (BONUS).150Руководство администратора: РеализацияСоздание типизированной производной таблицы||||Для создания типизированной производной таблицы можно использоватьоператор CREATE VIEW.

Всю необходимую информацию о типизированныхпроизводных таблицах можно найти в руководстве Application DevelopmentGuide.Создание сводной таблицыСводная таблица - это таблица, определение которой основано на результатахзапроса. Сама сводная таблица содержит обычно предварительно вычисленныерезультаты, основанные на данных, существующих в таблице или таблицах, наоснове которых создана эта сводная таблица. Если компилятор SQL определяет,что для выполнения запроса эффективнее использовать не базовую таблицу, асводную, будет использована сводная таблица и результаты будут полученыбыстрее.Для репликации сводной таблицы на всех узлах в среде многораздельных базданных можно создать эту сводную таблицу с опцией репликации.

Такиетаблицы называются “реплицируемыми сводными таблицами”.Дополнительную информацию о таких таблицах смотрите в руководствеРуководство администратора: Планирование.Примечание: Сводные таблицы нельзя использовать со статическим SQL илипсевдонимами.В общем случае сводная таблица или реплицируемая сводная таблицаиспользуется для оптимизации запроса, если уровень изоляции этой своднойтаблицы или реплицируемой сводной таблицы больше или равен уровнюизоляции запроса. Например, если запрос выполняется с уровнем изоляциистабильность на уровне указателя (CS), для оптимизации используются толькосводные таблицы или реплицируемые сводные таблицы, определенные суровнем изоляции CS или более высоким.Для создания сводной таблицы используется оператор CREATE SUMMARYTABLE с условием AS полная_выборка и опциями IMMEDIATE или REFRESHDEFERRED.|||||||||Для имен столбцов сводной таблицы можно задать уникальные имена.

Списокимен столбцов должен содержать столько же имен, сколько столбцов в таблицерезультатов этой полной выборки. Список имен столбцов должен быть задан,если таблица результатов полной выборки содержит повторяющиеся именастолбцов или столбцы без имен. Столбцы без имен образуются для констант,функций, выражений или операторов присваивания, для которых не заданыимена с помощью условия AS списка выборки. Если список столбцов не задан,столбцы этой таблицы будут иметь те же имена, что и столбцы наборарезультатов полной выборки.Глава 3. Создание базы данных151При создании сводной таблицы можно задать, должно ли содержимое этойтаблицы обновляться автоматически при изменении базовой таблицы, или жедля ее обновления будет использоваться оператор REFRESH TABLE. Чтобысводная таблица автоматически обновлялась при изменении базовой таблицы(или таблиц), задайте ключевое слово REFRESH IMMEDIATE. Такоенемедленное обновление удобно, когда:v Существуют запросы, для выполнения которых с использованием базовойтаблицы требуется много времениv Базовая таблица (или таблицы) изменяется редкоv Обновление сводной таблицы не занимает много времени.В этом случае сводная таблица содержит заранее вычисленные результаты.

Еслинужно, чтобы обновление сводной таблицы было отложено, задайте ключевоеслово REFRESH DEFERRED. Сводные таблицы, для которых задано ключевоеслово REFRESH DEFERRED, не будут отражать изменения базовых таблиц.Такие сводные таблицы следует использовать в тех случаях, когда это несущественно. Например, при выполнении запросов DSS может использоватьсясводная таблица, содержащая унаследованные данные.Сводная таблица, определенная с условием REFRESH DEFERRED, можетиспользоваться вместо запроса, когда он:v Удовлетворяет ограничениям на полную выборку для сводной таблицы снемедленным обновлением, за исключением:– Не требуется, чтобы список SELECT содержал COUNT(*) илиCOUNT_BIG(*)– Список SELECT может содержать функции столбцов MAX и MIN– Разрешено условие HAVING.Специальному регистру SQL под именем CURRENT REFRESH AGEприсваивается значение ANY или 99999999999999.

Все девятки - этомаксимальное значение, которое может иметь этот специальный регистр,содержащий значение длительности времени типа данных DECIMAL(20,6).Примечание: Сводные таблицы, определенные с REFRESH DEFERRED, неиспользуются для оптимизации статического SQL.Специальный регистр CURRENT REFRESH AGE используется для заданияинтервала времени, в течение которого сводная таблица, определенная сREFRESH DEFERRED, может использоваться для динамических запросов,прежде чем будет необходимо ее обновление. Для задания значенияспециального регистра CURRENT REFRESH AGE можно использовать операторSET CURRENT REFRESH AGE.

Дополнительную информацию о специальномрегистре CURRENT REFRESH AGE и операторе SET CURRENT REFRESH AGEсмотрите в руководстве SQL Reference.152Руководство администратора: РеализацияСводные таблицы, определенные с REFRESH IMMEDIATE, могут применятьсякак для статических, так и для динамических запросов; для таких сводныхтаблиц не нужно использовать специальный регистр CURRENT REFRESH AGE.Примечание: Будьте осторожны, задавая для специального регистра CURRENTREFRESH AGE ненулевое значение.

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

Нужно будет использовать операторREFRESH TABLE. Дополнительную информацию смотрите в справочнике SQLReference.Если на основе допустимой полной выборки нужно создать новую базовуютаблицу, задайте при создании этой таблицы ключевое слово DEFINITIONONLY. Когда таблица будет создана, она будет считаться не сводной, а базовойтаблицей.

Например, можно создать таблицы исключений, используемые вLOAD и SET INTEGRITY:CREATE TABLE XT AS(SELECT T.*, CURRENT TIMESTAMP AS TIMESTAMP,CLOB(",32K)AS MSG FROM T) DEFINITION ONLYНекоторые главные ограничения, касающиеся сводных таблиц:1. Сводную таблицу нельзя изменять.2. Нельзя изменить длину столбца базовой таблицы, если для этой таблицысуществует сводная таблица.3. Нельзя импортировать данные в сводную таблицу.4. Нельзя создать индекс уникальности для сводной таблицы.5. Нельзя создать сводную таблицу на основе результатов запроса, в которомиспользуется один или несколько псевдонимов.Полный список ограничений для сводных таблиц смотрите в руководстве SQLReference.Создание алиасаАлиас - это метод косвенного задания в операторе SQL таблицы, псевдонимаили производной таблицы, позволяющий исключить зависимость этогооператора SQL от полного имени таблицы или производной таблицы. Приизменении имени таблицы или производной таблицы потребуется изменитьГлава 3.

Характеристики

Тип файла
PDF-файл
Размер
3,14 Mb
Тип материала
Высшее учебное заведение

Список файлов курсовой работы

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6384
Авторов
на СтудИзбе
308
Средний доход
с одного платного файла
Обучение Подробнее