MySQL / MariaDB Books
Books by employees
OCELOT COMPUTER SERVICES INC.
Peter Gulutzan and Trudy Pelzer founded Ocelot Computer Services Inc. in 1981.
Ocelot produced the first DBMS for the MS-DOS operating system (it was
called 86-DOS in those days, that was before Microsoft bought
their operating system from SCP). We originally specialized in
libraries, we are the original producers of the Ocelot Library System,
and much of our income came indirectly from schools
and public libraries worldwide. We converted to SQL shortly
before the SQL-89 standard came out, and our older SQL-89 DBMS,
OCELOT2 - THE SQL!, was a secret component of several
packages for a variety of industries. This DBMS can still be downloaded
from elsewhere on this site, but has not been updated since 2003.
Ocelot experts wrote the standard reference text for SQL:
SQL-99 Complete, Really by Peter Gulutzan and Trudy
Pelzer, ISBN 0-87930-568-1.
Check the user reviews on amazon.com, or visit the book's
errata page, or just look at the book -- it's available
free online. Read Monty Widenius's comment about this development.
Ocelot experts also were responsible for the classic books that
denuded SQL's secrets: Optimizing SQL and its
successor SQL Performance Tuning by Peter Gulutzan
and Trudy Pelzer (ISBN 0-201-79169-2, contact your bookseller
or ask Ocelot how to get your copy).
Between 2033 and 2011, Peter and Trudy worked for MySQL AB which
became part of Sun Microsystems which became part of Oracle.
Subsequently they held positions at HP, and now they are back
with Ocelot, and Ocelot is back as a active company.
Ocelot employees have also written numerous articles for computer
magazines/online journals, another book (Optimizing C with
Assembly Code ISBN 0-87930-447-2), and have done considerable
consulting and custom-programming work, specifically for SQL projects.
We regard ourselves as experts in standard SQL and MySQL.
Available on the web, by Peter Gulutzan:
"Making programs go faster" -- assembly-language -- in Dr. Dobb's (January/1995)
"The Software Conspiracy" -- a book review -- in ercb (March/2000)
"Collations" -- how IBM DB2, Oracle and SQL Server sort -- in dbazine (May/2002)
"Transaction Logs" -- how ARIES works -- in dbazine (July/2002)
"How Logs Work On MySQL With InnoDB Tables" -- information gleaned by reading source code
-- in devarticles (August/2002)
"Standard SQL" -- how IBM DB2, Oracle and SQL Server support the SQL Standard --
and how they don't -- in dbazine (August/2002)
"Sequences and Identity Columns" -- a discussion of the support provided
for sequences or identity columns by IBM DB2, Oracle and SQL Server -- in dbazine (October/2002)
"SQL Naming Conventions" -- a survey of the common naming conventions in IBM DB2,
Oracle and SQL Server -- in dbazine (November/2002)
"Locks" -- how IBM DB2, Oracle and SQL Server use locks to control concurrent
jobs -- in dbazine (January/2003)
"SQL Views Transformed" -- how IBM DB2, Oracle and SQL Server handle views -- in
"The Character Sets of Version 4.1" -- a description of the major features
("many character sets per database / per server / per table", "many collations per character set", "Unicode")
added to MySQL's support for character sets and collations in release 4.1 -- in the MySQL
Newsletter, written with Alexander Barkov of MySQL (April/2003)
"Who Works for MySQL?" -- a description of MySQL's unique business model -- in
the MySQL Newletter (October/2003)
-- how to research MySQL internals by reading the
documentation -- in the MySQL Newsletter (November/2003)
"How to Study MySQL Internals II" -- provides information on articles and
other content that can be used to study MySQL internals -- in the MySQL Newsletter
"Stored Procedures in MySQL" -- a description of MySQL's support for
stored procedures, available with release 5.0 -- in the MySQL Newsletter (January/2004)
"Ein Join ist nicht genug SQL-Unterabfragen verwenden" -- for German speakers
interested in MySQL's subquery implementation, a copy of the article that appeared
in iX Magazin, June/2004)
"Views Work in MySQL 5.0" -- a description of MySQL 5.0's support for views -- in
Database Journal (August/2004)
"The Full-Text Stuff That We Didn't Put In The Manual" -- what's going on with full-text searching
in MySQL version 4.1.2-- in the MySQL Developer Zone (August/2004)
"MySQL Triggers Tryout" -- a description of MySQL 5.0's support for triggers -- in
O'Reilly's ONLamp.com (February/2005)
"MySQL Stored Procedures" -- a 98-page book with many exercises and examples
"MySQL 5.0 New Features: Triggers" -- a description of MySQL 5.0's support for triggers
-- in the MySQL Developer Zone (March/2005)
"MySQL's Full-Text Formulas" -- a discussion of the fulltext formulas used by
MySQL; includes a helpful program -- in Database Journal (June/2005)
Also on the web, by Peter Gulutzan and Trudy Pelzer:
"The Oracle Calendar" -- how Oracle handles dates -- in an "Oracle FAQ site" (January/2003)
"SQL Server's DATETIME Data Type" -- how Microsoft SQL Server handles dates -- in ITtoolbox (January/2003)
"DB2's DATE data type" -- how IBM DB2 handles dates -- in Searchdatabase's tip site (January/2003)
"Dates in SQL" -- the DATE data type and its impact on eight SQL DBMSs -- in InformIT (February/2003)
"So You Want an IOT" -- a discussion of index-organized tables vs heap-organized
tables -- in dbazine (March/2003)
Available on the web, by Trudy Pelzer:
"Windows 2000 Systems Programming Black Book" by Al Williams -- a book review -- in ercb i.e. Dr. Dobb's (January/2001)
"The Hundredth Window: Protecting Your Privacy and Security in the Age of the Internet"
by Charles Jennings and Lori Fena -- a book review -- in ercb (January/2001)
"Picture This: BLOBs" -- BLOB support with IBM DB2, Oracle and SQL Server -- in dbazine (April/2003)
"Timestamps" -- how the TIMESTAMP/DATETIME data types work with IBM DB2, Oracle
and SQL Server -- in dbazine (June/2003)
"XML and the Big Three" -- a quick overview of how IBM DB2, Oracle and SQL Server can
handle the transformation between XML and DBMS data -- in dbazine (July/2003)
"System Tables" -- how to retrieve metadata information with IBM DB2, Oracle
and SQL Server -- in dbazine (October/2003)
"Temporal Functionality" -- describes the new functionality for
DATE/TIME/DATETIME/TIMESTAMP values added to MySQL in version 4.1 -- in
the MySQL Developer Zone (October/2004)
"Structure Means Subqueries: Nesting SELECTs in MySQL 4.1" -- describes the
way MySQL supports subqueries -- in the MySQL Developer Zone (November/2004)
"New in 4.1: All the Little Features" -- describes a host of minor new
features added to MySQL version 4.1 that may be just what you're looking for --
in the MySQL Developer Zone, written with Jim Winstead of MySQL (November/2004)
"MySQL 5.0 New Features: Data Dictionary" -- a description of MySQL 5.0's support
for the standard SQL INFORMATION_SCHEMA -- in the MySQL Developer Zone (March/2005)
"MySQL 5.0 New Features: Views" -- a description of MySQL 5.0's support
for views -- in the MySQL Developer Zone (March/2005)
Print Media: available by asking the publisher, by Peter Gulutzan:
Comparing Characters -- for C programmers -- in Windows/DOS Developer's Journal (December/1991)
Programmer's Bookshelf -- a review of Zen of Code Optimization by Michael Abrash --
in Dr. Dobb's (January/1995)
ORG -- a tip for Intel processors -- in PC Techniques (Aug-Sept/1995)
MySQL 4.1 und Umlautsortierung: Deutsch tupeln -- for German speakers interested
in MySQL's German-specific sort order options -- in
iX Magazin (February/2004)
Ein Join ist nicht genug SQL-Unterabfragen verwenden -- for German speakers
interested in MySQL's subquery implementation -- in iX Magazin (June/2004). This article
is also available online, at
iX Magazin's web site.
Peter maintained a blog at blogs.mysql.com. The original site is gone now but the wayback machine saved the posts.
See the blog archive.
by Peter Gulutzan and Trudy Pelzer (click to see Amazon user reviews):
The latest book is SQL Performance Tuning which Addison-Wesley published
on September 20 2002. It's a discussion of internals and issues for
DB2, Informix, Ingres, InterBase, MySQL, Oracle, SQL Server, and Sybase.
Click here to see the table of contents and early reviews.
Click to see a tutorial with many pictures:
In March 2002, Peter Gulutzan and Trudy Pelzer gave a series of lectures at
Helsinki Polytechnic University under the heading
SQL Technologies 2002.
In April 2003, in his new position with MySQL AB, Peter Gulutzan spoke on
"MySQL and the SQL Standards: A Detailed Analysis and Progress Report" at the
MySQL Users Conference & Expo 2003 in San Jose, CA.
In July 2003, Peter Gulutzan spoke on "MySQL And Progress Toward The
SQL Standard(s)" at the
O'Reilly Open Source Convention (OSCON) 2003 in Portland, OR.
In April 2004, Peter Gulutzan presented his revised look at "MySQL and the
ANSI SQL Standards" at the
MySQL Users Conference & Expo 2004 in Orlando, FL. Peter also spoke on the
topic of "MySQL and Character Sets" and conducted a "MySQL New Feature
Workshop: Stored Procedures".
In June 2004, Peter Gulutzan presented his revised look at
"MySQL and Progress Toward The SQL Standard" to a new audience at
LinuxTag 2004 in
On November 1, 2004, Peter Gulutzan spoke to the
Edmonton Linux Users Group on why it's fun to work with open source
and/or the glorious next MySQL version.
In November 2004, Peter Gulutzan spoke on "MySQL and Progress Toward
The SQL Standard" and "MySQL 5.0 Stored Procedures" at
MySQL ComCon Europe 2004 in
In April 2005, Trudy Pelzer gave two presentations at the
MySQL Users Conference & Expo 2005 in Santa Clara, CA: "Enterprise MySQL: Views in MySQL 5.0"
and "Flagship Features in MySQL 5.0".
On April 26, 2005, Peter Gulutzan spoke to the
Calgary Unix Users Group on the latest features of MySQL and MySQL's attempt
to be more ANSI SQL-compliant.
In August 2005, Trudy Pelzer spoke on "Flagship Features in MySQL 5.0" at the
O'Reilly Open Source Convention (OSCON) 2005 in Portland, OR.
Copyright (c) 2002-2013 by Ocelot Computer Services Inc. All rights reserved.
Return to Ocelot home page
Send enquiries or suggestions to