What is a Back-End Program?

A back-end (sometimes called Data Warehouse) is an application that streamlines a database so that reports execute more quickly.

There are two types of database structures:

Normalized : All data is stored in separate "Master" tables. There are no redundant fields, meaning no fields in the main table are repeated in any other tables.

De-Normalized: Data in the main  "Detail" table contains a CODE to access a master table. No master table is more than one table away from the detail table.

De-Normalized databases take up more room, but reports execute more quickly over the records.

An example of a Normalixed database:

So, if you want to include the product group field in your query, your SQL statement will have to link to the Prod_Master table, and from THERE... link to the Prod_Line_Master table. That table is now TWO tables away from the detail record.

Now suppose that Product Group (All Bags consolidated, Paper Bags, Plastic Bags, etc, all identified as "Bags") is found through a field in the Prod_Line_master. To include THAT description, you'd join your orders table to the Product_Master, join Product Master to Prod_Line_Master, and then join Prod_Line_Master to Prod_Grp_Master. Now you're THREE tables away from your orders table.

If you're accessing  a million records, you'd better be prepared to wait a long time for your report.

A De-Normalized database would put ALL CODE FIELDS in the order detail record, and then link to each individual master ONLY ONCE from Order Detail. The Orders table will contain fields for Prod_num,Prod_Line_Num, and Prod_Grp_Num. Your reports will run much more quickly, and if you're doing any kind of reporting, you really HAVE TO do it this way.

Creating this type of strucure is known as Back-End Programming