Application Programming Interfaces and Add-On Tools - MySQL
In this article, Vikram gives us a sneak-peek under the hood of MySQL to see what makes it tick, all the while explaining the various MySQL subsystems and how they interact with each other. This excerpt comes from Chapter two of MySQL: The Complete Reference (McGraw-Hill/Osborne, ISBN 0-07-222477-0, 2004).
For application developers, MySQL provides a client library that is written in the C programming language and a set of APIs that provide an understandable set of rules by which host languages can connect to MySQL and send commands. Using an API protects client programs from any underlying changes in MySQL that could affect connectivity.
Many APIs are available, one or more for almost every programming language. Most of them use the C client library, with the exception of the Java driver, which is written in 100 percent native Java. Currently, MySQL APIs are available for Perl, PHP, C and C++, Java, Visual Basic, Python, Ruby, and .NET.
Add-On Tools The list of software programs that work in tandem with MySQL is growing. Here’s a brief list of the better ones:
MySQL CC, available from http://www.mysql.com/products/mysqlcc/index.html, is an excellent front-end query and database management tool for MySQL. Currently Windows, UNIX, and Linux versions are available, and a version of Mac OS X may be available by the time you read this.
DBTools Manager Professional, available from http://www.dbtools.com.br, is a graphical client used to manage MySQL databases, tables, and indices; import data from other RDBMS; and provide a point-and-click interface to query and report design.
For web-based MySQL management, you should try phpMyAdmin, available from http://www.phpmyadmin.org.
Summary To help you make the best decisions concerning the installation of the MySQL database sever, database and table design, and eventual optimization efforts, it is of paramount importance that you have a clear understanding of the underlying architecture governing the behavior of tables, rows, indexes, and databases. This knowledge is the basis from which database administrators make their tuning decisions, and from which application designers optimize their code.
In this chapter, we’ve sought to give you a basic understanding of all the elements of MySQL, both from the standpoint of the database administrator/developer and for those who may eventually create their own libraries or even add to MySQL’s source code. The rest of this book will address these concepts in far greater detail.
Remember: this is chapter two of MySQL: The Complete Reference, by Vikram Vaswani (McGraw-Hill/Osborne, ISBN 0-07-222477-0, 2004). Vikram is the founder of Melonfire, and has had numerous articles featured on Dev Shed. Buy this book now.