90 likes | 246 Views
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
E N D
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” 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 Page http://www.bdesupport.com/ • “Getting Started with Berkeley DB” http://www.sleepycat.com/docs/gsg/CXX/BerkeleyDB-Core-Cxx-GSG.pdf http://www.sleepycat.com/docs/gsg/CXX/BerkeleyDB-Core-JAVA-GSG.pdf