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

41.Обновляемые представления

Команды обновления применительно к представлениям работают следующим образом: воздействуют на базовую таблицу представления. Существуют критерии для определения обновленовляемого представления представления:

1)Оно базируется только на одной таблице.

2)Должно включать первичный ключ таблицы.

3)Не должно содержать ключей, полученных агрегированием.

4)Не должно содержать DISTINCT в своем определении.

5)Не должно содержать GROUP BY и HAVING в своем определении.

6)Не должно содержать подзапросов.

7)Может быть ограничено на обновляемом представлении.

8)Не может содержать констант, строк или выражений в списке выбираемых выходных полей.

9)Для команды INSERT должно включать любые поля, которые имеют ограничения NOT NULL.

Представления, которые не отвечают выше указанным критериям, являются представлениями только для чтения. Однако, даже с обновляемыми представлениями часто бывают проблемы. Например:

CREATE VIEW Highrating

AS SELECT cnum, rating FROM Customers

WHERE rating = 300;

Выполняется следующая команда:

INSERT INTO Highrating

VALUES (2000, 200);

Обновление выполнено не будет. Эта проблема в SQL решается следующим образом: в определение представления добавляется команда:

WITH CHECK OPTION

Эта команда вводится в определения представления и она не имеет отношения к базовой таблице. Будут контролироваться все команды. При выполнении команды будут выдаваться сообщения. Аналогичная проблема возникает, если необходимо в представление включить строки, которые базируются на полях, которые не представлены в представлении:

CREATE VIEW Londonstaff

AS SELECT cnum, cname, comm

FROM Salespeople

WHERE city =’London’;

Если в такое представление попытаться вставить строчку, то она не будет видна в представлении, а будет вставлена в базовую таблицу. Чтобы решить эту проблему, необходимо всегда в представлении задавать все поля, которые есть в базовой таблице.

Получится представление, в котором будут одинаковые значения для поля city. Чтобы исключить это из выходных данных нужно:

SELECT snum, sname

FROM Londonstaff;

Опция WITH CHECK OPTION действует только на представление, в котором она указана, но не действует на представление, которое базируется на этом представлении. Например имеется:

CREATE VIEW Highrating

AS SELECT cnum, rating FROM Customers

WHERE rating = 300

WHITH CHECK OPTION;

Попытки ввести или изменить значение рейтинга, отличного от 300 будут отвергнуты, но можно попытаться создать новое представление:

CREATE VIEW Vyrating

AS SELECT *

FROM Highrating;

UPDATE Murating

SET rating = 200

WHERE cnum = 2004;

42.Концепция er-модели.

ER(Entity Relationship) – высокоуровневая концептуальная модель данных.

Была разработана в 1976 Челом с целью упрощения проектирования БД. Осн. концепции ER-модели:

-сущности; -типы связей; -атрибуты.

Тип сущности – объект или концепция, кот. имеет независимо существование. Может быть объектом с физическим или реальным существованием или объектом с концептуальным или абстрактным существованием.

Каждый тип сущности х-ся именем и списком свойств. Типы сущностей делятся на сильные и слабые. Слабые – сущности, существование кот. зависит от какого-то другого типа сущности (дочерние, подсиненные). Сильные - сущности, которые не зависят от других сущностей (родит-е, владельцы, доминантные).

В модели сущность-связь тип сущности обозначается прямоугольником, внутри которого указывается имя сущности. Если тип сущности сильный, то граница прямоугольника будет одинарной линией, если слабая – двойной контур.

Отдельные свойства сущности наз. атрибутами. Они делятся на:

-простые; -составные; -однозначные; -многозначные; -производные.

Простой – состоит из 1 ком-та с независимым существованием.

Составной – из нескольких компонентов. Например:

Address

postcode city street

Однозначный – содержит 1 значение для 1 сущности.

Многозначный – содержит несколько значений для 1 сущности (напр. номер телефона).

Производный – значение которого явл. производным от связ. с ним атрибута (AGE – возраст сотрудника DATE – дата рождения). Производный атрибут может зависеть от 1 или нескольких взаимосвязанных атрибутов различных сущностей.

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