Relational Databases
In Chapter 20
I talked about using the
GDBM
library (optionally with Perl’s
MLDBM
module) to maintain persistent data for a
web site. A more full-featured way to achieve that kind of back-end
data storage is to use a relational database and access the data
using SQL (for
“Structured Query Language”), a standard language for
interacting with databases. A very popular free database engine used
by many web sites for this purpose is MySQL (http://www.mysql.com/). Although some purists
argue that MySQL isn’t a “true” relational database
management system (because it lacks certain features, like the
ability to link a sequence of transactions together as a logical
unit, such that if any individual transaction fails the whole series
of transactions fails), it is fine for most web purposes. For those
requiring the features missing in MySQL,
PostgreSQL (http://www.postgresql.org/) is a competing
free database engine that has them, at the cost of a bit more
complexity and, perhaps, a bit slower performance (depending on who
does the measuring).
Having a relational database to hold your web site’s data both simplifies and complicates your life. It simplifies your life because the database engine solves many of the problems you would otherwise have to solve yourself. Various kinds of searches and updates to your data are easy to carry out using simple SQL queries. Multiple users trying to submit updates to the data at the same time are guaranteed not to mangle each others’ ...
Get Perl for Web Site Management now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.