Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
tbd_ex.doc
Скачиваний:
2
Добавлен:
21.04.2019
Размер:
347.14 Кб
Скачать

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(условие), проверяет данные при вводе до сохранения в таблице

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]