Что подразумевается под «модификацией запроса» как подходом к реализации представлений? - PullRequest
7 голосов
/ 12 января 2011

Просто делаю некоторую ревизию, и один из вопросов таков:

"Объясните, что означает" изменение запроса "как подход к реализации представлений."

Теперь я не совсем уверен, как на это ответить ... Я знаю, что это за представления, как их создавать и почему они используются и т. Д., Но что именно этот вопрос хочет знать?

1 Ответ

8 голосов
/ 12 января 2011

Это теоретическая концепция из работ Дэвида Мейера по теории отношений .

Когда вы используете представление в своих запросах, например:

CREATE VIEW v_filtered
AS
SELECT  *
FROM    mytable
WHERE   mycolumn = 1

SELECT  *
FROM    v_filtered
JOIN    othertable
ON      otherid = myid

, чтобы выполнить ваш запрос, ядро ​​базы данных должно быть способно переписать запрос через виртуальные отношения (как, например, ваш взгляд) на запрос, использующий базовые отношения , поскольку на самом деле хранится:

SELECT  *
FROM    mytable
JOIN    othertable
ON      otherid = myid
WHERE   mycolumn = 1

Этот процесс называется модификацией запроса.

...