next up previous
Next: User Interface Components Up: CQA/CDB System User Manual Previous: Introduction

Terminology

This section describes the fundamental terminology in the CQA/CDB system. Most of the definitions are imported from relational databases. However, the focus is placed on the differences between the current system and traditional databases.

Relation: The fundamental data structure in the relational model is the relation, which is a two-dimensional table made up of rows and columns. Each row in a table consists of a collection of related data values, which represent a description of a real-world entity. In the relational model terminology, a row is also called a tuple, and a column header is called an attribute. The attributes represent specific characteristic of an entity.

In the CQA/CDB system, a tuple is a conjunction of a number of constraints [e.g., (x>10, y<20, name='pete')] containing both traditional and constraint attributes [e.g., x, y, name]. Note that the attribute 'name', is a traditional attributes; while x and y are constraint attributes representing the spatial positions. The CQA/CDB queries handle both types of attributes in a uniform format, as shown in the query demos section.

Query: Queries retrieve particular information from the database, and an example query may be ``what are the names of students who live in boston?'' A query consists of one ore more operations on target relation(s). The example query above may be evaluated by the following two operations: () ``select students who live in Boston,'' and () ``project the attribute 'name' from the results of ().'' The example query pertains to traditional databases, and the Query Demos section presents examples on the ability of the CQA/CDB system to provide uniform processing on both traditional and spatiotemporal data.

Operations: The CQA/CDB system implements a complete set of relational algebra operations, namely, Projection (), Selection (), Natural Join (), Cross Product (), Union (), Intersection (), Difference (-) and Renaming (). The operations provides the same grammar to handle the traditional and spatiotempral data. A unary operation is processed on one target relation, while a binary operation is executed on two target relations.

Attribute: An attribute in the CQA/CDB system is described by: (1) a Attribute Name, (2) a Attribute Type, and (3) a isConstrained flag. The attribute types may be devided into to groups: (1) Primitive types (including integer and varchar), and (2) complex types (combinations of the primitive types). The isConstrained status flag determines whether the attribute represents traditional or spatiotemporal data.

Relational/Constrained Attribute: The CQA/CDB system implements two types of constraints: (1) linear algebra constraints (e.g., x>3, t=2) to represent spatiotemporal objects, and (2) equality constraints over traditional attributes (e.g., 'student name = Ayferi'). The value of the isConstrained flag is set to be 'true' for a constrained attribute that is involved in linear algebra constraints, while the value is 'false' for a traditional or relational attribute.

Selection Box: Selection boxes are used in the CQA/CDB system for the creation of relations and queries. A selection box consists of buttons and pull-down lists, which may be used to choose target relations of a query or data type of an attribute.

Tree: The CQA/CDB system uses the tree structure for several GUI and system components. A tree represents an hierarchical data structure, e.g., the relation repository contains relations, which in turn contain attributes. The user may show/hide different levels of a tree by double-clicking the tree nodes.

Index: The CQA/CDB system implements a commonly used index structure, namely, the -tree to efficiently process spatiotemporal queries. A leaf node of a -tree has entries of the form [ mbb, oid], where the minimal bounding box ( mbb) defines the minimum bounding rectangle of the spatial geometry, and the object identification ( oid) allows direct access of the disk page that contains the physical representation of the object. A non-leaf node, N, in a -tree has entries of the form [ dr, nodeid], where dr denotes the directory rectangle that defines the minimal bounding box of the rectangles of its child nodes, and nodeid is the disk page address of the node N. The major difference between a -tree index and a B-tree index in traditional database remains in the fact that a B-tree is built on a single-value key (e.g., 'student name'), while a -tree organize keys (e.g., x,y,t) that have a region of values.



next up previous
Next: User Interface Components Up: CQA/CDB System User Manual Previous: Introduction



Yang Fuzheng
Tue Aug 20 18:48:50 EDT 2002