- •1. Понятие и принципы построения баз данных.
- •2. Реляционная модель. Три аспекта модели. Основные понятия, лежащие в основе реляционной модели
- •4) Виды моделей данных
- •Иерархическая модель данных
- •Сетевая модель данных
- •Реляционная модель данных
- •3) Основные понятия реляционных баз данных
- •3.2.1. Тип данных
- •3.2.2. Домен
- •3.2.3. Заголовок отношения, кортеж, тело отношения, значение отношения, переменная отношения
- •3.2.4. Первичный ключ и интуитивная интерпретация реляционных понятий
- •3) Отношения. Переменные-отношения. Смысл отношений, свойства отношений. Домены.
- •4) Ключи переменных-отношений. Виды ключей.
- •5) Трехуровневая архитектура базы данных. Внешний, концептуальный и внутренний уровни.
- •6) Независимость данных.
- •7) Назначение и функции субд.
- •8) Реляционная алгебра – реляционный язык обработки данных.
- •9) Традиционные и специальные операции реляционной алгебры: объединение, пересечение, вычитание, декартово произведение, проекция, выборка. О соединение, естественное соединение, деление.
- •1.3.2 Пересечение
- •1.3.3 Вычитание
- •1.3.4 Произведение
- •10) Понятие функциональной зависимости для отношения. Основные определения. Способ определения ф.З. Тривиальные и нетривиальные зависимости.
- •11) Замыкание множества зависимостей. Аксиомы Армстронга.
- •12) Нормализация. Первая, вторая и третья нормальные формы отношения
- •1Нф (Первая Нормальная Форма)
- •Аномалии обновления
- •Аномалии вставки (insert)
- •Аномалии обновления (update)
- •Аномалии удаления (delete)
- •Функциональные зависимости
- •Вторая нормальная форма
- •Анализ декомпозированных отношений
- •Оставшиеся аномалии вставки (insert)
- •Оставшиеся аномалии обновления (update)
- •Оставшиеся аномалии удаления (delete)
- •Третья нормальная форма
- •12) Концептуальные модели данных. Модель «сущность-связь». Сущности, атрибуты, связи. Сущности-связи и мощности связей. Примеры.
- •Основные понятия er-модели
- •Инструкция select
- •Синтаксис
- •Замечания
- •Предложение from
- •Синтаксис
- •Замечания
- •Предложение where
- •Синтаксис
- •Замечания
- •Предикат like
- •2.3.4.2.1 Предикат сравнения
- •2.3.4.2.2 Предикат between
- •2.3.4.2.3 Предикат in
- •Предикат exists
- •Предложение having
- •Синтаксис
- •Замечания
- •Предикаты all, distinct, distinctrow, top
- •Синтаксис
- •14) Определение базы данных на sql (операторы определения и манипулирования данными).
- •15) Понятие целостности. Классификация ограниченной целостности базы данных.
- •16) Представления. Создание и использование представлений. Создание запросов к представлению.
- •17. Хранимые процедуры
- •18. Триггеры
- •19. Транзакция. Acid – свойства транзакций. Уровни изоляции транзакций.
- •Serializable (упорядочиваемость)
- •Repeatable read (повторяемость чтения)
- •Read committed (чтение фиксированных данных)
- •Read uncommitted (чтение незафиксированных данных)
- •Проблемы параллельного доступа с использованием транзакций
- •20. Защита данных. Средства защиты данных языка sql.
- •21. Понятие предметной области. Определение сущностей, связей и их свойств.
- •22. Проектирование реляционной базы данных. Определение состава таблиц
16) Представления. Создание и использование представлений. Создание запросов к представлению.
Представление— виртуальная (логическая) таблица, представляющая собой поименованный запрос (алиас к запросу), который будет подставлен как подзапрос при использовании представления.
В отличие от обычных таблиц реляционной БД, представление не является самостоятельной частью набора данных, хранящегося в базе. Содержимое представления динамически вычисляется на основании данных, находящихся в реальных таблицах. Изменение данных в реальной таблице БД немедленно отражается в содержимом всех представлений, построенных на основании этой таблицы.
Типичным способом создания представлений для СУБД, поддерживающих язык запросов SQL, является связывание представления с определённым SQL-запросом. Соответственно, содержимое представления — это результат выполнения этого запроса, а возможности построения представления ограничиваются только степенью сложности диалекта SQL, поддерживаемого конкретной СУБД.
Представления используются в запросах к БД тем же образом, как и обычные таблицы. В случае SQL-СУБД имя представления может находиться в SQL-запросе на месте имени таблицы (в предложении FROM). Запрос из представления обрабатывается СУБД точно так же, как запрос, в котором на месте имени представления находится подзапрос, определяющий это представление. При этом СУБД с развитыми возможностями оптимизации запросов перед выполнением запроса из представления могут проводить совместную оптимизацию запроса верхнего уровня и запроса, определяющего представление, с целью минимизации затрат на выборку данных.
Представления (view) - это одно из мощных средств языка SQL, предназначенное для реализации механизм подсхем пользователей базы данных. Представления позволяют скрыть от пользователей схему базы данных. Они представляют собой хранимые в базе данных запросы, выраженные операторами SELECT. На базе одних представлений могут быть созданы новые представления, которые наследуют все свойства базовых представлений. Формировать представления могут пользователи с привилегиями SELECT для используемых в представлениях таблиц (базовых таблиц).
Для пользователя представления предстают как объекты очень похожие на таблицы данных. Это выражается тем, что:
обращение к представлениям осуществляется также как и к таблицам;
ко всем представлениям применим оператор SELECT;
для некоторых представлений могут применяться операторы INSERT, UPDATE и DELETE.
Представление может быть модифицировано (т.е. по отношении к нему можно использовать операторы INSERT, UPDATE и DELETE) в том, и только в том случае, если для оператора SELECT, на базе которого создано представление, выполняются каждое из следующих специфических условий:
не используется служебное слово DISTINCT;
при выполнении запроса данные извлекаются только из таблицы;
в списка полей этого оператора отсутствуют арифметические выражения. Элементами списка могут быть только поля базовой таблицы или базового представления. В свою очередь на поля этого представления накладывается такое же ограничение;
в запросе не применяются подзапросы;
для результирующих данных не определено группирование.
Запрос представления может быть любым предложением SELECT, не содержащим фраз ORDER BY или FOR UPDATE. Его список выборки может содержать до 254 выражений;
CREATE VIEW - оператор, создающий представление.
Вопрос 1. Какое наименование вы хотите определить для нового представления?
Вопрос 2. Кто будет владельцем представления?
Вопрос 3. На базе каких таблиц будут формироваться данные представления?
Вопрос 4. Какие поля будут использоваться при формировании содержимого представления?
После применения к представлениям операторов INSERT и DELETE количество записей в них изменяется. Тоже самое может произойти при выполнении оператора UPDATE для представлений, использующих указание выборки данных WHERE в базовом операторе. Это может произойти в том случае, когда в результате модификации записей их содержимое перестанет удовлетворять условию WHERE - условию включения данных записей в представление.