PRINCIPLES OF PROGRAMMING WITH COMPLEX OBJECTS AND COLLECTION TYPES

被引:120
作者
BUNEMAN, P
NAQVI, S
TANNEN, V
WONG, LS
机构
[1] BELLCORE, MORRISTOWN, NJ 07960 USA
[2] INST SYST SCI, SINGAPORE 0511, SINGAPORE
基金
美国国家科学基金会;
关键词
D O I
10.1016/0304-3975(95)00024-Q
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
We present a new principle for the development of database query languages that the primitive operations should be organized around types. Viewing a relational database as consisting of sets of records, this principle dictates that we should investigate separately operations for records and sets. There are two immediate advantages of this approach, which is partly inspired by basic ideas from category theory. First, it provides a language for structures in which record and set types may be freely combined: nested relations or complex objects. Second, the fundamental operations for sets are closely related to those for other ''collection types'' such as bags or lists, and this suggests how database languages may be uniformly extended to these new types. The most general operation on sets, that of structural recursion, is one in which not all programs are well-defined. In looking for limited forms of this operation that always give rise to well-defined operations, we find a number of close connections with existing database languages, notably those developed for complex objects. Moreover, even though the general paradigm of structural recursion is shown to be no more expressive than one of the existing languages for complex objects, it possesses certain properties of uniformity that make it a better candidate for an efficient, practical language. Thus rather than developing query languages by extending, for example, relational calculus, we advocate a very powerful paradigm in which a number of well-known languages are to be found as natural sublanguages.
引用
收藏
页码:3 / 48
页数:46
相关论文
共 63 条
[1]  
ABITEBOUL S, 1989, FOURTH ANNUAL SYMPOSIUM ON LOGIC IN COMPUTER SCIENCE, P71
[2]  
Abiteboul S, 1995, LECT NOTES COMPUT SC, V893, P439
[3]  
ABITEBOUL S, 1985, P INT WORKSHOP THEOR
[4]  
Aho Alfred V., 1979, 6TH P ACM S PRINC PR, P110
[5]  
BANCILHON F, 1988, P INT C VERY LARGE D, P97
[6]  
BARENDREGT HP, 1984, LAMBDA CALCULUS
[7]  
BREAZUTANNEN V, 1992, LECT NOTES COMPUT SC, V646, P140
[8]  
BREAZUTANNEN V, 1991, LECT NOTES COMPUT SC, V510, P60
[9]  
BREAZUTANNEN V, 1991, 3RD P INT WORKSH DAT, P9
[10]  
Buneman P., 1994, SIGMOD Record, V23, P87, DOI 10.1145/181550.181564