Tuesday, July 3, 2012

             I am sure that most people have interacted with a Web Application at some point. Every e-commerce web site is driven from some database back-end. All the Items that are available in the catalogs are simply records in a database somewhere. When you are searching for that CD or book, the e-commerce application is querying a database and returning only the results relevant to you. Compare that to some of the older web sites that have their catalog published as static HTML – you get to browse through categories (if you are lucky) and once you find the correct category, you have to browse through every item in that category until you find the item you want. E-commerce sites also store your customer information in the same database so that the next time you log in you won’t have to fill it all in again.

               Another popular use of databases on the Web is for collaboration systems. These can be as basic as discussion forum or as advanced as a fully-fledged document management and approval system. Every time you post a message on a discussion forum, that message is being stored in a database somewhere. When you log into the forum with your username and password, the login script will check that username and password against a list of usernames and passwords in the database that is driving the forum.
               Some web sites will use a database for very basic things. Preferences for what you want to see on the web site can be stored in a database and while it is a fairly simple thing to implement, it can make a huge difference to your appreciation of the site.

               Many companies and organizations are using web-based systems for the day-to-day management of the company. Project management, cost estimate, invoicing, and billing can all be migrated into a web environment. These intranet systems run off a central database, thereby minimizing data redundancy. All of the company data is stored in one central place and cross-department reports can now be created without having to pull data from a number of different systems.

  * Dynamic, Changing Materials *

       There are also web sites that do not require the special features of a database management system, but because their content is changing on a daily or hourly basis, it makes sense to drive the site from a database. Sites like CNN that provide news are a good example of this. In order to remain current and maintain a loyal subscriber base, these sites need to keep up to date with breaking news stories. By storing the content in a database the team of web editors can quickly add content to the site without having to mess around in an HTML editors.

              An area that is seeing a lot of development is the field of Content Management Systems, or CMS. These are database-driven web sites where the client controls the maintenance of the information on the site through the use of an integrated authoring environment, multiple users authoring for the web site at the same time, versioning control, and reporting, would not be possible without using a database in the back-end.

            Database can provide invaluable features and functionality to a web site, but when would you not want to use a database? Just because we can store the content in a database, doesn't mean that we should. While reading this book you will learn what is involved in designing a database for use with use with the Web. Once you have these facts in hand you will be able to weigh up the advantages that a database will give you against the amount of work that would be required in setting up the database and the scripts to access it.
            
              Some tasks that can be implemented with a database can be achieved just as easily and with fewer overheads on your server by using an alternative. Using a database to store header and footer information for your web site is unnecessary as you could better achieve this with a server-side include.