Characteristics of Database Management System (DBMS)
{tocify} $title= {Table of Contents}
In this article, we explain some of the major characteristics of DBMS found these days.
Database Management System, often called DBMS, is the combination of computer programs in a software package primarily designed for the creation, maintenance, and use of databases by following proper security standards. The Data Base Management System also acts as an intermediate between the end user and the Database. It also establishes an environment for multiuser to create, access, and manipulate the data in the Database and the end-user or third-party software. With DBMS, users can create, access, or manipulate data in the database.
In this article, we will discuss the introduction of the Database Management System and will mainly focus on its characteristics. However, they are not limited to these characteristics discussed in this article. Depending on the architecture and future upgrades, there may be many more characteristics of a database management system. Also, we will cover the Characteristics of the Database Management System in detail. Let’s discuss it one by one.
Introduction
There are different characteristics of the database approach from the much older approach of programming with files. In a traditional file processing system, each user defines and implements its own modifications to the files needed for a selected software application as a part of programming the appliance. In the database approach, one repository maintains data which is defined once then accessed by various users in that database. In a file system, it will be independently like an application that is free to name elements. In comparison, during a database, the names or labels of knowledge are defined once and used repeatedly by queries, transactions, and applications.
Characteristics of Database Management System
Before DBMS, files were stored using the traditional file system. DBMS was a completely new concept at that time. However, DBMS has gone through many updates and additions to overcome all the problems or shortcomings of the traditional file system.
We can characterize a DBMS as an “attribute management system” where attributes are small chunks of information that describe something. For example, ‘color’ is an attribute may be a color such as “red”, “blue“, “silver”, etc. Lately databases have been modified to accept large or unstructured information such as images and text documents.
Modern DBMS are comparatively very advanced than file-based systems. Key features of modern DBMS typically include a real-world entity, self-explaining nature, atomicity of operation, slow redundancy, concurrent access, data consistency, security & integrity, support for SQL, ACID properties, and transaction support, security, etc. Traditionally data was organized in file formats. DBMS was all new concepts then and all the research was done to make it to overcome all the deficiencies in traditional style of data management.
Modern DBMS has the following characteristics:
- Real World Entity
Modern DBMS are more realistic and uses real world entities to design its architecture. It uses the behavior and attributes too. They are specifically designed for the needs of any business or organization, allowing them to efficiently manage and maintain large amounts of data. Modern DBMS also makes of use behavior and attributes. For example, a school database may use student as entity and their age as their attribute.
- Self-Describing Nature:
Before DBMS, the traditional file system was the only option for storing data. However, it lacked a self-describing nature. A general-purpose DBMS software package is not written for a selected database application. Therefore, it must ask the catalog to understand the structure of the files during a specific database, like the sort and format of knowledge it will access.
In DBMS, the data is stored along with the metadata. The database system contains not only the database itself but also a complete definition or description and structure of database. This structure is stored in a catalog with type, storage format and constraints. The information stored in database is called metadata. Since metadata is maintained automatically in the DBMS, the DBMS reflects a self-describing nature. Metadata refers to a piece of additional information about the actual data, such as file name, format, file creation date, last modification date, etc.
The DBMS software must work equally well with any number of database applications, For example, a university database, a banking database, or a corporation database as long as because the database definition is stored within the catalog. The system catalog is used not only by users but also by the DBMS software, which certainly needs to "know" how the data is structured/organized in order to interpret it in a manner consistent with that structure. In traditional file processing, data definition is usually a part of the files. File processing software can access only specific databases, Database Management software can access various databases by extracting the database definitions or schemas from the catalog and using these definitions. In the STUDENTS database ROLL_NO acts as the primary key, hence the information that “ROLL_NO is the primary key of STUDENTS” is the metadata of the STUDENTS database.
Figure 1: An example of a database catalog for the database |
- Atomicity of Operations (Transactions)
1) Atomicity means that either the operation should not be performed or it should be performed in its entirety i.e. it must be either 0% or 100% completed.
2) DBMS provides us with atomic operations (i.e. any operation which is either complete 100% or not complete at all). This is very useful and important. You can understand the importance of atomic operations with the help of the example given below.
3) For instance: Every bank has its own database with data of transactions and balance all other other useful information of their customers. Let us take the case of a transaction as it is one of the most commonly seen atomic operation. Here, a person Aditi transfers 500 Rupees to Rahul by any of the money transfer facilities available nowadays.
4) Now, let us say that there was some problem with Rahul’s bank servers. If databases were not atomic, 500 Rupees would have been debited from Aditi’s account but not credited to Rahul because of the problems with his bank server. This would have been such a mess. Who would be responsible for the lost 500 Rupees as Aditi is innocent and fair in his transaction?
5) Since the databases are atomic, the transaction in the above example would not have occurred at all and the money would not have been debited from Aditi’s account as well. This is the importance of atomicity.
6) Basically, in case of a successful transaction, the transaction is committed to the database. This means that the changes that occurred due to the translation are reflected in the database also. However, in case of an unsuccessful transaction, the rollback occurs i.e. the database comes back to its original state (state before the current transaction) so that no changes are reflected to the database because of any incomplete transaction.
- Relational Based Table
Relational databases were first introduced in the 1970s. In this type of database, each record contains fields called attributes. Each attribute represents one piece of information about a particular object. With relational databases, data is organized or stored in a structured format within tables formed by rows and columns. Due to this, it becomes easier to locate or access particular values in the database. The word relational here denotes that the values stored in each table are related to each other. Similarly, tables can also be linked to each other to form relationships. The relational structure simplifies the concept of data saving and makes it possible to run queries on multiple tables of the database simultaneously.
DBMS allows entities and relations among them to form as tables. This eases the concept of data saving. A user can understand the architecture of database just by looking at table names etc. Should be able to relate the entities / tables in the database by means of a relation. i.e.; any two tables should be related. Let us say, an employee works for a department. This implies that Employee is related to a particular department. We should be able to define such a relationship between any two entities in the database. There should not be any table lying without any mapping. If we do not follow this rule then we may end up having duplicate entries in our database. So relational databases allow us to organize data using relations between objects.
- Isolation of data and application or access data:
A database system is entirely different than its data. The database system (or application or program) and the data stored in the database are completely different from each other. The database is called the active entity in DBMS, while the data is called the passive entity through which the database itself operates. In particular, both are independent. Due to the independent approach, DBMS has an advantage over the traditional file-based system. Unlike a traditional file-based system, the structure of the data files is not defined or stored in the application in DBMS. Instead, it is defined in the system catalog, making it easy for users to make changes. This means that changes made to the data or any internal improvement in data efficiency will not affect the application program.
In this way, DBMS provides better insulation of data and application Where database is said to active entity, data is said to be passive one on which the database works and organizes. A database system is not the same thing as its data. A database works and organizes, whereas data is said to be passive. Metadata, which is data about data, is stored by the database management system.
Also, in a traditional file management system, the structure of data files is defined in the application programs so the user had to change everything. But in DBMS, the structure of data files is not stored in the program but it is stored in the system catalog. Internal improvement of data efficiency or any changes in the data doesn't have an effect on application software with the help of this- that is, it offers insulation between Data and Program.
DBMS also stores metadata which is data about data, to ease its own process. DBMS provides multiple users access to the same
data across the network. So, even though
the data is stored at a single location,
multiple people across the globe can access the same shared resource and utilizes it and manipulate the data.
- Data Schema
Data is never directly stored into the database. Data is stored into tables, created inside the database. DBMS also allows to have relationship between tables which makes the data more meaningful and connected. In a DBMS, data is stored within tables that are structured before the data is written. This structure of the table is commonly known as a schema in DBMS. It contains information about various attributes related to the data. For example, tables, fields, packages, views, relationships, primary key, foreign key, etc.
The data is not physically stored in the schema; instead, it is simply the logical representation of the database that is used to demonstrate how the data is stored logically within the database. Since data is stored physically in files in an unstructured form, it needs to be structured or organized in order to be used or searched. This is where the schema is used
- Supports Multiple Data Types
The database management system these days are capable of storing any kind of data. It is not just limited to any specific file types. It can hold any typical data we come around in the modern world. For example, binary, numeric, string, dates, etc.
- Insulation between Programs and Data, and Data Abstraction
1) Program-Data Independence: In traditional file processing, the structure of the data files accessed by an application is "hard-coded" in its source code. If, for some reason, we decide to change the structure of the data, every application in which a description of that file's structure is hard-coded must be changed!
In contrast, DBMS access programs, in most cases, do not require such changes, because the structure of the data is described separately from the programs that access it and those programs consult the catalog in order to ascertain the structure of the data so that they interpret that data properly. In other words, the DBMS provides a conceptual or logical view of the data to application programs, so that the underlying implementation may be changed without the programs being modified. (This is referred to as program-data independence. Data changes do not hamper any system or don’t modify the application.
For example in the database of an online food ordering company, the database can be modified without affecting the consumer side of the website because of the characteristic of data independence.
There are two types of data independence in the database approach:
1) Physical data independence: With Physical data independence, it is possible to switch the storage device of the database without resulting in any impact on the logical level.
Logical data independence: With Logical data independence, we can change the logical structure of the database without the need to rewrite the application programs.
2) Program-operation independence: In object-oriented and object-relational systems, users can define operations on data as part of the database definitions. An operation (also called a function or method) is specified in two parts. The interface (or signature) of an operation includes the operation name and the data types of its arguments (or parameters). The implementation (or method) of the operation is specified separately and can be changed without affecting the interface. User application programs can operate on the data by invoking these operations through their names and arguments, regardless of how the operations are implemented. This may be termed program-operation independence.
3) Data abstraction: The characteristic that allows program-data independence and program-operation independence is called data abstraction. A DBMS provides users with a conceptual representation of data that does not include many of the details of how the data is stored or how the operations are implemented. Informally, a data model is a type of data abstraction that is used to provide this conceptual representation. The data model uses logical concepts, such as objects, their properties, and their inter relationships, that may be easier for most users to understand than computer storage concepts. Hence, the data model hides storage and implementation details that are not of interest to most database users.
4) Data Sharing:
Data sharing is one of the essential aspects of the database approach. Here, data can be shared among multiple users and applications simultaneously. It also reduces the need to store duplicate data in various locations, which can lead to inconsistencies and errors. Data sharing with multiple users can occur with techniques like concurrency and locking control. This enhances collaboration and efficiency. During locking locks specific data from being accessed by any other user while it is being updated, concurrency control handles the access to data by numerous users by applying the strategy of time stamping and pessimistic and optimistic concurrency control.
For example, in an online food ordering website multiple users can add food to their cart and order food at the same time allowing multiple users to access the same database.
• Support for Multiple Views of the Data:
A database typically has many users, each of whom may require a different perspective or view of the database. A view may be a subset of the database or it may contain virtual data that is derived from the database files but is not explicitly stored. A multiuser DBMS whose users have a variety of distinct applications must provide facilities for defining multiple views. Modern DBMS provides multiple views of the database, allowing users to view the desire database in a number of ways based on department, category, or any other attribute. It is entirely based on how the view access of the database has been specified.
For example, an organization database may have a different view when accessed by HR, and a different view when accessed by an employee. The database remains the same but different users may have a different view of the information, which strengthens the security of the database information.
- Data Integrity
The DBMS can ensure that no more than one user can update the same record at the same time. It can keep duplicate records out of the database. It also ensures the quality and reliability of the data in the database. It prohibits all unauthorized access. Data integrity means the accuracy and consistency of data over its entire lifecycle. The database approach emphasizes data integrity through the use of various methods such as data validation, data normalization, the use of queries, and referential integrity. These techniques ensure that data is accurate, consistent, and free from errors or duplicates. Data Integrity prevents human errors, transfer errors and data verification errors. Here the term integrity means the data should be correct and consistent in nature. Integrity guarantees the quality and dependability of the database framework. It protects from unapproved access to the database and makes it safer. It allows only consistent and exact information into the database.
Let's understand this by taking an example. Let's say there is a bank named ABC bank, and ABC bank has its own Database for the storage of its customer data. If we try to enter the account details of ABC bank and the account details are not available in the bank, then the Database gives the incorrect output. However, if a customer changes their address but the new address is not updated in the Database, it is called data inconsistency. So the data available in the Database should be correct as well as consistent. If someone's account has zero balance and later the customer deposits 6000 rupees in his account, if the new account balance is not updated in the Database, it creates a problem for the customer. For example, no two customers with the same customer number can be entered.
- Less redundancy:
DBMS follows rules of normalization, which splits a relation when any of its attributes is having redundancy in values. Following normalization, which itself is a mathematically rich and scientific process, make the entire database to contain as less redundancy as possible. Undoubtedly, there are high chances of data repetition as multiple users use the same version/ software of a Database to store their files. With DBMS, redundancy is reduced or nearly eliminated compared to traditional file systems. DBMS follows the concept of normalization which splits a relation when there is redundancy. To avoid large chances of redundancy, a DBMS offers a single data repository and various Data Mapping functionalities.
It is possible to reduce the occurrence of duplicate data if a DBA (Database Administrator) controls the data centrally. Centralization of data also reduces the amount of storage space (that is required to store the data) and amount of processing (required for finding the data from a large mass of data).
Inconsistencies are also observed if data files are redundant. Avoiding duplication eliminates redundancy. In case some redundancy is found in the database then it is controlled. It is noted that the multiple copies of the same data are consistent in such a situation. DBMS also possess some additional abilities such as:
- Sorting
- Query
- Integrity checking
- Consistency
Consistency is a state where every relation in a database remains consistent. There exist methods and techniques, which can detect attempt of leaving database in inconsistent state. DBMS always enjoy the state on consistency where the previous form of data storing
applications like file processing does not guarantee this. Consistency is a state where every relation in database remains consistent. There exist methods and techniques, which can detect attempt of leaving database in inconsistent state. DBMS always enjoy the state on consistency where the previous form of data storing applications like file processing does not guarantee this. Consistency is a state where every relation in database remains consistent. There exist methods and techniques, which can detect attempt of leaving database in inconsistent state.
A DBMS can provide greater consistency as compared to earlier forms of data storing applications like file-processing systems. The data remains correct at all times for all users. Changes based on data modification or manipulation are reflected in the database without any problems, keeping the relationships in the database consistent. Every relation in a database is consistent, that's the state of consistency. Attempts to leave databases in different states can be detected with methods and techniques. A database management system can give greater consistency than earlier forms of data storage.
- Query Language and Structured Query Language(SQL) and No-SQL Databases
DBMS is equipped with query language, which makes it more efficient to retrieve and manipulate data. A user can apply as many and as different filtering options as required to retrieve a set of data.
Traditionally it was not possible where file-processing system was used. Report writers that let users interactively interrogate the database and analyse its data. This important features gives users access to all management information as needed i.e. we will get easily all details of every one at any time.
Structured Query Language, abbreviated as SQL, is the query language that helps users create queries to access or modify data in database management systems. They are called structured because they use predefined structures to form relationships between entities. Structured Query Language was developed in the 1980s. It provides a way to write queries against a database. Queries written in SQL are known as structured queries because they use predefined structures to define relationships among entities. These queries use specific commands, written in English, with keywords that instruct the database on which actions are to be performed. This is not possible with file-based systems.
An example would be:
SELECT * FROM employees WHERE department 'IT'. Here, the word ‘*’ stands for all columns from the employee table. We can also specify only certain columns while selecting other ones.
Another important feature of SQL is its ability to combine two statements into one statement.
For instance:
SELECT emp_name + ','+ dept_name AS full_name FROM employees; gives us the result as John Doe, IT.
There are two types of databases (not DBMS): SQL and No-SQL.
The SQL databases store the data in the form of Tables, i.e., rows and columns. The No-SQL databases can store data in any form other than a table. For instance: the very popular MongoDB stores the data in the form of JSON (JavaScript Object Notation).
- The availability of SQL and No-SQL databases allows us to choose the method of storing the data as well.
- There should not be any debate between SQL and No-SQL databases. The one that we require for a particular project is better for that project, while the other might be better for some other use.
- This is a characteristic of DBMS because DBMS allows us to perform operations on both kinds of databases. So, we can run queries and operations on SQL as well as No-SQL databases.
- Object-Oriented Programming
Object-Oriented Programming, commonly referred to as OOP, is a special technique used in DBMS to design programs. Objects hold properties as well as methods. While properties denote variables or constants that carry values, methods represent processes that act on related properties. Unlike other programming approaches, OOP enables the programmer to create reusable components by encapsulating their functionality within classes. Classes incorporate a specific set of code and other data elements. Instead of writing the same code multiple times, programmers prefer to use classes. Object oriented programming is another technique used to design programs. Objects contain properties and methods. Properties represent variables or constants which hold values. Methods are procedures that operate on those properties. The main advantage of OOP over procedural programming is that it allows developers to create reusable components by encapsulating their functionality within classes. Classes are collections of related code and data elements. Developers can reuse existing classes instead of writing similar pieces of code again and again.
- Transactional Processing
DBMS supports transactional processing that helps the users to maintain the stability of the database. In DBMS, transactions represent the set of operations performed to bring the database from one stable state to another or a new stable state. These transactions are atomic, which means they will either be complete or remain incomplete.
Transactions are an essential part of any application. Transactions ensure consistency across multiple users accessing the system at the same time. When transactions fail due to errors, the entire transaction should roll back so that no changes made during the failed operation remain permanent. Transaction processing ensures that when there is a problem, everything remains consistent. With transactional processing, the DBMS ensures to roll back the transaction if there is an error or failure while it is running. This keeps the system stable, keeping the entire system running continuously while multiple users are accessing it simultaneously.
- Distributed Database Systems
A DBMS supports distributed database systems, which means that it stores data across multiple computers connected to a network. Due to the distributed database concept, it is easy to scale or include additional servers without the need to set up an entire environment from scratch. In a DBMS, a distributed database typically includes the following parts: Client Applications, Server Applications, and Shared Storage. Client applications help to access shared storage with multiple protocols such as TCP (Transmission Control Protocol) and IP (Internet Protocol). Server applications help in delivering essential services to the clients. Shared storage helps to allocate the desired storage space to hold all the data. At the same time, each node in the cluster holds or stores the metadata of the other nodes.
Distributed databases store information across several computers connected through a computer network. This type of architecture makes it easy to add more servers without having to rebuild the whole software infrastructure. A distributed database has three parts: client applications, server applications, and shared storage. Client applications access the shared storage using standard protocols such as TCP/IP. Server applications provide services to clients. Shared storage provides persistent storage space where all the data resides. In addition, each node stores metadata about other nodes in the cluster.
- Data mining
Data mining, also known as Knowledge Discovery in Database (KDD), refers to the process of extracting essential information from large databases (or big databases). The process generally helps in identifying trends and patterns among different data sets from the database in a DBMS, improving decision making. Various data mining algorithms are used in DBMS. Some such algorithms are classification, association rules, regression analysis, decision trees, neural networks, genetic algorithms, etc. Data mining refers to techniques used to analyze vast quantities of unstructured data. There are many types of data mining algorithms like classification, clustering, association rules, regression analysis, decision trees, neural networks, genetic algorithms, etc.
1. Classification involves grouping records based on some common characteristics.
2. Clustering groups records with similar features under one category. Association rules look for patterns in sets of items and suggest possible combinations of items that occur frequently together.
3. Regression analysis finds trends in numeric data.
4. Decision tree classifies records according to various factors.
5. The neural network uses artificial intelligence to learn how to classify records.
6. The genetic algorithm helps find optimal solutions to problems.
- Data Security:
The DBMS can prevent unauthorized users from viewing or updating the database. Using passwords, users are allowed access to the entire database or a subset of it known as a “subschema”. Data is very important for any organization. Most of the time data confidential and must be kept protected from the unauthorized access. To secure the data DBA ensures that the proper authentication schema are applied and also checks that proper access procedures have to be followed at the time of accessing of the data. Additional checks must be performed when access requests to the sensitive data are made. The access of operations and data could be controlled by various security levels. Security can be also enforced depending on the value of the data. DBMS provides the highest security to the stored data as it provides different levels of security features. This allows primary users or administrators to enforce the necessary constraints to access the data. Because of this, users will only be able to access the data by a specific security PIN or password. It prohibits all unauthorized access. Since the data is not stored on a disk with the DBMS, it is almost impossible for fraudsters to break thesecurity and access the data.
Furthermore, since the DBMS renders multiple views, different users can only access the data individually allowed to them. For example, a person in the sales department cannot see information related to purchases and vice versa.
1. Features like multiple views offers security at some extent where users are unable to access data of other users and departments.
2. DBMS offers methods to impose constraints while entering data into database and retrieving data the same at later stage.
3. DBMS offers many different levels of security features, which enables multiple users to have different view with different features.
4. Though data is accessed and shared very easily, not all the data can be accessed by everyone. Roles are defined in DBMS.
5. Restricted access provides more level of security to the data, as people with certain access levels are cleared to access data. Else only data can be viewed but not modified.
6. Data security is a critical aspect of the database approach. A database management system provides various security measures such as authentication, authorization, and encryption to protect data from unauthorized access, tampering, or data breaches.
7. Data transmission over a network creates data security, but with DBMS data sharing and security, data sharing is done in an encrypted format. Data encryption allows users to send and receive the data more efficiently and without any risk of data theft.
8. This makes it easier to identify the user and control who has access to data and what they can do with it, thus making the data more secure.
9. The Database should be accessible to the users in a limited way.
10. The access to make changes to a database by the user should be limited, and the users must not be given complete access to the entire Database.
11. Unauthorized users should not be allowed to access the Database.
12. Authentication: The DBMS has authentication for various users that directly refers to the limit to which the user can access the Database. Authentication means the process of laughing in of the user only with the rights that he/she has been authorized to. For instance, in any organization, the admin has access to make changes to the Database of the organization as some new employee might have joined the organization or someone might have left it. However, the employees have access only to their personal profiles and can make changes to them only. They cannot access the Database of any other employee or the organization as a whole.
13. The database approach also provides a good backup and data recovery feature. This is achieved with techniques like database backups, replication, and transaction logs.
14. DBMS offers many different levels of security features, which enables multiple users to have different view with different features.
15. DBMS gives security to the information put away in this is on the grounds that all clients have different rights to access the database. A portion of the client can get to the entire information in the database while others can get to a small segment of the database.
16. For instance, a fluid mechanics instructor can only access those documents that are identified with his subject, however, the HOD of the division can get to records of all subjects that are identified with their department.
17. For example the data of customers in the database of any ecommerce company has a high backup facility and the data is securely stored in the database.
For example, the manager of a particular, department has access to only the salary details of those employees who work in his department. Security can also depend on the type of data being handled. For example, the manager cannot access the medical details of any employee though the concerned employee belongs to his/her department. For example, in a student database, some users may be able to view payment details while others may view only mark list of students. For example, a user in sales department cannot see data of purchase department is one thing, additionally how much data of sales department he can see, can also be managed. Because DBMS is not saved on disk as traditional file system it is very hard for a thief to break the code.
- Data Persistency
With DBMS, data is persistent which means that the data is kept and maintained in the database by the DBMS until it is explicitly deleted or removed by the user. In case of uncertainty like system failure, there is the least to zero chance of data loss. The life span of the stored data is entirely decided by the authorized user. If the system fails in the middle of a transaction, the entire process or even system is rolled back, keeping the data safe to the maximum extent possible.
- Backup and Recovery
Backup and recovery are two effective features in a DBMS that help the users to avoid any damage to the stored data. With a DBMS, users can back up the data stored at certain points and restore the backup to get the data back in case of uncertainty.
Modern DBMS also takes care of the backup and restore of the system automatically. The data is backed up automatically as per the schedule and is automatically rolled back when a failure occurs, keeping the system stable. Nowadays, Database Systems are coming up with data recovery and backup options. Companies know that intentional and unintentional events can occur at any time. For instance, in some cases employees remove data accidentally, developers delete or discard manufacturing and production tables. Consequently, DBMS are embedded with Data Recovery options and a Backup Plan to avoid such incidents. They work like a permanent storage plan in which it is impossible to eradicate data.
- ACID Properties:
DBMS follows the concepts for ACID properties, which stands for Atomicity, Consistency, Isolation and Durability. These concepts are applied on transactions, which manipulate data in database. ACID properties maintains database in healthy state in multi-transactional environment and in case of failure.
These properties ensure that the primary purpose of any DBMS system is not lost while performing specific tasks like inserting, deleting, modifying data in the database. ACID properties also help in maintaining a healthy state of the database in the multi-transactional environment or sudden failures.
- The DBMS follows certain properties to maintain consistency in the Database. These properties are usually termed ACID Properties.
- However, we have already talked about some of these properties, but it is very important to mention the ACID properties as a whole.
- ACID stands for Atomicity, Consistency, Isolation, and Durability.
- We have already talked about atomicity and consistency. Atomicity means the transaction should either be 0% or 100% completed, and consistency means that the change in data should be reflected everywhere in a database.
- Isolation means that multiple transactions can occur independently without the interference of some other transactions.
- Durability means that the chances of a successful atomic transaction, i.e., a transaction that has been 100% completed, should reflect in the Database.
- These concepts are applied on transactions, which manipulate data in a database. Which operate and play around with data in a database. In multi-transactional environments
- ACID properties help the database stay healthy in multi-transactional environments and in case of failure.
- Let us take an example; if an employee’s name is updated then it should make sure that there is no duplicate data and no mismatch of employee information.
- ACID properties the data and function in DBMS are consistent, safe, trackable, precise and durable. Such systems maintain a secure ecosystem against any transactional or operational failure.
- Ease of Access (The DBMS Queries)
1. Before DBMS, the conventional file system (i.e. files and folders) was used to store complex and large data.
2. The file and folder system was used to store the data before the DBMS came to the market.
3. Searching for the student's name was a very difficult task at that time. This is because every search operation is done manually in the file and folder system. But when DBMS comes into the market, it is very easy to access the Database.
4. We can run a search query to find any data and the process is way faster than manual searching and is more reliable.
5. The CRUD (Create, Read, Update & Delete) operations are very easy to perform with a database because of the DBMS queries.
- Multiuser and Concurrent Access:
DBMS support multi-user environment and allows them to access and manipulate data in parallel. Though there are restrictions on transactions when they attempt to handle same data item, but users are always unaware of them. DBMS allowing multiple users to work with data in parallel or concurrently. This is one of the primary advantages of DBMS. Due to concurrent access, multiple users access the database at the same time and perform specific operations without any problems. For example, a railway reservation system is used by several people at a time and people book tickets simultaneously until the seats are completely filled or blocked. Data can be accessed and manipulated in parallel with the help of the DBMS. Users are unaware of the restrictions on transactions when handling the same data item.
DBMS offers multiple views for various clients. A client who is in the Sales division will have an alternate perspective on the database than an individual working in the Production office. This component empowers the clients to have a concentrated perspective on the database as indicated by their prerequisites.
1. DBMS supports multi-user environment and allows them to access and manipulate data in parallel.
2. Though there are restrictions on transactions when users attempt to handle the same data item, but users are always unaware of them.
3. On Live data, i.e. data that is being continuosly updated and added, maintaining the consistency of data can become a challenge. But DBMS handles it all by itself.
- Scalability and Performance of the Database
Scalability refers to handling increasing or decreasing amounts of data without affecting system performance. That is, the size of the database can be modified as per the need.
Techniques used by the database approach to provide scalability are:-
1. Indexing: Indexing is used to improve the searching time of a query in a database. Usually, when a database is scaled, it is divided into several partitions. With indexing, each division can quickly fetch the data needed by it.
2. Partitioning: This technique is used to divide a more extensive database into smaller sections, also known as partitions. Partitioning helps manage the database traffic by distributing the load among multiple partitions.
3. Clustering: It is another technique used in scaling where smaller partitions of data are clustered together to improve the performance of the database.
These techniques assure that data can be accessed quickly and efficiently, even as the size of the database grows, thus benefiting growing companies to manage their data more productivity. With horizontal scaling and vertical, servers and resources can be added to the database to handle the load.
- Cost
The cost of DBMS applications is more as compared with other applications/software, but in the long run, it is more cost-friendly, as the maintenance costs are low or negligible. As there are so many characteristics of DBMS, there are many advantages associated with it which is why one should use it, viz:
- Secure data
- Access Restrictions
- Simple access to the data
- Data independence
- Data duplicity
- Reduced long term costs
- Reduced development and maintenance time
- Data integration with cloud servers
- Data backup
- Multi-user usability
As the saying goes, every coin has two coins; disadvantages are also linked. Costs are generally very high, and low-budget companies might not be able to afford them.
The cost required to set up a DBMS is a notable characteristic as it can be quite high compared to other data storage software or technologies. The cost of a DBMS can create confusion about whether to choose it or not. However, if an organization is looking to store a large amount of data for a long period of time, a DBMS can be the best option and its maintenance cost will be comparatively less over time.
- Users
Users are important elements or components in DBMS as there are different users to perform specific tasks. Some users may be involved in creating or designing DBMS, some may be involved in backing up data, some may be involved in setting up access permissions, some may be end-users, etc. Typically, database administrators (DBA), designers, and end-users play a key role in a DBMS environment. DBMS is used by various users for various purposes. Some may involve in retrieving data and some may involve in backing it up. Some of them are described as follows:
All of these important characteristics are useful for all the users, but these users are classified as per the DBMS usage, they are:
- End users
- Programmers
- Database Administrators
- Administrators:
A bunch of users maintain the DBMS and are responsible for administrating the database. They are responsible to look after its usage and by whom it should be used. They create users access and apply limitation to maintain isolation and force security. Administrators also look after DBMS resources like system license, software application and tools required and other hardware related maintenance. Database administrators have the data and the database. They are the ones who provide everyone with access and can block anyone out.
- Designer:
This is the group of people who actually works on designing part of database. The actual database is started with requirement analysis followed by a good designing process. They people keep a close watch on what data should be kept and in what format. They identify and design the whole set of entities, relations, constraints and views.
End Users:
This group contains the persons who actually take advantage of database system. End users can be just viewers who pay attention to the logs or market rates or end users can be as sophisticated as business analysts who takes the most of it.
End Users are the people like us who have little knowledge of the system’s workings. They are the users of the system who are unaware of what goes around at the back end of the software/system. Access restrictions apply to these people, only sharing and data manipulation accesses are generally given to the end-users. Programmers are the people who play with the coding behind all that the system does or is supposed to do.
Summary
This article discusses about characteristics of a database management system. Modern DBMS has many features or characteristics and DBMS vendors are always working towards adding more and more to compete with each other. Some of the popular examples of database management systems are MySQL Database, MS-Access, Oracle Database, Microsoft SQL Server, etc. After studying the various characteristics of DBMS, we can come to the following conclusions:
1) The DBMS is so much more reliable as compared to the conventional file processing system.
2) DBMS provides atomicity and consistency.
3) They provide data integrity and security.
4) The DBMS can store any kind of data and it is also very easy to access this data.
5) DBMS is based on real-world entities and provides concurrent access to the users without any problems.
6) Earlier File Management System was used to manage data needed for a specific application. In File Management System, each user stores separate data for the application.
7) Presently Database Approach is used for storing and maintaining the data where the data is defined once and stored in a single location and accessed by multiple users from this location.
8) Main characteristics of the Database Approach are, Database is Self-Describing in Nature, Insulation between Program and Data, Supports Multiple Views of Data, Sharing Knowledge, and Multi-User Transactions in the Database.
9) Apart from the main characteristics there are some other characteristics too such as, Security, Query Language, and Bridge between Program and Data.