Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпорочки на обдз.doc
Скачиваний:
31
Добавлен:
13.04.2015
Размер:
180.74 Кб
Скачать

42. Словарь данных. Определение, назначение, структура.

Словарь данных - это набор реляционных таблиц и рпедставлений кот содержат информацию о таблицах или метаданные (данные о данных).  Структура словаря данных.  В состав словаря данных базы данных входят:  1. Базовые таблицы  Основу словаря данных составляет совокупность базовых таблиц, хранящих информацию о базе данных. Эти таблицы читаются и пишутся ТОЛЬКО самим ORACLE; они редко используются непосредственно пользователем ORACLE любого типа, потому что они нормализованы, и большая часть данных в них закодирована.  2. Доступные пользователю представления  Словарь данных состоит из нескольких наборов представлений . Во многих случаях такой набор состоит из трех представлений, содержащих аналогичную информацию и отличающихся друг от друга своими префиксами:  1. USER_ХХХ - обзор пользователя (что есть в схеме пользователя)  2. ALL_ХХХ - расширенный обзор пользователя (к чему есть доступ)  3. DBA_ХХХ - обзор администратора (к чему все пользователи имеют доступ)  Представления с префиксом USER:  1. Отражают собственное окружение пользователя в базе данных, включая информацию об объектах, созданных этим пользователем, грантах, предоставленных им, и т.д..  2. Выдают лишь строки, имеющие отношение к пользователю.  3. Имеют столбцы, идентичные с другими представлениями, с тем исключением, что столбец OWNER подразумевается (текущий пользователь).  4. Возвращают подмножество информации, предоставляемой представлениями ALL могут иметь сокращенные общие синонимы для удобства.  43. Выбор данных из более, чем одной таблицы. Соединение данных.

См вопр 36 44. Операторы над множествами. Правила, которых необходимо придерживаться при использовании таких операторов.

Выборка – выбор не всех строк

Проекция – не все столбцы

Соединение – выбор определенной информации из обоих таблиц

Произведение – вывод всех комбинаций информации

UNION (объединение)  Объединение запросов для получения всех различных строк, которые возвращаются каждым подзапросом индивидуально.  Пример: SELECT …UNION SELECT … INTERSECT (пересечение)  Объединение запросов для получения тех строк, которые возвращаются в результате обоих подзапросов.  Пример: SELECT …INTERSECT SELECT …  MINUS (разность)  Объединение запросов так, чтобы получить все строки, возвращаемые первым запросом и не возвращаемые вторым.  Пример: SELECT …MINUS SELECT … 45. Подзапросы.

Подзапросы, внутренние или вложенные запросы - есть не что иное, как запрос внутри запроса.  Синтаксис простого подзапроса выглядит так:  SELECT select_list FROM table WHERE expr operator (SELECT select_list FROM table)  Здесь в качестве оператора может играть роль такие операторы сравнения как >;>=;<;<=;OR;IN при работе с запросами возвращающие ровно одно значение, а также для решения задач запросами возвращающие множество строк используйте в качестве операторов IN; ANY; ALL.  При этом сперва выполняется подзапрос (внутренней запрос), а результат операции будет передан основному запросу. То есть подзапросы выполняются от наиболее вложенных к основному.  возможно использовать подзапросы в следующих частях оператора SELECT:  - В разделе SELECT  - В качестве таблицы в разделе FROM  - В разделе WHERE  - В условиях HAVING  - В разделе ORDER BY  Подзапросы могут брать значения из других таблиц. Подзапросы возражающие множество строк в качестве результата  Рассматриваемые нами типы подзапросов возращали в качестве результата одну или более строк. В случаи если подзапрос возвращает множество результатов, для подобных запросов необходимо использовать соответствующие операторы сравнения:  IN     - эквивалетно значению любого элемента из подзапроса  SOME | ANY - сравнивает значение со всеми значениями из подзапроса  ALL  - сравнивает значение со всеми значениями из подзапроса 46. Коррелированные подзапросы.

Запросы с коррелированными вложенными подзапросами обрабатываются системой в обратном порядке. Сначала выбирается первая строка рабочей таблицы, сформированной основным запросом, и из нее выбираются значения тех столбцов, которые используются во вложенном подзапросе (вложенных подзапросах). Если эти значения удовлетворяют условиям вложенного подзапроса, то выбранная строка включается в результат. Затем выбирается вторая строка и т.д., пока в результат не будут включены все строки, удовлетворяющие вложенному подзапросу (последовательности вложенных подзапросов).