|
|
1.1 root 1: .th VIEW QUEL 2/7/79
2: .sh NAME
3: view \- define a virtual relation
4: .sh SYNOPSIS
5: .bd define
6: .bd view
7: name (target-list) [
8: .bd where
9: qual ]
10: .sh DESCRIPTION
11: The syntax of the
12: .it view
13: statement is almost identical
14: to the
15: .it retrieve
16: .it into
17: statment;
18: however,
19: the data is not retrieved.
20: Instead,
21: the definition is stored.
22: When the relation
23: .it name
24: is later used,
25: the query is converted
26: to operate on the relations specified
27: in the
28: .it target-list.
29: .s1
30: All forms of retrieval on the view
31: are fully supported,
32: but only a limited set of updates
33: are supported
34: because of anomolies which can appear.
35: Almost no updates are supported
36: on views
37: which span more than one relation.
38: No updates are supported
39: that affect a domain in the qualification of the view or
40: that affect a domain
41: which does not translate into a simple attribute.
42: .s3
43: In general,
44: updates are supported
45: if and only if it can be guaranteed
46: (without looking at the actual data)
47: that the result of updating the view
48: is identical to that of updating the corresponding real relation.
49: .s1
50: The person who defines a view
51: must own all relations
52: upon which the view is based.
53: .sh EXAMPLE
54: range of e is employee
55: .br
56: range of d is dept
57: .br
58: define view empdpt (ename = e.name, e.sal, dname = d.name)
59: .br
60: where e.mgr = d.mgr
61: .sh "SEE ALSO"
62: retrieve(quel), destroy(quel)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.