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.
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.
) ``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.
), 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.
-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.