Студопедия

Главная страница Случайная лекция


Мы поможем в написании ваших работ!

Порталы:

БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика



Мы поможем в написании ваших работ!




Неоднозначность при обновлении представления

Читайте также:
  1. Билет 7. Характеристика восприятия и представления как психических процессов.
  2. ВОПРОС 3. Биологическое окисление. Основные положения теорий теории А.М. Баха и В.И. Палладина. Современные представления о биологическом окислении.
  3. Вопрос о пределах допустимости представления к зачету требования, по которому истекла давность, в источниках не ставится.
  4. Вопрос № 2: «Общие представления о психологии, как науке: история развития, методологические основы»
  5. Квантово – механическая модель атома водорода. Исходные представления квантовой механики
  6. КВАНТОВОХИМИЧЕСКИЕ ПРЕДСТАВЛЕНИЯ О КООРДИНАЦИОННЫХ СОЕДИНЕНИЯХ
  7. Лекция 2 ПРЕДСТАВЛЕНИЯ ДРЕВНИХ ФИЛОСОФОВ О ДУШЕ. ПСИХОЛОГИЯ СОЗНАНИЯ
  8. Лекция 2. Представления о возникновении Вселенной, галактик и
  9. ЛЕКЦИЯ 2. ТЕХНИЧЕСКИЕ СРЕДСТВА СБОРА, ПОДГОТОВКИ И ПРЕДСТАВЛЕНИЯ ИНФОРМАЦИИ. ИСТОЧНИКИ ИНФОРМАЦИИ. НОСИТЕЛИ ИНФОРМАЦИИ.
  10. ЛЕКЦИЯ 3. ТЕХНИЧЕСКИЕ СРЕДСТВА СБОРА, ПОДГОТОВКИ И ПРЕДСТАВЛЕНИЯ ИНФОРМАЦИИ. КОДИРОВАНИЕ, ПРЕДСТАВЛЕНИЕ И ОРГАНИЗАЦИЯ ДАННЫХ.

Пример

Создать представление, в котором будут собраны пары городов, в которых проживают поставщики и производят деталь, у которой категория больше 10.

 

CREATE VIEW CSP(S.город,P.город)

AS SELECT DISTINCT S.город, P.город

FROM S, P

WHERE категория>10

 

Тула Москва   Орел Москва
Тула Тула   Орел Тула
Тула Рязань   Орел Рязань

 

Если сделать UPDATE, то могут возникнуть неоднозначности. Т.к. одному картежу представления может существовать несколько пар картежей базовых таблиц S и P, на которых на которых определено это представление.

Если мы захотим скорректировать представление, то неопределенно где изменить данные в S или P, т.к. картежу Тула Москва соответствует три пары картежей, т.к. мы используем DISTINCT, то создается не обновляемое представление

UPDATEBLE – обновляемое.

 

Стандартом ANSI определяется набор требований к представлениям, которые обеспечивают его обновляемость:

1. представление базируется на одной таблице

2. в представление не входят атрибуты, определяется с помощью функции агрегирования

3. отсутствует параметр DISTINCT

4. отсутствует GROUP BU и HAVING

5. отсутствует подзапросы в определенном представлении

6. представление может быть определено на базе другого представления, если оно является обновляемым

7. представление должно включать в себя атрибут, являющийся первичным ключом базовой таблицы.

 

 

Пример

По таблице SP определить представление, в котором для каждого из поставщиков определено количество поставок.

 

CREATE VIEW POST(код. пост., код. пост.)

AS SELECT код. пост, COUNT(*)

FROM SP

GROUP BY код. пост.

 

Не обновляемо, т.к. есть COUNT и GROUP BY, и нет первичного ключа.

 

CREATE VIEW MSK

AS SELECT *

FROM S

WHERE город = ‘Москва’

 

Обновляемо, т.к. все условия выполнены.

 

Пример

Создать представление, в которое входит информация о поставщиках, среди поставок объемом 200, причем категория не входит.

 

CREATE VIEW PST

AS SELECT код. пост., имя, город

WHERE код. пост. IN

(SELECT код. пост.

FROM SP

WHERE кол=200)

 

Не обновляемое, т.к. содержит запрос.

 

Пример

Выбрать поставщиков с категорией равной 30.

 

CREATE VIEW SNK

AS SELECT *

FROM S

WHERE катег=30

 

В это представление попадут не все картежи, следовательно это представление можно обновлять.

 

Добавим в него картеж с помощью INSERT

 

INSERT INTO SNK

VALUES (‘S6’,’Орлов’,20,’Тула’)

 

Через представление мы видим атрибут с категорией 30. Этот картеж попадает в базовую таблицу, а в представление его не будет.

 

Для избежания такой ситуации имеется параметр WITH CHECK OPTION



<== предыдущая страница | следующая страница ==>
Представления VIEW | WITH CHECK OPTION

Дата добавления: 2014-08-04; просмотров: 319; Нарушение авторских прав




Мы поможем в написании ваших работ!
lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.003 сек.