Using a database is a more sophisticated way to store, retrieve, display and analyse data than using a spreadsheet. Database software has many potential applications for electoral purposes. For example, databases can be used for election results, party and candidate regulation, inventory control, polling place management, staffing and finance.
Before the inclusion of powerful database programs in office automation software suites in the 1990s and 2000s, database programming tended to be the exclusive domain of professional computer programmers. However, the creation of more user-friendly database programs has given the lay person the ability to develop relatively complex databases without professional information technology qualifications. Election management bodies (EMBs) now have the ability to develop databases in-house.
Data in a database is stored in tables. Each table consists of one or more records and each record may consist of one or more fields. Each field usually relates to a particular type of data. For example, a table named "Staff" may contain a record for each staff member. For each record, there may be fields for first name, last name, address, employment number, position held and so on.
Data stored in tables can be analysed, manipulated, updated, deleted, displayed and printed by applying computer instructions to the data. These instructions are usually applied by use of queries. A query is a set of computer instructions that directs the database program to perform one or more tasks. For example, a query could ask the "Staff" table to find all employees named Smith and display them alphabetically by first name.
Database forms display data on-screen in a more user-friendly and graphic format than spreadsheets and enable users to easily view and manipulate data.
Databases can also produce printed or electronic reports using data contained in its tables or data generated by its queries.
There are five main types of databases:
Flat databases are similar to spreadsheets, with records included in simple lists. The flexibility of flat databases is limited, and they are only suitable for relatively straight forward tasks, such as mail merges.
Hierarchical databases have a treelike structure, with each level of records branching off into a set of smaller categories. This type of database is also relatively limited because sets of records only contain a single link between different levels, restricting flexibility.
Network databases contain multiple links between sets of data, allowing for greater flexibility.
Relational databases go further than network databases in allowing relations between various sets of data to be used to create complex queries. For example, the "Staff" table could be linked to a "Position" table that provides a full description of the position occupied by each staff member, and the "Position" table could be linked to a "Payroll" table that lists the salary of each staff member.
Object-oriented databases have similar attributes to relational databases, however more complex data structures called "objects" are used. Object-oriented databases are the most flexible and adaptable type of database. Most modern databases are relational or object-oriented, or a combination of both.
Database programs supplied with modern office automation software are powerful and allow relatively unskilled EMB staff to easily produce simple databases. Skilled users can develop sophisticated products. For example, an electoral authority could use database programs to:
- enter, store and use electoral roll data
- automate various parts of the election process, such as issuing and receiving postal votes
- capture and analyse election results data
- store and manipulate employee records
- automate large scale personalised mailings to clients and staff
- record candidate details and facilitate the printing of ballot papers and the reporting of election donations and spending