This is a theoretical concept from David Meyer working on relational theory .
When you use a view in your queries, for example:
CREATE VIEW v_filtered AS SELECT * FROM mytable WHERE mycolumn = 1 SELECT * FROM v_filtered JOIN othertable ON otherid = myid
in order to fulfill your query, the database engine must be able to rewrite the query by virtual relationship (for example, your view) to one using the underlying relationship, as this is what is actually stored:
SELECT * FROM mytable JOIN othertable ON otherid = myid WHERE mycolumn = 1
This process is called query modification.
Quassnoi
source share