Database Management System
The software which is used to manage databases is called Database Management System (DBMS). For Example, MySQL, Oracle, etc. are popular commercial DBMS used in different applications. DBMS allows users the following tasks:
- Data Definition: It helps in the creation, modification, and removal of definitions that define the organization of data in the database.
- Data Updation: It helps in the insertion, modification, and deletion of the actual data in the database.
- Data Retrieval: It helps in the retrieval of data from the database which can be used by applications for various purposes.
- User Administration: It helps in registering and monitoring users, enforcing data security, monitoring performance, maintaining data integrity, dealing with concurrency control, and recovering information corrupted by unexpected failure.
Paradigm Shift from File System to DBMS
File System manages data using files on a hard disk. Users are allowed to create, delete, and update the files according to their requirements. Let us consider the example of file-based University Management System. Data of students is available to their respective Departments, Academics Section, Result Section, Accounts Section, Hostel Office, etc. Some of the data is common for all sections like Roll No, Name, Father Name, Address, and Phone number of students but some data is available to a particular section only like Hostel allotment number which is a part of the hostel office. Let us discuss the issues with this system:
- Redundancy of data: Data is said to be redundant if the same data is copied at many places. If a student wants to change their Phone number, he or she has to get it updated in various sections. Similarly, old records must be deleted from all sections representing that student.
- Inconsistency of Data: Data is said to be inconsistent if multiple copies of the same data do not match each other. If the Phone number is different in Accounts Section and Academics Section, it will be inconsistent. Inconsistency may be because of typing errors or not updating all copies of the same data.
- Difficult Data Access: A user should know the exact location of the file to access data, so the process is very cumbersome and tedious. If the user wants to search the student hostel allotment number of a student from 10000 unsorted students’ records, how difficult it can be.
- Unauthorized Access: File Systems may lead to unauthorized access to data. If a student gets access to a file having his marks, he can change it in an unauthorized way.
- No Concurrent Access: The access of the same data by multiple users at the same time is known as concurrency. The file system does not allow concurrency as data can be accessed by only one user at a time.
- No Backup and Recovery: The file system does not incorporate any backup and recovery of data if a file is lost or corrupted.
ADVANTAGES OR DISADVANTAGES:
Advantages of using a DBMS:
- Data organization: A DBMS allows for the organization and storage of data in a structured manner, making it easy to retrieve and query the data as needed.
- Data integrity: A DBMS provides mechanisms for enforcing data integrity constraints, such as constraints on the values of data and access controls that restrict who can access the data.
- Concurrent access: A DBMS provides mechanisms for controlling concurrent access to the database, to ensure that multiple users can access the data without conflicting with each other.
- Data security: A DBMS provides tools for managing the security of the data, such as controlling access to the data and encrypting sensitive data.
- Backup and recovery: A DBMS provides mechanisms for backing up and recovering the data in the event of a system failure.
- Data sharing: A DBMS allows multiple users to access and share the same data, which can be useful in a collaborative work environment.
Disadvantages of using a DBMS:
- Complexity: DBMS can be complex to set up and maintain, requiring specialized knowledge and skills.
- Performance overhead: The use of a DBMS can add overhead to the performance of an application, especially in cases where high levels of concurrency are required.
- Scalability: The use of a DBMS can limit the scalability of an application, since it requires the use of locking and other synchronization mechanisms to ensure data consistency.
- Cost: The cost of purchasing, maintaining and upgrading a DBMS can be high, especially for large or complex systems.
- Limited use cases: Not all use cases are suitable for a DBMS, some solutions don’t need high reliability, consistency or security and may be better served by other types of data storage.
No comments:
Post a Comment