A computer system's database software acts as an efficient, secure repository for an organization's data. The end user of a database typically never sees the software or its files, and may be unaware of how the system works. Because she uses the application software that interacts with the database, however, the system programmer must build the setup to fit her needs. The programmer discusses the system's goals with the user and translates them into a working configuration.
An engineer turns on her computer and retrieves a list of parts for a piece of machinery. She does not see the database that stores the parts list, but she sees its screens and printouts. To design the parts list system, a programmer sits with the engineer and finds out what kinds of information she needs, then creates the database, screens and reports from the user's specifications. Over time, the programmer may revise the system in response to user requests for new or reconfigured features.
End users may require that a software system follow specific rules that represent the norms or enforce the prohibitions of a business, industry or set of laws. For example, a parts system should block items that contain lead from implementation in products designed for household use, or abide by a rule requiring that the weight of a machine should never exceed 200 pounds. The programmer sets up database rules that automatically enforce these restrictions.
Users frequently maintain records in small spreadsheet files, tracking projects, creating charts and performing other daily tasks. A database programmer can set up an application that allows for customized export from the system, which the end users can open in a spreadsheet program. In this situation, a database system process combs through the data and writes select records into a spreadsheet format. To move data in the opposite direction, the programmer sets up data-import routines that feed the database from user-generated files.
Some types of database management software process data automatically on a schedule. This type of time-sensitive process can help a manager who needs a daily report that summarizes the previous day's work. Running overnight, a scheduled routine can generate this information. Other scheduled database processes can create reports or export files for the week, month or quarter. Once users describe and quantify their recurring data needs, the programmer can set up the necessary processes.
Database security must reflect users' organizational roles. Database application configurations provide the flexibility to assure that information reaches only those people with the need and the right to see it. For example, an engineer receives full access to her parts database but can't read records from the payroll database. Conversely, a human resources user may gain full access to payroll data but lack the privileges necessary to reach the parts database.