-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
132 lines (116 loc) · 4.99 KB
/
Copy pathindex.html
File metadata and controls
132 lines (116 loc) · 4.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
---
layout: default
title: SECONDO - An Extensible Database System
description: Secondo is an extensible, open-source database system for moving objects and other non-standard applications.
hide_logo: true
---
<div style="text-align:center;">
<img alt="FernUni Hagen" src="/images/feulogo.gif" width="363" height="78">
<br>
<img alt="SECONDO" width="598" height="107" src="/images/logo.gif">
</div>
<h1> An Extensible Database System </h1>
<section class="section">
<h2> What is <span class="secondo">Secondo</span> </h2>
<div class="short">
<span class="secondo">Secondo</span> is an extensible database system supporting
especially non-standard applications. Designed at the FernUniversität in Hagen,
<span class="secondo">Secondo</span> is a platform for implementing and experimenting
with various kinds of data models.
<p>
<span class="secondo">Secondo</span> is one of the first database system prototypes that
can handle moving objects, that is, continuously changing time-dependent geometries. More
precisely, complete histories of movement can be represented in a database and queried.
</p>
<span class="secondo">Secondo</span> 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, <span class="secondo">Secondo</span> may be interesting for users in need
of a database system able to handle non-standard data types usually not supported
by standard systems.
</div>
<div style="margin:24px 0 0 1cm; max-width:20cm; display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:12px;">
<a class="btn" href="content_getting_started.html">Get Started →</a>
<a class="btn btn-outline" href="https://github.com/secondo-database/secondo" target="_blank" rel="noopener noreferrer">View on GitHub</a>
</div>
</section>
<section class="section">
<h2> Functionality </h2>
<div class="short">
Objects of an arbitrary type defined in one of the
<span class="secondo">Secondo</span> algebra modules can be stored in a database.
The following list shows some of the available
algebras:
<ul class="algebra">
<li> <span class="algebraname">Standard-Algebra</span>
provides simple types like integer, real, bool and
string and operations on those types.
</li>
<li> <span class="algebraname">Relational-Algebra</span>
contains data types and operations to realize a
classical relational database system.
</li>
<li> <span class="algebraname">Spatial-Algebra</span>
represents geometrical objects such as points,
lines and regions together with spatial operations.
</li>
<li> <span class="algebraname">Temporal-Algebra</span>
represents moving objects in databases, e.g.
people or vehicles and allows one to formulate
queries about their movements.
</li>
</ul>
</div>
</section>
<section class="section">
<h2> Architecture </h2>
<div class="short">
<p>
The <span class="secondo">Secondo</span> 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.
</p>
<div style="text-align:center; margin:20px 0;">
<a href="images/sec_architecture.svg" target="_blank">
<img src="images/sec_architecture.svg" alt="Architecture" width="90%">
</a>
</div>
<p>
The user interface allows users to interact with the system through queries and commands. A RESTful API is also provided for programmatic
access to the system and used by the SECONDO web interface. The architecture is designed to be modular and
extensible, allowing for easy integration of new features and data models.
</p>
</div>
</section>
<section class="section">
<h2> Query Example </h2>
<div class="short">
<p>
Using these algebras, one can determine the names
and addresses of all Italian restaurants in Berlin
within 2 km of the Brandenburg Gate. Then, the result
is presented graphically.
</p>
<pre>
select [r:name, r:strasse, r:geoData]
from [restaurants as r, sehenswuerdpoi as s]
where [ s:name="Brandenburger Tor",
r:art="Italienisch",
distance(r:geoData, s:geodata) < 2000]
</pre>
<div style="text-align:center; margin:16px 0;">
<a href="/images/screen_restaurant.jpg" target="_blank">
<img src="/images/screen_restaurant.jpg" width="640" height="495" alt="Secondo GUI showing Italian restaurants near the Brandenburg Gate plotted on a map of Berlin">
</a>
<div style="font-size:0.8rem; color:gray; margin-top:4px;">Map data © <a href="https://www.openstreetmap.org/copyright" target="_blank" rel="noopener noreferrer">OpenStreetMap</a> contributors</div>
</div>
<p>
Ready to run queries like this yourself? Follow the
<a href="content_getting_started.html">Getting Started</a> guide.
</p>
</div>
</section>
<div class="footnote">
Last Changed: 2026-08-23
</div>