The database is now such an integral part of our day-to-day life that often we are not aware we are using one. A database is a shared collection of logically related data designed to meet the information needs of an organization. The database is a single, large repository of data, which is defined once and used simultaneously by many users.
Also Read: 22 Best Practices For Firewall Management
All data is integrated with a minimum amount of duplication. The database is a shared corporate resource. Critically, the database consists of tables containing records.
For example, a XYZ college database would have a Student table with a record for each student enrolled.
Advantages of Databases
1. Control of data redundancy
Older traditional systems can waste space by storing the same information in more than one file (data redundancy). For example, storing the same contact details for students in both the Computing and Administration Departments.
In contrast, the database approach attempts to eliminate the redundancy by integrating the files so that several copies of the same data are not stored.
However, the database approach does not eliminate redundancy entirely, but controls the amount of redundancy inherent in the database.
2. Data consistency
By eliminating or controlling redundancy, we are reducing the risk of inconsistencies occurring. If a data item is stored only once in the database, any update to its value has to be performed only once and the new value is immediately available to all users.
If a data item is stored more than once and the system is aware of this, the system can ensure that all copies of the item are kept consistent. Unfortunately, many of today’s DBMSs do not automatically ensure this type of consistency.
3. Sharing of data
Typically, files are owned by the people or departments that use them. On the other hand, the database belongs to the entire organization and can be shared by all authorised users. In this way, more users share more of the data.
4. Improved data integrity
Database integrity refers to the validity and consistency of stored data. Integrity is usually expressed in terms of constraints, which are consistency rules that the database is not permitted to violate. Constraints may apply to data items within a single record or they may apply to relationships between records.
For example, an integrity constraint could state that an student cannot be doing more than six modules in any semester or that the course number contained in the student’s record, representing the course the student is enrolled on, corresponds to an existing course offered. Again, integration allows the DBA to define, and the DBMS to enforce, integrity constraints.
5. Improved security
Database security is the protection of the database from unauthorized users. Without suitable security measures, data may be vulnerable. However, integration allows the DBA to define, and the DBMS to enforce, database security. This may take the form of user names and passwords to identify people authorised to use the database.
The access that an authorised user is allowed on the data may be restricted by the operation type (retrieval, insert, update, delete).
For example, the DBA has access to all the data in the database; a head of department may have access to all data that relates to his or her department office; and a lecturer may have access to all data relating to academic properties of students but no access to sensitive data, such as contact and grant details.
6. Economy of scale
Combining all of an organization’s operational data into one database with the applications that are required can result in cost savings. In the case of a college, the budget that would normally be allocated to each department for the development and maintenance of their database systems can be combined, possibly resulting in a lower total cost, leading to an economy of scale.
The combined budget can be used to buy a system configuration that is more suited to the organization’s needs. This may consist of one large, powerful computer or a network of smaller computers.
7. Increased productivity
The DBMS provides many of the standard functions that the application programmer would normally have to write in a file-based applications. At a basic level, the DBMS provides all the low-level file handling routines that are typical in application programs.
The provision of these functions allows the programmer to concentrate more on the specific functionality required by the users without having to worry about low-level implementation details. This results in increased programmer productivity and reduced development time (with associated cost savings).
8. Improved backup and recovery services
In a database environment, the database records are normally backed up (copied) on a regular basis. A tape or disk is used to keep the backup secure. As transactions are performed, any updates are recorded in a log of changes.
If the system fails, the tape and the log are used to bring the database to the state it was in before the failure. The system is therefore self recovering.
Disadvantages of Databases
The provision of the functionality we expect of a good DBMS makes the DBMS an extremely complex piece of software. Database designers and developers, the data and database administrators and end-users must understand this functionality to take full advantage of it.
The complexity and breadth of functionality makes the DBMS an extremely large piece of software, occupying many megabytes of disk space and requiring substantial amounts of memory to run efficiently.
3. Cost of DBMS
The cost of DBMSs varies significantly, depending on the environment and functionality provided. For example, a single-user DBMS (e.g. Microsoft Access) for a personal computer may only cost $500-%600.
However, a large mainframe multi-user DBMS servicing hundreds of users can be extremely expensive, perhaps $100,000 to $500,000. Plus, there is also the recurrent annual maintenance cost.
4. Additional hardware costs
The disk storage requirements for the DBMS and the database may necessitate the purchase of additional storage space. Furthermore, to achieve the required performance, it may be necessary to purchase a larger machine with a fast processor and more memory, perhaps even a machine dedicated to running the DBMS.
The procurement of additional hardware results in further expenditure.
5. Cost of conversion
In some situations, the cost of the DBMS and extra hardware may be insignificant compared with the cost of converting existing applications to run on/with the new DBMS and hardware. Coupled with this is the cost of having to transfer (or convert) data from the old system to the new one.
Another cost includes the cost of training staff to use these new systems, and possibly the employment of specialist staff to help with the conversion and running of the system. These costs are one of the main reasons why some organisations feel tied to their current legacy systems and cannot switch to newer database technology.
Typically, a file-based system is written for a specific application, such as invoicing.
As a result, performance is generally very good. However, the DBMS is written to be more general, to cater for many applications rather than just one. The effect is that some applications may not run as fast any more.
7. Higher impact of a failure
The centralization of resources increases the vulnerability of the system. Since all users and applications rely on the availability of the DBMS, the failure of any component can bring operations to a halt.