- •Концепция баз данных
- •Понятие СУБД
- •Функции СУБД
- •3. Основные свойства баз данных.
- •Различие уровней представления данных на каждом этапе проектирования реляционной базы данных:
- •Примеры
- •Классификация моделей данных
- •Состав и назначение
- •Синтаксис
- •Пример
- •Синтаксис
- •Пример
- •Синтаксис
- •Пример
- •Синтаксис
- •Пример
- •Пример
- •Типы хранимых процедур
- •Создание, изменение и удаление хранимых процедур
- •Типы триггеров
- •Операторы создания, изменения
- •DML Trigger
- •DDL Trigger
- •Logon Trigger
- •DML Trigger
- •DDL Trigger
- •Logon Trigger
- •Поддержка ссылочной целостности с помощью триггеров
- •Агрегатные функции
- •Предложение GROUP BY
- •Вариант двумерного статистического запроса к БД
- •40. Общая характеристика и возможности системы.
- •43. Средства создания и коррекции структуры базы данных. Примеры.
- •45. Способы ускорения поиска данных: индексация и сортировка. Примеры.
- •40.13. Установка связей между таблицами
- •40.14. Импорт БД и установка связи с таблицами вне БД
- •40.15. Инструмент для установки связей
- •47. Средства создания приложений Примеры.
- •48. Средства задания ссылочной целостности.
- •Подуровни логического уровня модели данных
- •53. Генерация отчетов.
- •Использование Crystal Reports для создания отчетов
- •ACID-свойства транзакций
- •SET TRANSACTION ISOLATION LEVEL (SQL Server 2008 R2)
- •Оператор CREATE TABLE
- •Оператор ALTER TABLE
- •Оператор DROP TABLE
- •1. Сравнение
- •3. Принадлежность множеству
- •4. Соответствие шаблону
- •5. Значение NULL
- •Типы представлений:
- •Ограничения представлений:
- •Создание представлений
- •Использование T-SQL для изменения и удаления представлений
- •Объектно-ориентированная парадигма.
- •Многомерные базы данных (Multi-value Database)
- •Основные преимущества многомерных СУБД
- •Иерархическая модель данных
- •Сетевая модель данных
- •Реляционная структура данных
- •1. Уникальность: в произвольный заданный момент времени никакие два различных кортежа R не имеют одного и того же значения для Ai, Aj, ..., Ak.
- •Example.
- •Основные функции группы администратора БД
35. Т-SQL. Добавление, удаление и обновление данных в представлении. Примеры.
Представление – это виртуальная таблица, определяемая запросом, содержащим оператор SELECT. Эта виртуальная таблица состоит из данных одной или нескольких реальных таблиц, а для пользователей представление выглядит, как реальная таблица. И действительно, с представлением можно работать, как с обычной таблицей. Пользователи могут обращаться к этим виртуальным таблицам в операторах T-SQL таким же образом, как и к таблицам. К представлению можно применять операции SELECT, INSERT, UPDATE и DELETE.
На самом деле представление хранится просто как заранее определенный оператор SQL. При доступе к представлению оптимизатор запросов SQL Server объединяет текущий выполняемый оператор SQL с запросом, который был использован для определения данного представления.
Типы представлений:
•Подмножество колонок таблицы. Представление может состоять из одной или нескольких колонок таблицы. Видимо, это наиболее распространенный тип представления, который можно применять для упрощения или безопасности данных.
•Подмножество строк таблицы. Представление может содержать любое нужное количество строк. Этот тип представления также полезен для обеспечения безопасности.
•Связывание двух и более таблиц. Вы можете создать представление с помощью операции связывания (join). Сложные операции связывания можно упростить, если использовать для этого представление.
•Агрегированная информация. Вы можете создать представление, содержащее агрегированные данные. Этот тип представления также используется для упрощения
сложных операций.
Представления можно также использовать для объединения секционированных данных. Данные большой таблицы можно секционировать на несколько меньших таблиц, чтобы облегчить управление этими данными, а затем с целью упрощения доступа можно использовать представления для слияния этих таблиц в одну более крупную виртуальную таблицу.
Одним из преимуществ использования представлений является то, что они всегда содержат самые свежие данные. Оператор SELECT, определяющий представление, выполняется только при доступе к этому представлению, поэтому все изменения, внесенные в базовые таблицы представления, отражаются в этом представлении.
Ограничения представлений:
•Ограничения по колонкам. Представление может использовать до 1024 колонок таблицы. Если вам требуется ссылка на большее число колонок, то придется использовать какой-либо другой метод.
•Ограничение базы данных. Представление можно создать по таблице только в той базе данных, к которой осуществляет доступ создатель представления.
•Ограничение безопасности. Создатель представления должен иметь доступ ко всем колонкам, входящим в это представление.
•Правила целостности данных. Любые обновления, модификации и т.п., вносимые в представление, не могут нарушать правил целостности данных. Например, если базовая таблица не допускает null-значений, то они также не допускаются этим представлением.
•Ограничение на количество уровней вложенности представлений. Представления могут формироваться на основе других представлений – иными словами, вы можете создать представление, имеющее доступ к другим представлениям. Допускается до 32 уровней вложенности представлений.
•Ограничение оператора SELECT. Используемый для представления оператор SELECT не может содержать оператора ORDER BY, COMPUTE или COMPUTE BY или ключевого слова INTO.
Создание представлений
Оператор CREATE VIEW имеет следующий синтаксис:
CREATE VIEW имя_представления [(колонка, колонка ...)]
[WITH ENCRYPTION]
AS
ваш оператор SELECT [WITH CHECK OPTION]
Ключевое слово WITH ENCRYPTION указывает, что определение представления
(оператор SELECT, определяющий представление) должно шифроваться. SQL Server использует для шифрования операторов SQL тот же метод, что и для паролей. Этот метод обеспечения безопасности может оказаться полезным, если вы не хотите, чтобы определенные классы пользователей знали, к каким таблицам осуществляется доступ.
Ключевое слово WITH CHECK OPTION указывает, что операции модифицирования данных, применяемые к представлению, должны отвечать критериям, содержащимся в операторе SELECT. Например, можно запретить операцию модифицирования данных, применяемую к представлению для создания строки таблицы, которая не видна внутри этого представления.
Пример. Выбор подмножества колонок из таблицы Employee.
CREATE VIEW emp_vw AS
SELECT name, phone, office
FROM Employee
Пример. Выбор подмножества строк, где Dept = 1.
CREATE VIEW emp_vw2 AS
SELECT *
FROM Employee
WHERE Dept = 1
Пример. Связывание таблиц Employee2 и MАnager в одну виртуальную таблицу значением mАnager.id:
CREATE VIEW org_chart
AS
SELECT |
Employee.ename, MАnager.mname |
FROM |
Employee, MАnager |
WHERE |
Employee.manager_id = mАnager.id |
GROUP BY |
MАnager.mname, Employee.ename |
Использование T-SQL для изменения и удаления представлений
Для изменения представлений с помощью T-SQL используйте оператор ALTER VIEW. ALTER VIEW имя_представления [(колонка, колонка, ...)]
[WITH ENCRYPTION] AS
ваш оператор SELECT
[WITH CHECK OPTION]
Для удаления представления используйте оператор DROP VIEW. DROP VIEW имя_представления