русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Представления


Дата добавления: 2015-07-09; просмотров: 458; Нарушение авторских прав


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

-- создаем первую таблицуcreate table dicevents(id integer,s varchar(45), constraint pk_dicevents primary key(id)); -- вставка данныхinsert into dicevents values(1,'пожар');insert into dicevents values(2,'авария');insert into dicevents values(3,'взрыв газа'); -- создаем вторую таблицуcreate table evt(id integer,d date,summ double precision,evtname integer, constraint pk_evt primary key(id),constraint fk_evt foreign key(evtname) references dicevents(id)); -- вставка данныхinsert into evt values(1,date '2008-01-02',102000,1);insert into evt values(2,date '2007-12-31',67000,3);insert into evt values(3,date '2008-01-05',32020.3,2);insert into evt values(4,date '2008-01-06',99000,null);

Для создания представлений используется команда CREATE VIEW. По желанию в команду можно включить OR REPLACE. В этом случае новое представление заменит старое, если оно существует. Ниже приведены примеры создания представления на соединение наших таблиц.

CREATE OR REPLACE VIEW evtlstAS -- далее следует запросselect t.d as "дата", dt.s as "событие", t.summ as "ущерб"from evt t left join dicevents dt on (t.evtname=dt.id)order by t.d; -- названия столбцов можно задать после-- имени представления-- в MySQL двойные кавычки возможны-- только в режиме ANSI SQLCREATE OR REPLACE VIEW evtlst("дата","событие","ущерб")asselect t.d, dt.s, t.summfrom evt t left join dicevents dt on (t.evtname=dt.id)order by t.d;

Выборка из представления не отличается от выборки из обычной таблицы.



-- выборка из представленияselect * from evtlist;

Для уничтожения представления используется команда DROP VIEW. Некоторые СУБД поддерживают расширенный синтаксис с IF EXISTS, позволяющий избежать ошибки, если уничтожаемого представления не существует.

-- уничтожение представленияDROP VIEW eventlist; -- уничтожение представления, если оно-- существуетDROP VIEW IF EXISTS eventlist;


<== предыдущая лекция | следующая лекция ==>
Столбцы с автоинкрементом | Условный оператор


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.84 сек.