db libraries: an alternative to dbms by matt stegman november 22, 2005
TRANSCRIPT
DB Libraries:An Alternative to DBMS
By Matt StegmanNovember 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”http://www.acmqueue.com/modules.php?name=Content&pa=showpage&pid=299
• “Microsoft Jet Database Engine Programmer’s Guide”
http://www.microsoft.com/technet/prodtechnol/sql/70/proddocs/msjet/jetintro.mspx
• The BDE Support Pagehttp://www.bdesupport.com/
• “Getting Started with Berkeley DB”http://www.sleepycat.com/docs/gsg/CXX/BerkeleyDB-Core-Cxx-GSG.pdfhttp://www.sleepycat.com/docs/gsg/CXX/BerkeleyDB-Core-JAVA-GSG.pdf
Q & A