DB Libraries: An Alternative to DBMS By Matt Stegman November 22, 2005
Database Choices DBMS –Oracle, MySQL, MS SQL Server, PostgreSQL DB Libraries –BDE, dbExpress, MS Jet, Berkeley
What’s the Difference? Entry point –DBMS works on client-server paradigm –App libraries work directly in your program Platform support –DBMS doesn’t care who the client is, so long as they speak the same language –App libraries must be supported on your platform Locking must be handled in application
Usage Considerations End-user installation –Will users need to setup and maintain a DBMS along with the application? Speed and scalability –DBMS designed for tons and tons of data, dynamic queries –Libraries often designed for smaller data sets, static queries Reusable code
Borland Database Engine Interface layer, supports simple databases or connection to DBMS Supports SQL queries BDE must be installed separately from the application Has a global system configuration Deprecated in favor of dbExpress, a more abstract interface layer
MS Jet Relational DB with SQL Available with Microsoft Visual Studio, Visual Basic for Applications Uses Data Access Objects (DAO) or ActiveX Data Objects (ADO) Feature set is comparable to DBMS
Berkeley DB No SQL! A database is a set of records, each record has a key and data How to store multiple fields? Use objects. Programmer must consider index method: BTree, hash, or list Wide platform support: C/C++, Java, Perl, PHP, Python, etc. on Windows, Linux, UNIX, Mac.
References “Beyond Relational Databases” “Microsoft Jet Database Engine Programmer’s Guide” The BDE Support Page “Getting Started with Berkeley DB”
Q & A