Software Requirements  «Prev  Next»
Lesson 9

Database Solutions Conclusion

When working in Web site development, you should be knowledgeable about all the components of the process. Whether your interest is on the technical, business, or creative side, you should have some familiarity with what your options are for software purchase and deployment.
You should now be able to:
  1. List the functions of databases
  2. Describe the four basic database models
  3. Explain the characteristics and protocols of back-end Web databases
  4. Explain the importance of data modeling techniques
  5. Describe the functions of security software
  6. Explain the types and benefits of bundled solutions, giving common examples
In the next module, you will be looking at software planning from the perspective of the different Web models.

Dynamic Access to Databases

Requisite technologies have converged sufficiently to allow dynamic access to databases using Web browsers. The Web has provided a global infrastructure, a set of standards, and a presentation format, while database technology has contributed storage techniques, query languages, efficient access to large bodies of highly structured data, and mechanisms for maintaining the integrity and consistency of data .
Prior to theWeb, Internet access to databases was hampered by low bandwidth, the lack of a standardized interface, and platform dependencies. The emergence of the Web helped fix the interface and platform problems, and high-speed connections are helping to fix the bandwidth problem. Yet another problem to be solved was how to access databases dynamically, avoiding the problem of having to convert database data manually to text suitable for transmission using the hypertext transfer protocol (HTTP). This problem has been solved through the use of programs and scripts that convert relational data to hypertext markup language (HTML) for transmission over the Web.

Database Design and Theory

Database Supporting Roles

Not every database application is directed toward public outreach and public access, although the public side often works in conjunction with the private side. This section briefly discusses types of databases and the support they provide to organizations.
Reference databases support retrieval of literature citations, abstracts, and hard data from vast databases. Most are made available on a subscription basis. They are seldom used for transaction processing but can be useful as part of the informational services of an organization. They are of vital interest to libraries, information agencies, and information research units within organizations, and they make up an important component in corporate knowledge-management operations, digital libraries, and data mining.
Back-office databases are part of an internal information system supporting the functioning of the organization. Some portions of the databases may be made available to Internet users, but they are less often used in transaction processing. Typically, back-office applications use small or medium capability database management systems such as Access (Microsoft) and MySQL (MySQL AB).
Front-office databases support organizational functions that reach out to customers, constituents, or clients. They support customer or public information, selling and buying transactions, data warehousing, business intelligence, customer service, banking, securities, and a host of commercial and noncommercial applications. Typical front-office databases include DB2 (IBM), Oracle (Oracle), SQL Server (Microsoft), Informix (IBM), and Sybase (Sybase).

When creating database-driven web applications, you will need to do some of the following tasks:
  1. Tabular output: Listing query results in an easily readable format is one of the most commonplace tasks you will deal with when building database-driven applications. Understand how to programmatically create these listings.
  2. Sorting tabular output: Often, query results are ordered in a default fashion, by product name, for example. But what if the user would like to reorder the results using some other criteria, such as price? Provide table-sorting mechanisms that let the user search on any column.
  3. Subqueries: Even simple data-driven applications often require queries to work with multiple tables, typically using joins.
    Many of these operations can also be accomplished with the arguably much more intuitive subquery.
  4. Cursors: Operating in a fashion similar to an array pointer, a cursor (a feature new to MySQL 5.0) gives you the ability to swiftly navigate database result sets. Use cursors to streamline your code.
  5. Paged results: Database tables can consist of thousands, even millions, of records. When large result sets are retrieved, it often makes sense to separate these results across several pages and provide the user with a mechanism to navigate back and forth between these pages.