An important part of web design and development is choosing the right database technologies. Choosing the wrong database technology can result in poor performance, possible loss of data, or purchasing more advanced web hosting when a smaller system could be used instead.
A database is an organised collection of data for single or multiple uses. One method used for classifying databases in web design is by examing the type of content to be stored, such as full-text, numeric, image or bibliographic. Other methods used in database web design include examining database models or database architectures.
Database software organises the data in a database according to a specific database model. Today, in most database web design processes, the relational model is used. Other less used models include the hierarchial model and the network model. These two models use a more explicit representation of the data relationships.
There are many different database components used in current web design and development. The most often used relational model includes interface drivers, the SQL engine, a transaction engine, a relational engine and a storage engine.
The interface drivers are used to provide methods to prepare statements, execute statements and fetch results. Some examples include DDL, DCL, DML, ODBC and JDBC. Some vendors have language-specific proprietary interfaces. For example, MySQL and Firebird provide proprietary interface drivers for PHP and Python.
The SQL engine is a component that interprets and executes the SQL query. It has three major components – the compiler, the optimiser and the execution engine.
The transaction engine processes the sequences of operations that read or write database elements. These are grouped together for better performance.
The relational engine uses relational objects such as Table, Index and Referential integrity constraints as part of this component.
And finally, the storage engine stores and retrieves the data records. It provides a mechanism to store metadata and control information such as redo logs, undo logs and table locks.
Understanding the different database technologies is an important aspect of any web design project that will be processing any type of data. This includes the majority of websites being developed and built today.