- •Базы Данных
- •1.Понятие банка данных. Компоненты банков данных и их краткая характеристика
- •2.Языковые средства субд
- •3.Классификация баз данных
- •4.Этапы проектирования баз данных
- •Тсп для даталогического проектирования
- •Тсп для физического проектирования
- •5.Инфологическое (концептуальное) моделирование
- •7.Case -средства проектирования бд
- •9.Реляционные модели. Основные понятия
- •10.Реляционные модели. Нормальные формы отношений
- •5Nf. Декомпозиция без потерь
- •11.Реляционные модели. Нормализация отношений
- •12.Реляционные алгебры
- •13.Факторы, влияющие на проектирование баз данных
- •1. Специфика предметной области:
- •2. Особенности требуемой обработки информации:
- •3. Характеристика пользователей системы:
- •14.Алгоритм перехода от er-модели к реляционной модели данных
- •15.Ограничения целостности. Понятие и классификация
- •16.Возможности задания ограничений целостности в современных субд
- •17.Языки запросов. Понятие. Классификация
- •18.Классификация запросов. Особенности реализации запросов разных классов
- •19.Табличные языки запросов. Общая характеристика
- •20.Язык sql. Общая характеристика
- •21.Общая структура команды Select языка sql. Корректировка данных в sql
- •22.Sql. Создание объектов
- •23.Sql. Встроенный join
- •24.Sql. Понятие курсора. Использование курсоров
- •25.Sql. Группировка данных. Использование обобщающих функций
- •26.Sql. Создание и использование представлений
- •27.Генераторы экранных форм. Назначение. Классификация
- •28.Генераторы отчетов. Назначение. Классификация
- •29.Классификация распределенных банков данных
- •30.Проблемы обеспечения целостности в распределенных бд
- •31.Сравнение централизованных и распределенных систем
- •32.Распределенные бд. Технологии файл-сервер и клиент-сервер
- •33.Распределенные базы данных. Технология тиражирования
- •34.Проблемы, возникающие при параллельном доступе, и пути их решения
26.Sql. Создание и использование представлений
SQL (Structurend Query Language) — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. SQL основывается на реляционной алгебре.
Запрос — команда, которую вы даете вашей программе базы данных. Запросы это часть языка DML.
DML (Язык Манипулирования Данными) – подмножество языка SQL — это набор команд, которые определяют, какие значения представлены в таблицах в любой момент времени.
Представление (View) — виртуальная (логическая) таблица, представляющая собой поименованный запрос (алиас к запросу), который будет подставлен как подзапрос при использовании представления.
Представление (View) – один из видов объектов, определённых в стандарте SQL-92.
Создание представлений. CREATE VIEW. Представление может быть получено из одной таблицы или нескольких; оно может включать в себя вычисляемые поля. Представление можно рассматривать как хранимый запрос. Данный оператор создаст виртуальную таблицу, состав которой определяется оператором SELECT.
CREATE VIEW <имя представления> [(<список столбцов выборки>)] AS < SELECT оператор> [WITH [CASCADED |LOCAL] CHECK OPTION]);
Список имен столбцов должен быть обязательно определен лишь в следующих случаях: - если хотя бы один из столбцов подзапроса не имеет имени (создается с помощью выражения, SQL-функции или константы); - если два (или более) столбца подзапроса имеют одно и то же имя. Если список отсутствует, то представление наследует имена столбцов из подзапроса.
Представления не хранятся в памяти в виде физических таблиц. Когда используется оператор CREATE VIEW, подзапрос, следующий за AS, не исполняется. Просто в каталоге сохраняется соответствующее описание.
Пользователь может работать в дальнейшем с представлениями как с обычными таблицами (он может даже не знать, что работает с представлением). При обращении к представлению с запросом последний преобразуется системой с учетом описания представления, и такой объединенный запрос исполняется.
Представления могут быть изменяемыми и неизменяемыми.
Уничтожение представлений. DROP VIEW <имя представлениям>
Цели использования представлений:
Освобождение пользователя от просмотра не относящейся к нему информации. Причем это может быть как вертикальное усечение таблицы, когда в представление включаются не все поля, а только те, которые интересуют пользователя, так и горизонтальное - когда отбираются определенные записи.
Улучшение защиты данных. Пользователь видит (и может с ними работать) только часть данных, определенных для него представлением. Разработчики могут ограничить для конкретных пользователей доступ к отдельным столбцам или строкам таблицы, а также задать для представления допустимые для него привилегии.
Упрощение сложных запросов.
Предоставление пользователю дополнительной информации, не содержащейся в базовых таблицах (например, с использованием вычисляемых полей).
Ограничения при использовании [чтобы не была нарушена целостность БД]:
Нельзя корректировать данные представлений, полученных на основе нескольких базовых таблиц (в некоторых СУБД это ограничение менее жесткое).
При определении представления не должно использоваться соединение таблицы «сама с собой».
Нельзя манипулировать данными представлений, полученных на основе оператора группирования (GROUP BY).
Нельзя корректировать вычисляемые поля.
Представление должно содержать один и только один запрос, т.е. не допускается использование UNION, EXCEPT, INTERSECT.
Включающий запрос представления не может содержать предложение DISTINCT (аргумент, который обеспечивает вас способом устранять двойные значения из вашего предложения SELECT).
Ни на один столбец нельзя ссылаться в SELECT более одного раза.
Фраза WITH CHECK OPTION (с проверкой) указывает на то, что при корректировке содержимого таблиц должна осуществляться проверка на соблюдение заданного условия.