
- •Язык запросов sql
- •Введение в sql(0-0)
- •Аннотация к лекции
- •Краткая история развития sql
- •Возможности языка
- •Основы sql
- •Типы данных sql
- •Литералы
- •Операторы и выражения
- •Именование объектов
- •Комментарии
- •Итоги лекции
- •Простейшие запросы (0-0)
- •Аннотация к лекции
- •О предложении select
- •Основные фразы – select и from
- •Фраза select
- •Синтаксис фразы select
- •Указание выводимых столбцов
- •Исключение повторяющихся строк
- •Использование вычисляемых выражений
- •Переопределение имен результирующих столбцов
- •Включение литералов в результат запроса
- •Вывод результатов в файл
- •Фраза from
- •Синтаксис фразы from
- •Синонимы таблиц
- •Запрос в качестве имени таблицы
- •Итоги лекции
- •Отбор строк по условию (0-0)
- •Аннотация к лекции
- •Простейшие условия
- •Операторы сравнения
- •Логические операторы
- •Использование выражений над столбцами
- •Специальные операторы
- •Проверка на принадлежность множеству
- •Проверка на принадлежность диапазону значений
- •Проверка на соответствие шаблону
- •Проверка на неопределенное значение
- •Итоги лекции
- •Многотабличные запросы (0-0)
- •Аннотация к лекции
- •Декартово произведение таблиц
- •Условие соединения
- •Соединение таблиц по равенству
- •Соединение таблиц по неравенству
- •Самосоединение таблицы
- •Внешнее соединение таблиц
- •Соединение с использованием фразы from
- •Итоги лекции
- •Использование функций (0)
- •Аннотация к лекции
- •Агрегатные функции
- •Однострочныефункции
- •Строковые функции
- •Числовые функции
- •Временные функции
- •Функции преобразования
- •Итогилекции(урока)
- •Группировка и сортировка (0)
- •Аннотация к лекции
- •Запросы с группировкой строк
- •Понятие группировки строк
- •Группировка по одному столбцу
- •Группировка по нескольким столбцам
- •Использование выражений
- •Условиеотборагрупп
- •Сортировка строк
- •Сортировка по столбцу или выражению
- •Сортировка по нескольким столбцам или выражениям
- •Итоги лекции
- •Множественные операции над таблицами (0-0)
- •Аннотация к лекции
- •Множественные операции в стандарте sql
- •Объединение таблиц
- •Пересечение таблиц
- •Разность таблиц
- •Дополнительные аспекты использования множественных операций
- •Множественные операции и группировка
- •Множественные операции и сортировка
- •Итоги лекции
- •Определение таблиц и представлений (0-0)
- •Аннотация к лекции
- •Создание таблицы
- •Изменениетаблицы
- •Возможности изменения таблиц
- •Добавление столбца
- •Изменение определения столбца
- •Удаление столбца
- •Переименование таблицы
- •Удаление таблицы
- •Определение индексов
- •Представления
- •Итоги лекции
- •Манипулирование данными (0-0)
- •Аннотация к лекции
- •Добавление новых строк
- •Варианты добавления строк
- •Вставка отдельных строк
- •Использование запроса при вставке строк
- •Вставка значений по умолчанию
- •Обновление существующих данных
- •Удаление существующих строк
- •Импорт и экспорт данных
- •Итоги лекции
- •Определение ограничений целостности, ключей, задание прав доступа к данным (0-18)
- •Аннотация к лекции
- •Виды ограничений целостности
- •Ограничение на отсутствие значения
- •Ограничениеуникальности
- •Ограничение первичного ключа
- •Ограничение ссылочной целостности
- •Изменение ограничений целостности
- •Итоги лекции
- •Программирование бд (19)
Представления
Представление с точки зрения определения – это именованный запрос, который сохраняется, как и другие объекты базы данных, а с точки зрения использования – это обычная таблица.
Представления можно использовать в запросах и операторах ЯМД точно так же, как и базовые таблицы, но они не содержат никаких собственных данных. Представления подобны окнам, через которые вы просматриваете информацию, фактически хранящуюся в базовых таблицах. Представление – это запрос, который выполняется всякий раз, когда к нему производится обращение. Таблица, получающаяся в результате выполнения запроса, становится содержанием представления. Базовые таблицы, которые участвуют в формировании представления, называются исходными.
Представление создается предложением CREATEVIEW. Нельзя определить никаких свойств столбцов представления, кроме их имен. Синтаксис создания представления следующий:
CREATEVIEWимя_представления [(список_имен_столбцов)]AS
предложенne_SELECT
Запрос.Простое представление:
CREATE VIEW FACULTY_COPY AS
SELECT * FROM FACULTY;
Запрос. Создать представление, содержащее данные только о профессорах.
CREATE VIEW PROFESSORS AS
SELECT * FROM TEACHER
WHERELOWER(Post) = 'профессор';
Представление может быть удалено в любое время. Для этого используется предложение DROP VIEW, которое имеет следующий формат:
DROP VIEW имя_представления
Перечислим ниже основные варианты использования представлений:
Обеспечение логической независимости.Одна из основных задач, которую позволяют решать представления, – обеспечение логической независимости прикладных программ от изменений в структуре базы данных, например изменение порядка расположения столбцов, расщепление таблицы на две или более таблиц, изменение имен таблиц и столбцов и т. д. В таких случаях изменяются запросы в определениях соответствующих представлений. При этом никаких изменений в программы, работающие с такими представлениями, вносить не нужно.
Прикладной взгляд на данные.Представления дают возможность различным пользователям по-разному видеть одни и те же данные, возможно, даже в одно и то же время. Это особенно ценно при работе различных категорий пользователей с единой интегрированной базой данных. Пользователям предоставляют только интересующие их данные в наиболее удобной для них форме или формате. Например, довольно легко можно решить проблему преобразования данных о зарплате, хранимых в базе данных в одной денежной единице, во многие другие денежные единицы в различных представлениях.
Защита данных.Представления предоставляют дополнительный уровень защиты данных в таблицах. От определенных пользователей могут быть скрыты некоторые данные, невидимые через предложенное им представление. Таким образом, принуждение пользователя осуществлять доступ к базе данных через представления является простым, но эффективным механизмом для управления ограничением доступа.
Скрытие сложности данных.Пользователь работает с представлением как с обычной таблицей, обращаясь к нему по имени, хотя само оно может представлять собой сложный запрос. Представления дают возможность создавать библиотеку сложных запросов, которые пользователи могут впоследствии выполнять многократно.