Максим Чалышев - Oracle SQL. 100 шагов от новичка до профессионала
- Название:Oracle SQL. 100 шагов от новичка до профессионала
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:11
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Максим Чалышев - Oracle SQL. 100 шагов от новичка до профессионала краткое содержание
Более 500 практических заданий.
Более 1000 разобранных примеров.
Учебник справочник по языку SQL.
Oracle SQL. 100 шагов от новичка до профессионала - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Контрольные вопросы и задания для самостоятельного выполнения
1. Используя ROLLUP, посчитайте, сколько разных марок автомобилей разного цвета. Подведите итоги с помощью ROLLUP.
2. Объясните различия между ROllUP и CUBE.
3. С помощью CUBE подсчитайте количество людей одного возраста (MAN), подведите итог: всего людей 18, 19, 20 лет.
Шаг 74. Представления
Введение
Ранее мы уже разбирали конструкцию WITH, когда можно предварительно составить запрос и обратиться через псевдоним к этому запросу.
Подобный функционал обеспечивают представления VIEW.
Теория и практика
Представления являются физическим объектом в базе данных, который создается на основе запроса.
Имя представления не может начинаться с цифр и должно быть уникально в рамках схемы, а также не должно совпадать с именем любой из таблиц или зарезервированным словом СУБД.
Обычное представление VIEW физически не содержит данных, запрос из представления выполняется приблизительно, так же как обычный запрос.
Основное назначение представлений в ORACLE — это распределение прав и удобство использования представлений.
Синтаксис
где VIEWNAME — название представления, AS — запрос-обращение к представлению.
То есть в качестве источника данных мы используем ранее созданное представление.
Примеры
Представление на основе таблицы AUTO, где только синие авто.
Выбор данных из созданного представления v_AUTO.
Рисунок 207. Обращение к v_AUTO
Представление на основе таблицы MAN и таблицы AUTO.
Обратиться к данному представлению в запросе, выбрать автомобили BMW.
Выбор данных из созданного представления v_MAN_AUTO.
Рисунок 208. Запрос к v_MAN_AUTO
Представление на основе таблицы MAN и таблицы CITY.
Обратиться к данному представлению в запросе:
Выбор данных из представления v_MAN_CITY.
Рисунок 209. Запрос к v_MAN_CITY
Важные замечания
• На чтение данных из представлений нужны права, которые может выдать администратор системы.
• На создание представлений также нужны права, которые может выдать администратор системы.
• Представления не сохраняют результата запроса, а только текст запроса, каждый раз при обращении к заданному представлению-запросу выполняются вновь.
• Для создания отчетов лучше использовать материализованные преставления или временные таблицы.
Вопросы учеников
Можно ли создать представление на основе запроса другого представления?
Да, никаких ограничений нет.
Можно ли использовать в представлении объекты последовательностей SEQUENCE?
Нет, это ограничение, использовать последовательности в представлениях нельзя.
Можно ли использовать в представлениях одинаковые названия колонок?
Нет, использовать одинаковые названия колонок недопустимо.
Контрольные вопросы и задания для самостоятельного выполнения
1. Расскажите, что такое представление в рамках базы данных.
2. Чем представление отличается от обычного запроса?
3. В чем преимущество использования представлений в базе данных?
4. Создайте представление на основе таблицы CITY.
5. Создайте представление на основе таблиц CITY, MAN с данными из этих двух таблиц (запрос с объединением двух таблиц, связь по колонке CITYCODE).
Шаг 75. Синонимы
Введение
Синонимы (synonyms) — специальные псевдонимы объектов базы данных, применяются для удобства доступа к объектам других схем базы данных, могут использоваться для распределения прав и безопасности доступа к данным. Синонимы могут приватными (private) или общедоступными (public). Общедоступные синонимы видны всем пользователям базы данных, приватные синонимы принадлежат только заданной схеме.
Синонимы создаются для следующих объектов базы данных ORACLE: таблицы, представления, материализованные представления пакетов и процедур.
Теория и практика
Для вышеперечисленных объектов в базе ORACLE можно создать синоним.
В каком случае это целесообразно?
• Во-первых, при обращении к объекту из разных схем для более простой формы записи.
• Для разграничения доступа, безопасности объекта.
• Во-вторых, если объект называется достаточно сложно и для того чтобы упростить обращение к этому объекту.
• Когда обращение к объекту происходит через DB LINK.
Для создания публичного синонима необходима роль CREATE PUBLIC SYNONYM;
Для создания публичного синонима используется директива PUBLIC перед словом SYNONYM.
Примеры
Обращение к данным через синоним a9:
Рисунок 210. Запрос по синониму a9
Выбираем данные из таблицы с помощью синонима a9.
Выбираем данные из таблицы с помощью синонима m9.
Рисунок 211. Запрос по синониму m9
Создание синонима на основе системного представления ALL_OBJECTS;
Выбираем данные из таблицы с помощью синонима a9.
Рисунок 212. Запрос по синониму a9
Важные замечания
Для просмотра информации обо всех синонимах в базе данных можно использовать следующий запрос:
Для выполнения данного запроса требуются соответствующие права.
Для удаления синонима используется следующая команда:
Вопросы учеников
Я пытаюсь создать синоним для функции на языке PL SQL, которая находится в пакете, получаю ошибку. В чем причина?
Это ограничение для использования синонимов — объект для синонима не может содержаться в пакете.
Каковы ограничения для имени синонима?
Помимо того, что имя синонима не должно начинаться с цифр или совпадать с зарезервированным словом SQL, также имя синонима должно быть уникальным для всех объектов, которые принадлежат этой же схеме.
Контрольные вопросы и задания для самостоятельного выполнения
1. Можно ли создать синоним для представления?
2. В чем отличие синонимов и представлений?
3. Создайте публичный синоним C1 для таблицы CITY.
4. Создайте приватный синоним C2 для таблицы CITY.
5. Напишите запрос с использованием данных синонимов.
6. Можно ли создать синоним для другого синонима?
7. Поясните разницу между публичным и приватным синонимами.
День шестнадцатый
Шаг 76. Ретроспективные запросы
Введение
В ORACLE есть возможность узнать, какие данные были в таблицах определенное время назад. Мы можем использовать эти данные, сохранить эти данные во временные таблицы.
Такие запросы называются FLASHBACK QUERY.
FLASHBACK QUERY — специальная возможность, которая позволяет видеть данные в базе таким образом, как будто это было сделано в заданный момент времени в прошлом.
Читать дальшеИнтервал:
Закладка: