![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
Hi all, in my opinion this newsgroup should be a place to exchange news about object database products and best practices for everyday use. Some of the discussions in the past have also brought some technical insight about internal implementations so maybe this newsgroup could also be a place for vendors to develop new ideas together. Unfortunately the level of discussions in this group has dropped down recently. Some people are only posting here to discredit object databases. I really don't understand their motivation. Maybe these people simply have not come in contact with object database usecases. Most of the recent discussions have been much too theoretical. Companies need solutions today, immediately. They can not wait for the "ideal" relational system, they need running systems right now. Maybe we can write down some cases here, where object databases work very good? [snip] |
| Thank you for listening! I would love to read some other object database usecases here. Kind regards, Carl -- Carl Rosenberger db4o - database for objects - http://www.db4o.com |
#3
| |||
| |||
|
|
Hi all, in my opinion this newsgroup should be a place to exchange news about object database products and best practices for everyday use. |
#4
| |||
| |||
|
|
In order to move our discussion to the more constructive direction, I propose to define some problem that will involve both OO programming and databases and then to discuss various ways of solving this problems by using different types of DB and DBMS. The OO programming language is not important for this discussion. I propose the following problem which is common example in books on OO: There are different geometrical objects (like points, lines, arcs, text etc.) that can be drawn. These objects are persistent and need to be stored in some intelligent way for example in database. In order to make this problem more interesting lets add some possibility to modify such objects (by the terms of some gui that will be available to user when he will press right mouse button). In addition some logical and geometrical grouping must be allowed. By logical grouping I mean something like - all objects that correspond to some element in the picture. (This is hierarchical grouping.) By geometrical grouping I mean something like - all objects in some neighborhood (defined by some distance). I think that it will be very constructive if we will discuss how this problem can be represented in different DBs and how OO application that will provide drawing and modification functionality to the user may access those DBs. PS. If somebody wants to propose something else he is invited to do this. Best regards, Michael http://www.yaooos.org |
#5
| |||
| |||
|
|
Michael, An application I worked on had a component that some geometric features... It was a geographic map of water pumps and pipes used to provide fresh water to a medium size city. We overlaid the map with rectangles which corresponded to worksheets which contained information about each pump, pipe, reservoir, 'pressure area', etc. Users could also drill down to more detailed maps. |
|
Users had views to both access and configure these maps. VisualAge Smalltalk was used for the client, GemStone/S for the server. The map and rectangles were stored as objects. Maps were stored as SiteMap instances with a ByteArray instance variable, which was a bit level representations of a GIF file. The client software would render the map image by reading the ByteArray as if it had read a real GIF file. The rectangles were stored as instances of a 'HotPoint' object, which contained upper left and lower right Point instances (much like a Rectangle class). A Point instance is little more than an X and Y value, with some convenience methods. It's trivial, for example, to create a rectangle from these two points and check to see if a third point is contained within the rectangle. The HotPoint instance also contain callback methods which were triggered by either right or left mouse clicks (for pop-up menus and drill down / open view commands). The cursor would change shape depending on which type of HotPoint the mouse was over (open vs. drill down). Each SiteMap stored its collection of HotPoints. Each HotPoint knew its SiteMap (we always used bi-directional links). When configuring a SiteMap, uses would import a GIF file and add or select a HotPoint from a list. A rectangle would be displayed over the map. They could then move or resize the rectangle and set the actions of the HotPoint. In effect each SiteMap was linked to its sub-maps by way of the HotPoints that were used to drill down to more detail. i.e. municipal site map -> region hot point - region site map -> pressure area hot point - pressure area site map -> pump hot point - pump worksheet (with pump data) This was over five years ago, and it's still in production. -- Bob Nemec Northwater Objects "Michael Groys" <michaelg (AT) alzt (DOT) tau.ac.il> wrote in message news:c0frft$tkg$1 (AT) news (DOT) iucc.ac.il... ... In order to move our discussion to the more constructive direction, I propose to define some problem that will involve both OO programming and databases and then to discuss various ways of solving this problems by using different types of DB and DBMS. The OO programming language is not important for this discussion. I propose the following problem which is common example in books on OO: There are different geometrical objects (like points, lines, arcs, text etc.) that can be drawn. These objects are persistent and need to be stored in some intelligent way for example in database. In order to make this problem more interesting lets add some possibility to modify such objects (by the terms of some gui that will be available to user when he will press right mouse button). In addition some logical and geometrical grouping must be allowed. By logical grouping I mean something like - all objects that correspond to some element in the picture. (This is hierarchical grouping.) By geometrical grouping I mean something like - all objects in some neighborhood (defined by some distance). I think that it will be very constructive if we will discuss how this problem can be represented in different DBs and how OO application that will provide drawing and modification functionality to the user may access those DBs. PS. If somebody wants to propose something else he is invited to do this. Best regards, Michael http://www.yaooos.org |
#6
| |||
| |||
|
|
Carl Rosenberger wrote: Hi all, in my opinion this newsgroup should be a place to exchange news about object database products and best practices for everyday use. In order to move our discussion to the more constructive direction, I propose to define some problem that will involve both OO programming and databases and then to discuss various ways of solving this problems by using different types of DB and DBMS. |
|
I think that it will be very constructive if we will discuss how this problem can be represented in different DBs and how OO application that will provide drawing and modification functionality to the user may access those DBs. |
|
PS. If somebody wants to propose something else he is invited to do this. |
#7
| |||
| |||
|
|
"Michael Groys" <michaelg (AT) alzt (DOT) tau.ac.il> wrote in message news:c0frft$tkg$1 (AT) news (DOT) iucc.ac.il... Carl Rosenberger wrote: Hi all, in my opinion this newsgroup should be a place to exchange news about object database products and best practices for everyday use. In order to move our discussion to the more constructive direction, I propose to define some problem that will involve both OO programming and databases and then to discuss various ways of solving this problems by using different types of DB and DBMS. One can neither demonstrate nor prove a generality by anecdote so I see no utility in the endeavour. |
|
If you want to move the discussion in a productive direction, I suggest you learn the basics of data management and exercise whatever ability you have to reason in the abstract. |
| I think that it will be very constructive if we will discuss how this problem can be represented in different DBs and how OO application that will provide drawing and modification functionality to the user may access those DBs. VAR drawing REAL RELATION { name drawing_name , layer ordinal , content RELATION{ id resource_id, item drawing_item } } Of course, that is only one proposal. I could propose an almost unlimited number of designs based on the sloppy and incomplete specifications you gave. PS. If somebody wants to propose something else he is invited to do this. See above. I won't hold my breath. |
#8
| |||
| |||
|
|
VAR drawing REAL RELATION { name drawing_name , layer ordinal , content RELATION{ id resource_id, item drawing_item } } |
#9
| |||
| |||
|
|
What we are talking about here are the realities of the current state of DBMS solutions in the market today. Since you seem to agree with FP that none of the current RDBMS offerings are true to the relational model, perhaps you would agree that some problems are better solved with other technologies, even though they may be flawed from a theoretical standpoint. |
#10
| |||
| |||
|
|
OODBMS vendors try to cheat people to use their tools for problems that are better solved with SQL DBMSs. Carl's posts are a good example. |
![]() |
| Thread Tools | |
| Display Modes | |
| |