Most data-driven web applications have a fixed data model and user interface. What I mean by "fixed" it that the data it needs to be captured
is known in advance. Consequently, the database's tables are created before a single line of code is written and the application's user interfaces
are dictated by this pre-determined data model. While most applications work with a fixed data model there are scenarios where the
parts of the data model need to be defined by the end user. Such applications are more difficult to create because both the data model
and user interface need to be flexible enough to allow the user to specify the information to be captured.
Imagine that you were creating a web application to be used by small law firms for managing their clientele. You would need a database table
to capture information about each client. This table would have columns for each attribute of a client, such as: FirstName,
LastName, Email, Address1, Address2, City, and so on. Regardless of what attributes you define
for this table you can be certain that there will be a law firm that needs to store additional information not already captured.
To allow for this level of flexibility you could enable each law firm to define additional client-related attributes specific to their law firm.
This article is the first in a four-part series of articles examine how to build a data model and user interface to allow for such dynamic, data-driven
websites. In this installment we look at how to capture such dynamic, end user-defined information in the database. Read on to learn more!
Read More >