Frequently Asked Questions

Why not just use an Object Database?

In some cases, an Object Database is a good choice for Smalltalk persistency. However, Object Databases in general are proprietary - it may be difficult to access your data from tools or languages other than your own Smalltalk application. Conversely, Access to Relational Databases (via SQL and ODBC) is industry standard, making your Smalltalk objects immediately available to powerful tools such as Crystal Reports and Business Objects.

Using a Relational databases also makes available sophisticated querying capabilities that can be difficult to achieve with an Object Database. ReStore makes these easily available to you via regular Smalltalk methods - See How Do I Retrieve an Object?


Can I use ReStore to interface to an existing Relational Database?

Possibly. However, using an existing Relational Database design as the basis of your Smalltalk object model may not be a good idea - if the relational design does not map well to Smalltalk objects, the resulting code can be inefficient, awkward to develop and difficult to maintain. This is why ReStore takes your Smalltalk code as the starting point, and generates the database schema from there. This results in a clear, consistent structure that is both intelligible as a relational database and maps well to a Smalltalk object model.

Having said that, ReStore is configurable in a number of ways beyond its default behaviour, and has been developed with future extensibility in this direction in mind. If you have specific requirements in this direction, please contact us.


What Databases are suitable for use with ReStore?

In general, you can use any relational database that is accessible via an ODBC driver. However, although there are various standards for SQL, most databases diverge from these to a greater or lesser extent. Fortunately ReStore has a flexible SQLDialect object - this can be configured in various ways to accommodate most databases. Out-of-the-box, ReStore comes with a 'standard' configuration, plus variants for 

  • MS Access
  • MySQL (with transactional tables)
  • PostgreSQL
  • SQL Server
  • Oracle 7.x
  • Oracle 8.x
  • Oracle 8i Lite

We are always happy to help in refining or developing a configuration for your chosen database. 


2003 Solutions Software Ltd.


Home | FAQ Index | Prev | Next