Warning: Use of undefined constant ddsg_language - assumed 'ddsg_language' (this will throw an Error in a future version of PHP) in /home/secrieru/www/george/wp-content/plugins/sitemap-generator/sitemap-generator.php on line 44

Warning: Declaration of Bootstrap_Walker_Nav_Menu::start_lvl(&$output, $depth) should be compatible with Walker_Nav_Menu::start_lvl(&$output, $depth = 0, $args = Array) in /home/secrieru/www/george/wp-content/themes/stanleywp/functions/function-extras.php on line 61
Introduction | George Secrieru

Introduction

To begin this blog’s activities, I chose to perform two series of posts related to operations on databases.

The first one aims to evaluate, among other things, the usability of three Database abstraction Layer (for now on DBAL) tools:

  • Doctrine 2.0.0BETA4
  • ADOdb 5.11
  • Zend_Db (ZF 1.10)

All tests will run through PDO_MYSQL driver and on a very simple data model:

-- Customer
CREATE TABLE customer (
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    first_name VARCHAR( 20 ) NOT NULL ,
    last_name VARCHAR( 20 ) NOT NULL
)
ENGINE = InnoDB;

The second and last one refers to the use of Object-relational mappers (for now on ORM). This time, the chosen tools were:

  • Doctrine 1.2.3
  • Propel 1.5.2
  • Zend_Db (ZF 1.10)

For this series of tests, will be added one more table to the data model:

-- Product
CREATE TABLE product (
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    name VARCHAR( 20 ) NOT NULL ,
    price DECIMAL( 5.2 ) NOT NULL
)
ENGINE = InnoDB;

Both DBAL and ORM candidate tools were chosen based only in my curiosity to compare their features and in the fact that these are, as far as I know, the most complete solutions to perform each one of these activities. However, I will be very glad to receive other indications for future testing purposes.

I hope this series of articles can add any amount of knowledge to the most experienced, as well as introduce to beginners some robust and very useful tools for application development.

3 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *