A Universal Database Definition

NoSQL::PL2SQL::DBI

NoSQL::PL2SQL::DBI is included in the NoSQL::PL2SQL package.  It provides a defined abstract interface for the data source objects used by NoSQL::PL2SQL. Implementations of NoSQL::PL2SQL::DBI need to be defined for a specific SQL-based relational databases.
As of version 1,1, NoSQL::PL2SQL is distributed with two implementations:
  • NoSQL::PL2SQL::DBI::MySQL
  • NoSQL::PL2SQL::DBI::SQLite
In NoSQL::PL2SQL, a datasource is defined a specific RDB table.  Therefore, an instantiating object contains two properties: a database handle and a table name.
NoSQL::PL2SQL is intended to be database independent.  Provided an application can acquire a database handle, there should be no need for external database operations such as defining and creating tables and indexes.  Operations required for database setup should be encapsulated in the loadschema() method.
Effectively, NoSQL::PL2SQL::DBI and its implementations consist of the following:
  • Constants that define the universal tables and their indexes
  • Instructions for building tables and indexes
  • Methods to convert method calls into SQL
NoSQL::PL2SQL uses the following SQL operations for data access:
  • SELECT
  • INSERT
  • UPDATE
  • DELETE
Each implementation needs to override NoSQL::PL2SQL::DBI internals in order to accommodate differences in database and SQL interface implementations.
NoSQL::PL2SQL::DBI documentation is written for developers who wish to write a specific NoSQL::PL2SQL::DBI implementation.  Otherwise, instructions for initializing and using data sources are included in the NoSQL::PL2SQL and NoSQL::PL2SQL::Simple instructions.
Comments Leave a comment