- •АвОсновные понятия баз данных. Этапы развития субд. Функции субд. Требования к системам управления базами данных.
- •Архитектура баз данных. Логическая и физическая независимость данных. Схема прохождения запросов к бд.
- •Классификация моделей данных. Архитектура и модели "клиент-сервер" в технологии бд.
- •Реляционная модель бд, ее основные достоинства. Таблица, кортеж, атрибут, домен, первичный ключ, внешний ключ. Фундаментальные свойства отношений.
- •Обеспечение целостности данных.
- •Основы реляционной алгебры. Операторы реляционной алгебры.
- •6.1. Основы реляционной алгебры
- •6.2. Операторы реляционной алгебры
- •Понятия полной и транзитивной функциональной зависимости. Нормализация, третья нормальная форма, шаги нормализации.
- •7.1. Понятия полной и транзитивной функциональной зависимости
- •7.2. Нормализация, третья нормальная форма, шаги нормализации
- •Модель «объект-свойство-отношение», er-диаграммы, проектирование схемы баз данных.
- •8.1. Модель «объект-свойство-отношение»
- •8.3. Проектирование схемы баз данных
- •Язык sql, его структура, стандарты, история развития. Подмножество языка dml: операторы select, insert, update, delete.
- •Структура языка sql
- •Вставка множества записей
- •Оператор изменения значений полей update
- •Оператор удаления строк delete
- •Подмножество языка ddl: операторы create, alter, drop. Представления, их значение; обновляемые представления.
- •10.1. Подмножество языка ddl: операторы create, alter, drop Оператор create - создание таблицы.
- •Создание внешнего ключа
- •Оператор drop
- •10.2. Представления, их значение; обновляемые представления
- •Создание и удаление представлений
- •Обновляемые представления
- •Подмножество языка dcl: операторы grant, revoke. Системные привилегии, привилегии на объекты, роли.
- •Объектные и системные привилегии
- •Операторы grant и revoke
- •Транзакции, операторы управления транзакциями: commit, rollback, savepoint; журнал транзакций, уровни блокировок.
- •Операторы управления транзакциями
- •Журналы транзакций
- •Язык pl/sql, его структура, основные операторы.
- •Курсоры, явные и неявные курсоры, операторы работы с курсором, оператор select into.
- •Процедуры, функции, пакеты.
- •Триггеры, их основные свойства и значение.
- •Параллельные архитектуры бд; масштабируемость, надежность, производительность.
- •Распределенные базы данных, фрагментация, тиражирование.
- •Средства защиты данных в субд.
- •Шлюзы к базам данных. Архитектура odbc. Www-интерфейс к бд.
- •Объектная модель данных
- •Объектно-ориентированные, объектно-реляционные бд, универсальные бд
- •Эволюция технологий и возможностей субд oracle (oracle 8i, oracle 9i, oracle 10g).
- •Роль grid-технологий в организации хранения и обработки данных. Перспективы развития технологий баз данных.
10.2. Представления, их значение; обновляемые представления
Идея представления (View) состоит в следующем: если существует запрос, который предполагается использовать достаточно часто, то можно сохранить его в базе данных в виде объекта ORACLE и разрешить пользователям обращаться к нему по имени, как к обычной таблице. Для пользователя представление выглядит как таблица, из которой поступают данные. Однако на самом деле данные поступают через представление, из одного или нескольких других источников – исходных таблиц или других представлений.
Одно из назначений использования представлений – скрытие сложности запросов и структуры данных от пользователей.
Создание и удаление представлений
Для создания представлений используется следующий синтаксис:
CREATE [OR REPLACE] VIEW имя_представления AS
оператор SELECT
[WITH CHECK OPTION];
Использование необязательного параметра OR REPLACE позволяет заменить уже существующее представление с таким же именем новым. Если существующего представления с таким именем нет, то этот параметр игнорируется.
Удаление представлений, как и всех других объектов базы данных, осуществляется при помощи оператора DROP, например:
DROP VIEW Contragents_Lite;
Обновляемые представления
Если к представлению можно применить операторы обновления (INSERT, UPDATE или DELETE), то представление является обновляемым (updateble), иначе оно является читаемым (read-only).
Ниже приведены критерии того, является ли представление обновляемым в SQL:
оно базируется на одной таблице;
оно должно включать первичный ключ таблицы;
оно не должно включать полей, полученных в результате применения функций агрегирования;
оно не может содержать спецификации DISTINCT;
оно не должно использовать GROUP BY или HAVING;
для INSERT оно должно включать поля из таблицы, которые имеют ограничения NOT NULL.
Подмножество языка dcl: операторы grant, revoke. Системные привилегии, привилегии на объекты, роли.
Сервер баз данных предоставляет администратору полный контроль над тем, что именно каждый отдельный пользователь может читать, модифицировать, стирать или изменять. То есть можно полностью контролировать доступ к информации всех пользователей, а также разрешать и запрещать пользователям выполнение тех или иных действий.
Права доступа, или привилегии, используются для того, чтобы позволить одному пользователю работать с данными другого пользователя. После получения необходимых полномочий обладатель прав доступа может работать с объектами, принадлежащими другому пользователю.
В том случае, если необходимо предоставить доступ к тому или иному объекту для других пользователей, используются операторы языка DCL (Data Control Language, язык управления доступом к данным) GRANT и REVOKE.
Объектные и системные привилегии
Существуют привилегии двух различных видов: объектные и системные.
Объектная привилегия (object privilege) разрешает выполнение определенной операции над конкретным объектом (например, над таблицей). Название каждой из объектных привилегии совпадает с названием оператора, который она разрешает выполнять тому или иному пользователю над конкретным объектом базы данных. Примеры объектных привилегий: SELECT, DELETE, INSERT, UPDATE, REFERENCES.
Системная привилегия (system privilege) разрешает выполнение операций над целым классом объектов – над всеми объектами какого-то типа, принадлежащими конкретному пользователю, или вообще над всеми объектами какого-то типа во всей базе данных.