|
Программирование >> Построение запросов sql
Если представление не используется другими объектами БД, то его можно удалить запросом DROP VIEW, который имеет следующий формат: DROP VIEW представление;. Если требуется заново создать представление со старым именем, то используется запрос RECREATE VIEW. Синтаксис этого запроса такой же, как и запроса CREATE VIEW. Если представление не существует перед использованием запроса, то его использование эквивалентно использованию CREATE VIEW. Если представление уже существует, то запрос RECREATE VIEW пытается удалить его и создать полностью новый объект (не будет выполнено, если представление используется другим объектом). Например, создадим заново горизонтальное представление Failure Req так, чтобы оно содержало только погашенные заявки по неисправности с кодом, равным 1, с помощью следующего запроса: RECREATE VIEW Failure Req AS SELECT * FROM Request WHERE FailureCD = 1 AND Executed = 1;. Результат выполнения следующего запроса: SELECT * FROM Failure Req; представлен на рис. 4.10.
Рис. 4.10. Результат выполнения запроса к представлению FailureReq Преимуществами использования представлений являются следующие: - обеспечение логической независимости. Одна из основных задач, которую позволяют решать представления, - обеспечение логической независимости прикладных программ от изменений в структуре базы данных. При изменении структуры изменяются запросы в определениях соответствующих представлений. При этом никаких изменений в программы, работающие с такими представлениями, вносить не нужно; - прикладной взгляд на данные. Представления дают возможность различным пользователям по-разному видеть одни и те же данные. Это особенно ценно при работе различных категорий пользователей с единой интегрированной базой данных. Пользователям предоставляются только интересующие их данные в наиболее удобной для них форме или формате; - защита данных. Представления предоставляют дополнительный уровень защиты данных в таблицах. От определенных пользователей могут быть скрыты некоторые данные, невидимые через предложенное им представление; - скрытие сложности данных. Пользователь работает с представлением как с обычной таблицей, обращаясь к нему по имени, хотя на самом деле представление может представлять собой сложный запрос. Таким образом, представление предоставляет множество преимуществ, однако имеются и недостатки [25]. Представление - это виртуальная таблица, и, следовательно, при каждом обращении к представлению происходит обработка запроса, затем возврат результата. Выполнение сложных вычислений или наличие множества соединений может приводить к снижению скорости работы. 4.6. Комментарии к объектам базы данных Для сохранения в БД пояснений, относящихся к объектам БД, используются комментарии на объект базы данных. Для создания такого комментария используется запрос COMMENT ON, который имеет следующий формат: COMMENT ON {DATABASE IS { текст NULL} <базовый объект> имя объекта IS { текст NULL} COLUMN {базовая таблица представление}. столбец IS { текст NULL} PARAMETER имя процедуры.имя параметра IS { текст NULL} }, <базовый объект>:: = {DOMAIN TABLE VIEW PROCEDURE TRIGGER EXCEPTION GENERATOR SEQUENCE INDEX ROLE}; текст - пояснения к объекту БД. Указание пустой строки в качестве текста эквивалентно использованию NULL. В результате действия запроса COMMENT ON в системном каталоге появится комментарий к описанию объекта БД. Комментарий на саму БД хранится в поле RDB$DESCRIPTION системной таблицы RDB$DATABASE. Например, можно добавить комментарий к учебной БД с помощью следующего запроса: COMMENT ON DATABASE IS Учебная база данных Абонент;. Следующий запрос добавляет комментарий к домену PKField: COMMENT ON DOMAIN PKField IS Домен предназначен для определения первичных ключей таблиц;. Этот комментарий хранится в поле RDB$DESCRIPTION системной таблицы RDB$FIELDS. Точно так же можно создать комментарии и для других объектов БД и просмотреть их, извлекая нужное поле из системной таблицы с помощью запроса SELECT или открывая необходимую системную таблицу в IBExpert и закладку Данные в ней. Так же, открыв эту закладку, можно изменить созданный комментарий непосредственно в RDB$DESCRIPTION (при щелчке в области данных этого поля) в выпадающем поле для ввода. Для подтверждения изменений следует нажать ОК и v. Контрольные вопросы 1. В каких режимах возможно создание базы данных? 2. Какие SQL-запросы образуют ядро языка определения данных в Firebird? 3. Как выполнить создание таблицы средствами языка SQL? 4. Каким образом может быть задан тип данных столбца при создании таблицы? 5. Какие виды ограничений могут быть заданы при создании таблицы? Чем они отличаются друг от друга? 6. В каких случаях нельзя удалить базовую таблицу из БД? 7. Какие изменения в базовой таблице могут быть сделаны с помощью запроса ALTER TABLE? 8. Что такое индексы? В каких случаях их использование может дать положительный эффект, а в каких индексация не рекомендуется? 9. Как выполнить создание индекса средствами языка SQL? 10. Каким образом создаются временные таблицы в БД? Чем они отличаются от постоянных базовых таблиц? 11. Как создать представление? Какие существуют виды представлений в зависимости от вида используемого запроса? В чем состоят преимущества использования представлений? 12. Как создать комментарий на объект БД? 5. Язык манипулирования данными В предыдущей главе были изучены возможности SQL по определению структур таблиц и представлений БД. В этой главе рассматривается, каким образом осуществляется манипулирование данными в БД. Изменение данных в БД выполняется с помощью запросов языка DML (Языка Манипулирования Данными). В SQL СУБД Firebird существуют следующие запросы на изменение данных: - INSERT (вставка данных); - UPDATE (обновление существующих данных); - UPDATE OR INSERT (обновление или вставка данных); - MERGE (обновление или вставка данных таблицы на основе строк, отобранных из другой таблицы); - DELETE (удаление данных). При внесении изменений в данные объектов БД следует учитывать правила ссылочной целостности. Эти правила влияют на изменение (или запрещают изменения) первичных и внешних ключей связанных объектов. Использование вышеуказанных запросов по отношению к базовым таблицам является предметом данной главы. Также в этой главе приводится описание правил манипулирования данными обновляемых представлений.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |