13.7
Relational Databases
Relational databases are another
area Perl programmers and
bioinformaticians need to explore. There comes a time when flat files
or DBM just won't do for managing the data of a medium- or
large-sized project, and you must turn to relational databases.
Although they take a bit more effort to set up and program, they
offer a standard and reliable way to store data and ask questions
about it. In this book, we briefly discussed relational databases and
actually used a simple DBM database. In the course of your work,
however, you're likely to encounter Oracle, MySQL, PostgreSQL,
Sybase, and others.The
Perl module DBI, which stands for
Database Independence, makes it possible to write code for
manipulating relational databases that doesn't depend (too
much) on which database you're actually using.
The fact is, writing code to handle databases isn't hard to do.
The hardest part is making sure that the database is installed with
the proper libraries, that the proper Perl modules are in place, and
that you know how to connect to the database from your program. Once
you have those things in place, using the database is generally easy.
That said, relational databases have their own lore, and there is a
substantial body of knowledge about designing and managing good
databases. Many programmers specialize in these issues, and
that's true for plenty of bioinformaticians as well, since
there are many interesting research questions related to designing
better biological databases.