Sei sulla pagina 1di 42

http://www.odbms.org/odmg.

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.

Awais Rashid (Principal Investigator)


AspOEv: An Aspect Oriented Evolution Framework for ODBMS
This project aims at employing an aspect-oriented approach to facilitate customisation,
extension and exchange of the schema modification, structural and behavioural
consistency strategies in an object database evolution framework.
Software | Advanced | English | LINK | 2004 | ***
K i i
S bi t
Kazimierz
Subieta
Asking SBQL queries addressing imported XML files
This project allows you to import any number of XML files to the ODRA store in the M0
store model (no classes). After the import you can ask SBQL queries and observe their
results.
Software | Advanced | English | LINK | 2006 | ***
University of Bonn
GeoWeb
provides software tools for geo-scientists to achieve a consistent non-redundunt storage
and
d efficient
ffi i t access for
f 3D-modelling
3D
d lli d
data.
t
Software | Basic | English | LINK | 2005 | ***
db4objects
ObjectManager for db4o
provides a tool to read and edit db4o object database files
files.
Software | Basic | English | LINK | 2005 | ***
Suzanne Dietrich, Dan Suceava, Chakrapani Cherukuri, Susan Urban
ObjectManager for Objectivity/DB
provides a reusable graphical user interface written in Java(Swing) for populating and
b
browsing
i an Obj
Objectivity/DB
ti it /DB object-oriented
bj t i t d d
database.
t b
Software | Basic | English | LINK | 2001 | ***
.

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

interface Date: Object {


enum Weekday
W kd {S
{Sunday,
d
M
Monday,
d
T
Tuesday,
d
W
Wednesday,
d
d
Thursday, Friday, Saturday}
enum Month {{January,
y, February,
y, March,, April,
p , May,
y, June,, July,
y,
August, September, October, November,
December}
unsigned short year();
unsigned short month();
unsigned
short day();
g
y();

boolean is_equal(in Date other_Date);


boolean is_greater(in Date other_Date);

}
.

13

interface Time: Object {

unsigned short hour();


unsigned short minute();
unsigned short second();
unsigned short millisecond();

boolean is_equal(in Time other_Time);


b l
i
t (i Ti
th Ti )
boolean
is_greater(in
Time other_Time);

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

interface Timestamp: Object {

unsigned short year();


unsigned short month();
unsigned
i
d short
h td
day();
()
unsigned short hour();
unsigned short minute();
unsigned short second();
unsigned short millisecond();

Timestamp plus(in Interval some_Interval);


Timestamp minus(in Interval some_Interval);
boolean
is_equal(in
Timestamp
other_Timestamp);
b l
i
l(i Ti
t
th Ti
t
)
boolean is_greater(in Timestamp other_Timestamp);

}
.

15

interface Interval: Object {

unsigned short day();


unsigned short hour();
unsigned
i
d short
h t minute();
i t ()
unsigned short second();
unsigned short millisecond();

Interval plus(in Interval some_Interval);


some Interval);
Interval minus(in Interval some_Interval);
Interval product(in long some_value);
Interval minus(in long some_value);
boolean
is_equal(in
b l
i
l(i IInterval
t
l other_Interval);
th I t
l)
boolean is_greater(in Interval other_Interval);

}
.

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

Potrebbero piacerti anche