An Extensible Database System
What is Secondo
Secondo is an extensible database system supporting
especially non-standard applications. Designed at the FernUniversität in Hagen,
Secondo is a platform for implementing and experimenting
with various kinds of data models.
Secondo can be used by groups at universities to pursue
and prototype their research ideas for database systems. It can be used in teaching
to show students in detail the architecture and implementation of database systems.
Additionally, Secondo may be interesting for users in need
of a database system able to handle non-standard data types usually not supported
by standard systems.
The Secondo system is extensible by algebra modules, using
a well defined interface. New data models and data structures together with their operations
are integrated into the system in this way. The source code is available and enables the
user to access and modify every part of the database system. Secondo
comes with a carefully written user manual, programmer's guide and installation instructions.
Objects of an arbitrary type defined in one of the
algebra modules can be stored in a database.
The following list shows some of the available
provides simple types like integer, real, bool and
string and operations on those types.
contains data types and operations to realize a
classical relational database system.
represents geometrical objects such as points,
lines and regions together with spatial operations.
represents moving objects in databases, e.g.
peoples or vehicles and allows one to formulate
queries about their movements.
Using these algebras, one can determine the names
and addresses of all Italian restaurants in Berlin, which
have a distance smaller than 2 km to the Brandenburg
Gate. Then, the result is presented graphically.
select [r:name, r:strasse, r:geoData]
from [restaurants as r, sehenswuerdpoi as s]
where [ s:name="Brandenburger Tor",
distance(r:geoData, s:geodata) < 2000]