|
|
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.