Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие.doc
Скачиваний:
57
Добавлен:
14.05.2015
Размер:
1.51 Mб
Скачать

3. Редактирование представлений. Отображение зави­симостей представлений. Создание представлений и пред­ставлений

Для редактирования существующего представления можно использовать только SQL Server Enterprise Manager, а с помощью Query Analyzer можно только создать новое представление.

При редактировании представления можно изменить строки или столбцы, на которые оно ссылается (добавить стол­бец, изменить критерий отбора).

Для редактирования представления в Enterprise Man­ager необходимо:

1) выбрать БД и в ней папку Views;

2) из контекстного меню для выбранного представления выбрать Design SQL Server View (или открыть двойным щелчком это представление);

3) выполнить все изменения в определении представления;

4) кнопка Save.

Если в инструкцию CREATE VIEW добавлено предложе­ние WITH ENCRYPTION, то просмотр определения представ­ления невозможен, его нельзя просмотреть и в Enterprise Man­ager.

С помощью системной процедуры sp_depends отобра­жают таблицы или представления, на основе которых создано рассматриваемое представление. Отобразить зависимость представления можно также в En­terprise Manager:

  • выбрать необходимое представление в списке,

  • выбрать из конкретного меню Task/Display Depend­encies.

Можно определить представление, которое ссылается на одно или несколько представлений, комбинацию представлений и таблиц. Удобнее, однако, создавать представления не из других представлений, а прямо из таблиц.

4. Переименование столбцов представлений. Переиме­нование представлений. Удаление представлений

В представлениях можно переименовывать столбцы базо­вых таблиц, например:

1) CREATE VIEW view1(Фамилия, Имя)

AS

SELECT au_lname, au_fname

FROM Authors

2) SELECT* FROM view1

Для переименования самих представлений используют системную хранимую процедуру sp_rename:

sp_rename старое_имя, новое_имя

Переименование представления в Enterprise Manager:

- выбрать представление в списке,

- из контекстного меню выбрать Rename, ввести новое имя.

Удаление представлений:

DROP VIEW имя_предст1, имя_предст2,…

или в Enterprise Manager команда Delete контекстного меню для выбранного представления.

5. Изменение данных посредством представлений. Об­новление данных с помощьюSqlServerEnterpriseManager

Представление разрешается обновлять в том случае, если СУБД может для каждой строки представления найти исходную строку в исходной таблице, а для каждого обновляемого столбца представления – исходный столбец в исходной таблице. Если представление соответствует этим требованиям, то над ним и над исходной таблицей можно выполнять имеющие смысл операции вставки, обновления и удаления(не должно быть DISTINCT, вы­ражений,UNION, GROUP BY, HAVING).

Представление можно использовать для добавления строк в таблицы, для которых оно определено. На­пример:

1)создадим представление:

CREATE VIEW dbo.number1

AS

SELECT *

FROM Authors

WHERE (zip Like ‘194 %’)

2) вставим новую строку:

INSERT INTO number1

VALUES (‘7777-77-777’,’Тихомиров’,’Юрий’,’777-77-77’, ’Индустриальный пр.1,кв.1’,’Красногвардейский’,’194000’)

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

Если добавить в команду CREATE VIEW опцию WITH CHECK OPTION, то добавить можно лишь запись, соответст­вующую условиям WHERE(иначе последнее значение в строке может быть, например, 195000, и строку можно будет вставить)

С помощью представлений можно уда­лять строки, например,

DELETE FROM number1

WHERE au lname=’Тихомиров’

AND au_fname=’Юрий’

Эта команда удалит строку, которую мы добавили ранее.

Инструкция UPDATE позволяет по­средством представления изменить один или несколько столбцов или строк в таблице, указанной в определении представления. Например:

1) CREATE VIEW number2

AS

SELECT au_lname, phone

FROM Authors

WHERE (zip Like ‘194%’)

2) UPDATE number2

SET phone=’596-8275’

WHERE au_lname=’Быстров’

3) Для просмотра результата:

SELECT *

FROM number2

WHERE au_lname=’Быстров’

Обновление данных с помощью Enterprise Manager:

- выбрать представление в списке;

- из контекстного меню выбрать Open Table/Return All Rows;

- выбрать ячейку, данные которой следует изменить и вне­сти изменения. Можно удалить строки из представления.