Chapter 10. Relational Databases

Most generally, a database is simply an organized collection of data. The data can be stored in memory, in files in one of your directories, in publicly accessible files, or in files on a computer acting as a database server. Like a web server, a database server stands between client programs and the actual data, so that applications never directly access the files storing the data.

There isn’t necessarily anything special about database files, other than the structure given to their data by the applications that access them. Spreadsheets have long been used informally for recording and manipulating data in files. Desktop office application suites generally include a database component that offers capabilities beyond those of spreadsheets. These database components allow you to access data selectively instead of having to read and write entire spreadsheet documents. They also provide mechanisms like pattern-based searching that can be used to construct desktop applications.

Database servers, in turn, are far more powerful and can hold far more data than either spreadsheets or desktop office suite database components. You may have heard of commercial database systems such as Sybase and Oracle and open source systems such as PostgreSQL and MySQL. Database servers use highly specialized file formats that support capabilities such as concurrent access by multiple users, restrictions on access to data, a variety of efficiency techniques, automatic backup, ...

Get Bioinformatics Programming Using Python 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.