1. Views can be defined using other views. E.g.,
create view sfu-customer as
‖cname(∑banme="SFU"(all customer))
where all customer itself is a view.
2. Dependency relationship of views:
- A view v1 is said to depend directly on v2 if v2 is used in the expression defining v1.
- A view v1 is said to depend on v2 if and only if there is a path in the dependency graph from v2 to v1.
- A view relation v is said to be recursive it depends on itself.
3. View expansion: a way to define the meaning of views in terms of other views.
repeat
Find any view relation vi in e1
Replace any view relation vi by the expression defining vi
until no more view relations are present in e1
As long as the view definition are not recursive, this loop will terminate.
