Hello

Sommai Fongnamthip wrote:
> 
> How to compare Metabase to ODBC or ADODB?

Several aspects:

- Metabase provides true portability to database applications so you do
not have to adapt your program scripts to make it work with different
databases. This is particularly true regarding data type handling. For
instance, if you application deals with dates, with Metabase it will
only see dates formatted according to the ISO format (YYYY-MM-DD)
regardless how they are represented by the underlying database.

-Metabase was specifically thought for the Web where you may have many
simultaneous users for your application scripts and also because HTTP is
stateless protocol those scripts may not be able to keep contextual
database access states like client side cursors between each access to
the same script.

To help solving the database access concurrency challenges, Metabase
provides a way to generate unique identifier sequence values that let
simultaneous requests update tables that need unique values to use as
primary keys. Since not all databases support native sequence support,
but most of them support auto-incremented fields, Metabase uses separate
tables with such kind of fields to emulate sequences for the databases
that need it.

To help solving the problems of not being able to keep client side
cursors between consecutive accesses that are usually used to display
select query results in browseable pages, Metabase provides a way that
lets you request for a range of rows of a given result set so you can
display that range of results in each page depending on how the user is
willing to navigate through the results. This is similar to using MySQL
LIMIT clause, but it also works with all other supported databases.

- Finally, Metabase provides you an easy way to install or update your
database schemas in a database independent manner. You can just define
your schema tables, fields, indexes and sequences in a custom XML file
and then tell the Metabase manager class to install it.

The real neat part is that when you want to update your schema, you just
need to make the intended changes in your XML schema file and it will
install them for you, ie, making the necessary alterations in a safe way
(it checks first to see if all requested changes can be applied) doing
it without affecting data that was added to the database after it was
installed for the first time or changed for the last time.

As you may see, Metabase is really powerful. You may not need to use all
its power, so don't be afraid to experience just what you need from it.
Metabase reference manual is really long (200K+) but that is just
because Metabase is very complete. To get started quickly, just take a
look first at Metabase tutorial document.

Regards,
Manuel Lemos


> 
> SF
> 
> At 06:20 24/12/2001 -0200, Manuel Lemos wrote:
> >Hello,
> >
> >If you are reading this and do not know what is Metabase, be aware that
> >it is PHP database abstraction package for developing truely portable
> >database independent functions. Metabase development will complete 3
> >years next week. This is a lot of time in the software development
> >world. More information available in the usual place:
> >http://phpclasses.UpperDesign.com/browse.html/package/20
> >
> >Despite my baby son is monopolizing almost all my free time (I am not
> >complaining:-) ) I finally made time to clean up Metabase API and
> >document a OOP API that is alternative to the Metabase* global functions
> >API, so that now you can use Metabase functions using direct calls to
> >driver class objects.
> >
> >This API has always been available but it was never documented because
> >to enable it, I needed to use a syntax that would break under PHP 3.
> >Finally I realized that I could use eval() to work around that problem
> >and Metabase provides this OOP direct to driver function API preserving
> >backwards compatibility to not affect the applications of those that for
> >some reason still need to use PHP 3. I know that some people that use
> >Metabase still have to use PHP 3 and I simpathize with their
> >constraints.
> >
> >Anyway, finally OOP fans should have no more excuses for not adopting
> >Metabase as their PHP database abstraction of choice.
> >
> >If you thought that typing MetabaseQuery($database,"Select * from zbr");
> >would make an hell of difference when compared to $db->Query("Select *
> >from zbr"); you should please now with Metabase with this symbolic
> >Christmas gift.
> >
> >Also the performance fanatics should have one less excuse for not using
> >Metabase for some so claimed significant overhead that Metabase global
> >functions add to driver function calls.
> >
> >Soon I will also be adding functions for fetching row data in bulk
> >contributed by Lukas Smith that is giving up his own database
> >abstraction package for Metabase, contributing to make the best that PHP
> >community deserve.
> >
> >More innovating developments will follow. Enjoy. :-)
> >
> >Merry X-mas,
> >Manuel Lemos
> >
> >--
> >PHP Database Mailing List (http://www.php.net/)
> >To unsubscribe, e-mail: [EMAIL PROTECTED]
> >For additional commands, e-mail: [EMAIL PROTECTED]
> >To contact the list administrators, e-mail: [EMAIL PROTECTED]

-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to