|
Программирование >> Реализация баз данных
Удаление представлений Представление можно удалить, если оно больше не нужно или требуется отменить определение тавления нные с ним права доступа. Удаление представлений не влияет на базовые таблицы и их данные. Но если вместо удаленного не создать другое представление с тем же именем, то исполнение любого запроса, использующего зависимые от удаленного представления объекты, закончится неудачей. Однако если в новом представлении нет ссылок на объекты, необходимые любым зависимым от представления объектам, то при запросов, использующих такие зависимые объекты, все равно возникнет ошибка. Предположим твует представление увлекающее все столбцы из таблицы Authors базы данных Pubs. Его удаляют нют новым представлением MyView, которое извлекает все столбцы из таблицы Titles. Теперь исполнение любой хранимой процедуры, на столбцы базовой таблицы Authors из представления MyView, закончится неудачей, поскольку эти заменены столбцами таблицы Titles. UNION ALL SELECT * FROM Server2.CoiiipanyDataba:5e.T8ble0wner.Custofner3 66 UNION ALL SELECT * FROM r.-it:r,i-. П:-! .hr-r Tab eOwner. CustOfnerS 99 3. Повторите эти действия на серверах Server2 и Модификация представлений Можно изменить имя представления или модифицировать ег ление. не прибегая к удалению и повторному созданию представления (что влечет за собой потерю связанных с представлением прав доступа). При переименовании представления следует учитывать * представление, которое следует переименовать, должно располагаться в текущей базе данных; * новое имя должно правилам для идентификаторов; * только владелец имеет право представления; аделец БД может изменять имя представления, принадлежащего любому пользователю. Изменение представления ынае: влияния на зависимые ш:1ч? объекты: (например, на хранимые или триггеры), если только при изменении определения представления зависимый объект не сгамонигся недействительным. Можно модифицировать представление, изменив средствами Enterprise Manager или оператора ALTER VIEW запрос SELECT, определяющий представление, как показано ниже: ALTER VIEW --.ustOTierOrders AS - , SELECT 0.OrderlD, o.OrderDate, c.CompanyNaine, c.ContactName FROM Orders о JOIN Customers с ON ii-+nm=rTD = c, Ci:RtornprTD Этот оператор изменяет список выбора, включая в него дату заказа. Оператор ALTER VIEW заменяет запрос SEEECT, определенный в оригинальном операторе CREATE VIEW. Кроме того, при модификации представления можно зашифровать его определение или гарантировать соответствие всех операторов, данные представле- ния, критерию оператора SELECT, представление. Удаляют представление средствами Enterprise Manager или оператора Transact-SQL DROP VIEW: DROP VIEW CustoinerOrders Упражнение. Создание и модификация представления этом упражнении вы воспользуетесь оператором CREATE VIEW для создания представления в БД BookShopDB, затем модифицируете созданное представление с помощью оператора ALTE EW и удалите представление из БД оператором DRO .\V. Чтобы выполнить это упражнение, необходимо зарегистрироваться в качестве администратора на компьютере под управлением Windows 2000. ► Создание представления BookAuthorView в БД BookShopDB 1. Откройте Query Analyzer и подключитесь к локальному серверу. 2. На панели Editor в окне Query введите и исполните следующий код Transact-SQL: USE BookShopDB CREATE VIEW BookAuthorView AS SELECT a. FirstName, a.LastName, b,Title FROM Authors a JOIN BookAuthors ba ON a.AuthorlD ba.AuthorlD JOIN Books b ON ba.TitlelD = b.TitlelD Этот оператор создает в БД BookShopDB представление BookAuthorView. Оператор CREATE VIEW содержит запрос SELECT который соединяет таблицу Authors с Book-Authors, а таблицу BookAuthors - с таблицей Books, В результирующий набор этого запроса войдут имена и фамилии авторов, а также написанные ими книги. 3. Исполните оператор Transact-SQL. На вкладке Messages панели Results выводится сообщение об успешном завершении команды. 4. Если окно Object Browser закрыто, откройте его. 5. В дереве объектов в окне Object Browser найдите созданное вами новое представление. Обратите внимание, что узел содержит вложенные узлы (Columns и Indexes). 6. Раскройте узел Columns. Обратите внимание, что в этот узел входят три описанные в запросе SELECT из определения CREATE VIEW. ► Модификация представления BookAuthorView из BookShopDB I. На панели Editor в окне Query введите и исполните с..1сдуЮ1[1Ий код Transact-SQL; USE BookShopDB ALTER VIEW BookAuthorView AS SELECT a. FirstName. a.LastName, b.TitlelD, 0.Title FROM Authors a JOIN BookAuthors ba ON a.AuthorlD = ba.AuthorlD JOIN Books b ON bd. I iLielU = b.TitlelD Совет Можно скопировать и вставить ко процедуры, а затем отредактировать ето, добавив оператор ALTER VIEW и определение столбца TitlelD. Этот оператор добавляет атору SELECT TitlelD. Теперь в результирующем наборе появится дополнительный столбец. 2. Исполните оператор Transact-SQL. На вкладке Messages панели Results выводится сообщение об успешном завершении команды. 3. В дереве объектов в окне Object Browser найдите представление BookAuthorView и раскройте узел Columns. Обратите внимание на столбец TitlelD, добавленный к списку столбцов. 4. Закройте Query Analyzer. ► Удаление представления BookAuthorView из BookShopDB 1. На панели Editor в окне Query введите и исполните следующий код Transact-SQL: USE BookShopDB GO DROP VIEW BookAuthorView Этот оператор удаляет представление BookAuthorView из БД BookShopDB. 1. Исполните оператор Transact-SQL. На вкладке Messages панели Results выводится сообщение об успешном завершении команды. 3. В дереве объектов в окне Object Browser найдите узел Views для БД BookShopDB. Обратите внимание, что представ.1сние BookAuthorView больще не показано. Если представление все еще находится в списке дерева объектов, нужно обновить данные на чтобы списки стали актуальными. Резюме Представления создаются также, как и многие другие объекты БД. Представления разре-щается модифицировать и удалять, i : создании представлений необходимо придерживаться определенных ограничений. Создают представления в Enterprise Manager или оператором языка Transact-SQL VIEW. Помимо стандартных, можно создавать индексированные представления. Если на представлении создан кластерный индекс, то при исполнении результирующий набор представления сохраняется в БД подобно таблице с кластерным индексом. После создания уникального кластерного индекса допустимо создавать дополнительные некластерные индексы. В дополнение к индексированным представлениям можно создавать секционированные представления. Они соединяют горизонтальные данных из набора таблиц-участников, распределенных между одним или несколькими серверами, представляя их в виде единой таблицы. Можно менять имя представления и модифицировать его определение, не прибегая к удалению и повторному созданию, что привело к потере связанных с представлением прав доступа. удалить ненужное или его определение и связанные с ним права доступа. Удаление тавлен,(я не влияет на базовые таблицы и их данные.
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |