A database is a collection of data that can be searched in a systematic way to maintain and retrieve information. A database offers you many advantages, including:
Centralized and shared data — You enter and store all your data in the computer. This minimizes the use of paper, files, folders, as well as the likelihood of losing or misplacing them. Once the data is in the computer, many users can access it through a computer network, regardless od the users' physical or geographical locations.
Current data — Since users can quickly update data, the data available is current and ready to use.
Speed and productivity — You can search, sort, retrieve, make changes, and print your data, as well as tally up the totals more quickly than performing these tasks by hand.
Accuracy and consistency — You can design your database to validate data entry, thus ensuring that it is consistent and valid. For example, if a user enters "OD" instead of "OH" for Ohio, your database can display an error message. It can also ensure that the user is unable to delete a customer record that has an outstanding order.
Analysis — Databases can store, track, and process large volumes of data from diverse sources. You can use the data collected from varied sources to track the performance of an area of business for analysis, or to reveal business trends. For example, a clothes retailer can track faulty suppliers, customers' credit ratings, and returns of defective clothing, and an auto manufacturer can track assembly line operation costs, product reliability, and worker productivity.
Security — You can protect your database by establishing a list of authorized user identifications and passwords. The security ensures that the user can perform only permitted operations. For example, you might allow users to read data in your database but they are not allowed to update or delete the data.
Crash recovery — System failures are inevitable. With a database, data integrity is assured in the event of a failure. The database management system uses a transaction log to ensure that your data will be properly recovered when you restart after a crash.
Transactions — The transaction concept provides a generalized error recovery mechanism that protects against the consequences of unexpected errors. Transactions ensure that a group of related database changes always occur as a unit; either all the changes are made or none of the changes are made. This allows you to restore the previous state of the database should an error occur after you began making changes, or if you simply decided not to complete the change.
To satisfy the definition of a transaction, a database management system must adhere to the following four properties:
Atomicity — The transaction is either completed or entirely undone. There can be no partial transaction.
Consistency — The transaction must transform the database from one consistent state to another.
Isolation — Each transaction must execute independent of any other transaction.
Durability — Completed transactions are permanent.
Using the first letter of each of the four properties, satisfying these properties defines your database transactions as ACID compliant.
Now that the benefits of a database system have been discussed, the elements of relational databases follows.