On 30 Jan 2016, at 8:13pm, Yannick Duch?ne <yannick_duchene at yahoo.fr> wrote:

> In my opinion (which some others share), OO is a bag of miscellaneous things 
> which are better tools and better understood when accosted individually. Just 
> trying to define what OO is, shows it: is this about late binding? (if it is, 
> then there sub?program references, first?class functions, or even static 
> polymorphism and signature overloading) About encapsulation? (if it is, then 
> there is already modularity and scopes) About grouping logically related 
> entities? (if it is, there is already modularity, and sometime physically 
> grouping is a bad physical design).

There are a number of problems in using a relational database for 
object-oriented purposes.  One is that to provide access to stored objects you 
need to access the database in very inefficient ways which are slow and are not 
helped by caching.  You can read about some of the problems here:

<https://en.wikipedia.org/wiki/Object-relational_impedance_mismatch>

There are databases designed from the ground up as OO databases.  Or rather as 
ways to provide persistent storage for objects.  They tend to be non-relational 
databases, optimised for efficiency in making changes to objects rather than 
searching and sorting.

You can use SQLite like this.  In fact implementing persistent object storage 
in SQLite would be a wonderful exercise for a programming class.  But it might 
result in a solution too slow to be useful for real programs.  The biggest 
pointer for this is that it hasn't been done.  There's no library to implement 
persistent object storage that everyone knows about.

Simon.

Reply via email to