- •1.Понятие модели, виды, характеристики, преимущества и недостатки:
- •2. Понятие нормализации, нормальные формы, принципы Кодда:
- •3. Средства проектирования бд:
- •4. Реляционная бд, объекты:
- •5.Типы данных:
- •6. Агрегирующие функции:
- •7. Создание таблиц:
- •8. Извлечение данных из одной таблицы:
- •9.Извлечение данных из нескольких таблиц:
- •10.Union, особенности объединения:
- •11. Jion, одностороннее, полное соединение:
- •12. Вложенные запросы:
- •13.Представления и курсоры:
- •14.Индексы:
- •15.Вставка данных:
- •16.Модификация данных:
- •17. Удаление данных:
- •18.Управление данными через представления:
- •19.Целостность данных, ограничения:
- •20.Сценарии, триггеры:
- •21.Хранимые процедуры:
- •22.Хранимые функции:
- •23.Транзакции:
- •24.Уровни изоляции:
- •25.Блокировки:
- •26.Пользователи и привилегии:
- •27.Роли:
18.Управление данными через представления:
Представление может изменяться также как и таблица, фактически же команда направлена к таблице. Команда INSERT добавляет записи в базовую таблицу. Команды UPDATE и DELETE модифицируют записи базовой таблицы.
Например, следующий фрагмент удаляет записи из базовой таблицы через представление:
DELETE <имя представления>
WHERE (условие)
UPDATE <имя представления>
SET <имя столбца> = <выражение> WHERE (условие)
Каждая из приведенных команд модифицирует базовую таблицу.
Если представление содержит столбцы из нескольких таблиц, вы не сможете удалить записи из представления или обновить столбцы нескольких таблиц в одной команде UPDATE.
Рассмотрим критерии, по которым мы определяем, является ли представление модифицируемым:
1) представление должно основываться только на одной таблице;
2) оно должно содержать первичный ключ этой таблицы;
3) представление не должно иметь полей - агрегатных функций;
4) представление не должно использовать DISTINCT;
5) представление не должно использовать GROUP BY, HAVING;
6) представление не должно использовать подзапросы;
7) представление не должно использовать константы, строки, выражения среди полей вывода;
8) для команды INSERT оно может содержать любые поля базовой таблицы, для которой имеются ограничения NOT NULL, если другое значение по умолчанию не определено.
WITH CHECK OPTION запрещает пользователям вставку и обновление записей, не входящих в представление. Команда CREATE VIEW с параметром WITH CHECK OPTION имеет следующий синтаксис:
CREATE VIEW имя_представления [ (имя_столбца, ...) ]
AS команды_select
[WITH CHECK OPTION]
WITH CHECK OPTION разрешает пользователям выборку, модификацию и вставку лишь тех записей, которые входят в представление:
CREATE VIEW имя_представления AS SELECT <имя столбца> FROM <имя таблицы> WHERE (условие)
WITH CHECK OPTION
19.Целостность данных, ограничения:
Целостность данных - это механизм поддержания соответствия базы данных предметной области. В реляционной модели данных определены два базовых требования обеспечения целостности: целостность ссылок, целостность сущностей.
Целостность сущностей: каждый кортеж любого отношения должен отличатся от любого другого кортежа этого отношения (т.е. любое отношение должно обладать первичным ключом).
Вполне очевидно, что если данное требование не соблюдается, то в базе данных может хранится противоречивая информация об одном и том же объекте. Поддержание целостности сущностей обеспечивается средствами системы управления базой данных (СУБД). Это осуществляется с помощью двух ограничений:
1)при добавлении записей в таблицу проверяется уникальность их первичных ключей
2)не позволяется изменение значений атрибутов, входящих в первичный ключ.
Целостность ссылок: для каждого значения внешнего ключа, появляющегося в дочернем отношении, в родительском отношении должен найтись кортеж с таким же значением первичного ключа.
Ограничения данных – это часть определений таблицы, описывающих условия ввода данных. В качестве ограничений мы рассмотрим тип, размер вводимых данных, т.е. их совместимость с полями, в которые вводятся данные. (not null, unique, primary key, …)
Существуют ограничения двух типов:
1) ограничения поля – применимые только к указанному полю (помещается в конец фрагмента команды, объявляющего его имя после типа данных)
2) ограничения таблицы – применимые к указанным группам полей (помещаются в конец объявления имени таблицы после последнего имени поля).
Ограничения, определяемые для данных – CHECK(условие), проверяет данные при вводе до сохранения в таблице