HOME Calendar Join / Renew PC Alamode About Us HELP Sponsors
Reviews Columns Features Theme Issues   Archives Other

Book Review of:
Web Database Applications

 

Web Database Applications cover

Mike Bianchi is the Alamo PC Web Master and instructor of our HTML class. He is also a web entrepreneur and owner of Milin Enterprises providing resources for the home based business owner. Milin Enterprises also provides web hosting services on a server that has both PHP and MySQL already installed and ready to go.

From the April, 2004 issue of PC Alamode Magazine

Does your web site need database functionality? If it is an e-commerce site, it probably does. The most common uses of database driven web sites are for presentation of an online product catalog and shopping carts. There are also numerous non-commercial uses for database applications on the web, I am currently negotiating with a client to build a database application for the presentation of the results of several years of historical research.

Two things are needed to build a database-enabled site. First, your server needs to have a database engine; several are available with their various advantages and quirks. Second, you need a scripting language that can pull information from the database and build a page from it. Again, several are available with various degrees of efficiency. Two relatively new open source applications that are quickly gaining popularity are MySQL and PHP. PHP is a scripting language with function libraries that interact with several relational database systems and the web environment, for more information, see my book review from the April 2003 PC Alamode. MySQL is a relational database management system suitable to applications requiring speed and low resource usage.

The book Web Database Applications by Hugh Williams and David Lane covers how these applications work together to create a fully functional ecommerce web site. At least that is the intention. The book demonstrates the features that are needed for an online business application by building a fictitious wine store called Hugh and Dave’s Online Wines.

Assumptions
The book starts from the assumption that you are already familiar with the following topics:

  • Relational database theory and design – check out Joe’s class
  • HTML – come to my class
  • HTTP and TCP/IP - there are hundreds of books available
  • Use of a third-generation programming language – check out
  • Carl’s C++ class

Although the book does not specify, it is also a good idea to have some experience working with SQL since MySQL does not exactly follow the ANSI / ISO standard.

Problems
The code examples contain a lot of errors. The published errata on O’Reilly’s web site prints out to 8 pages. One section of about 80 pages contains an average of one error every 4-5 pages. Definitely not up to O’Reilly’s usual standard of excellence.

One of the features of the wine store application is to browse the wine inventory by the region where the winery is located. The problem with this section comes from the fact that the authors live in Australia; the database lists only Australian wines and the regional browse works fine. If, however, you add new wines to the inventory where the region name includes unusual characters, as would be common in many of the European wine regions, the whole application falls apart and throws all kinds of strange error messages.

The shopping cart does not function as intended. The intention is that a customer can add a bottle or case of wine to the cart, the item is removed from the inventory and an order is created using a dummy customer number. If the order is not completed within 24 hours, the order is cancelled, the items are returned to the inventory and the cart is emptied. The problem is that there is no way to associate the cart with a specific customer, so that if the customer places items in the cart and then leaves the site and comes back later to complete the order it shows the cart as empty. The order may not be able to be redone because the items are not listed in the inventory, which may then erroneously show that not enough of the item is available to complete the order.

Conclusion
This is not a book for beginners. It requires experience thinking in terms of programming logic to be able to recognize why the shopping cart does not work. If you decide that you want this book, wait for the second edition or at least the next printing that corrects all the errors.


Copyright© 1996-2008
Alamo PC Organization, Inc.
San Antonio, TX USA