Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
html
1.
2.
3.
4.
db4objects
db4 O
db4o
Open S
Source Obj
Objectt Database
D t b
Open source object database for Java and .NET. Free GPL download
includes an interactive tutorial to get started quickly.
Software | Basic | English | LINK | 2007
GemStone Systems
GemStone Facets 32 bit for Linux
A free 90 day evaluation copy, can be downloaded without registration.
Software | Basic | English | LINK | 2006
Intersystems
Cach Post-relational Database
A free, fully-functional, non-expiring, single-user version of Cach.
Software | Basic | English | LINK | 2006
Progress Software
ObjectStore PSE Pro for Java or C++ - Trial downloads
Develop high-performance ODBM environments in Java or C++
Free eval off PSE
Enterprise
S Pro, single process version off ObjectStore
O
S
Software | Basic | English | LINK (registration required) | 2006
5.
6.
7.
8.
Objectivity
Objectivity/DB - Trial download
A 60 day free trial download of the scalable, high performance distributed ODBMS
product for C++, Java, Python, Smalltalk or SQL/ODBC applications running on Linux or
Windows.
Software | Basic | English | LINK (registration required) | 2006
V
t
Versant
Versant's ODBMSs - Trial downloads
Versant Object Database: for complex data storage in C++ and Java.
Versant FastObjects .NET: for .NET applications with complex object models
Software | Basic | English | LINK (registration required) | 2006
EyeDB Object Oriented Database Management System
Advanced object model, object definition language based on ODMG ODL, an object query
and manipulation language based on ODMG OQL and programming interfaces for C++
and Java.
S ft
Software
| Basic
B i | English
E li h | LINK | 2006
PolePosition on SourceForge
The Open Source Database Benchmark
Open source benchmark that helps to assess performance implication of using ODBMSs,
RDBMSs and ORMs
ORMs.
Software | Basic | English | LINK | 2005 | ****
9.
10.
11.
12.
13.
ODL
.
ODMG (Objects)
(Literals).
ODMG
ODL
OQL.
OQL
()
.
y
y
:
1.
2.
3.
4. Null
Long:
Short :
unsigned long :
unsigned short :
Float :
Double :
Boolean:
Octet: Bytes
Char:
String:
enum<>:
10
.
:
Set<t>
Bag<t>
List<t>
Array<t>
t
11
.
, :
Date
Time
Timestamp
Ti
t
Interval
, tuple
. ODL
struct
struct<>
.
12
}
.
13
Time add_interval(in
add interval(in Interval some_Interval);
some Interval);
Time subtract_interval(in Interval some_Interval);
Interval subtract_time(in Time other_Time);
}
.
14
}
.
15
}
.
16
nil.
il
17
:
1. ,
. .
2
2.
.
.
.
.
3
3.
,
( ) .
4.
,
.
18
:
1.
2. -
19
Set<t>
Bag<t>
List<t>
Array<t>
t .
20
.
class.
class
y
y
21
,
.
struct
.
22
ODMG
relationship.
inverse.
.
23
y ,
, .
.
.
y
.
24
class
l
(extent __
key
y _)
_
){
attribute string ;
attribute string _;
attribute date _;
;
attribute enum (M,F) ;
attribute short ;
relationship
inverse ::_;
void _(in
(in string _)
)
raises(___);
};
25
class
(extent __
key (_, _)) {
attribute string _;
attribute string _;
attribute struct ( ,
date _)
;
attribute set<string> ;
attribute struct (string ,
time _)
;
relationship set< > _
inverse ::;
void _(in
(in string _)
)
raises(___);
void _(in string __; in date _)
};
26
,
.
.
. :.
, ODMG
.
27
EXTENDS
EXTENDS
extends.
t d
, ODMG EXTENDS
.
EXTENDS .
28
.
extent.
extent
29
ODMG
.
.
30
ODL
ODMG.
ODL
.
ODL
.
31
1--1
1--
EXTENDS
--
32
33
class
l
(extent __) {
attribute string ;
attribute string ;
relationship list<>
inverse ::_;
relationship set<> _
inverse ::_;
relationship _
inverse ::_;
boolean (in unsighed short )
raises(_)
boolean (in unsighed short )
raises(__);
};
34
class
l
(extent __) {
attribute string ;
relationship
inverse ::;
relationship _
inverse ::;
relationship _
inverse ::;
relationship set<> _
inverse ::;
};
35
class
l
{
attribute float ;
attribute float ;
attribute float ;
};
36
class
l
(extent ) {
attribute string ;
attribute short ;
attribute _;
void ();
void () raises(___);
};
37
class
l
extends
t d
(extent ) {
attribute enum (, , , );
relationship set <>
inverse ::;
void (in float );
void (in string )
raises(___);
};
38
IInterface
t f
{
struct {string , string _}
attribute string ;
attribute string _;
attribute _;
relationship set <>
inverse ::_;
boolean _(in string _, in string _)
raises (_, _, _);
void
oid __(in
(in string _)
)
raises (_, _, _);
};
39
class
l
extends
t d
: _
(extent ) {
relationship
inverse ::_;
attribute string ;
attribute string _;
attribute _
relationship set <>
inverse ::_;
};
40
class
l
:
_
(extent ) {
attribute string ;
attribute string _;
attribute _
relationship set <>
inverse ::_;
};
41