RDBMS stands for Relational DataBase Management Systems. It is basically a program that allows us to create, delete, and update a relational database. It is a database system that stores and retrieves data in a tabular format organized in the form of rows and columns. It is a smaller subset of DBMS which was designed by E.F Codd in the 1970s. The major DBMS like SQL, My-SQL, ORACLE is based on the principles of relational DBMS.
Relational DBMS owes its foundation to the fact that the values of each table are related to others. It has the capability to handle larger magnitudes of data and simulate queries easily.
Relational Database Management Systems maintains data integrity by simulating the following features:
- Entity Integrity: No two records of the database table can be completely duplicate.
- Referential Integrity: Only the rows of those tables can be deleted which are not used by other tables. Otherwise, it may lead to data inconsistency.
- User-defined Integrity: Rules defined by the users based on confidentiality and access.
- Domain integrity:The columns of the database tables are enclosed within some structured limits, based on default values, type of data or ranges.
- Data must be stored in tabular form in DB file, that is it should be organized in the form of rows and columns.
- Each row of table is called record/tuple . Number of such records is known as the cardinality of the table
- Each column of the table is called an attribute/field. Number of such columns is called the arity of the table.
- Number two records of the DB table can be same. Data duplicity is therefore avoided by using a candidate key. Candidate Key is a minimum set of attributes required to identify the set of records uniquely.
- Tables are related to each other with the help for foreign keys.
- Database tables also allow NULL values, that is if the values of any of the element of the table are not filled or are missing, it becomes a NULL value, which is not equivalent to zero.
The following table STUDENT consists of three columns Roll Number, Name, Section and four records of students 1, 2, 3 and 4 respectively. The records can’t be completely same, the Roll Number acts as a candidate key which separates records.
- Easy to manage: Each table can be independently manipulated without affecting others.
- Security: It is more secure consisting of multiple levels of security. Access of data shared can be limited.
- Flexible: Updation of data can be done at a single point without making amendments at multiple files. Databases can easily be extended to incorporate more records, thus providing greater scalability. Also, facilitates easy application of SQL queries.
- Users: RDBMS supports client-side architecture storing multiple users together.
- Facilitates storage and retrieval of large amount of data.
- Easy Data Handling:
- Data fetching is faster because of relational architecture.
- Data redundancy or duplicity is avoided due to keys, indexes, and normalization principles.
- Data consistency is ensured because RDBMS is based on ACID properties for data transactions(Atomicity Consistency Isolation Durability).
- Fault Tolerance: Replication of databases provides simultaneous access and helps the system recover in case of disasters, such as power failures or sudden shutdowns
- High Cost and Extensive Hardware and Software Support: Huge costs and setups are required to make these systems functional.
- Scalability: In case of addition of more data, servers along with additional power, and memory are required.
- Complexity: Voluminous data creates complexity in understanding of relations and may lower down the performance.
- Structured Limits: The fields or columns of a relational database system is enclosed within various limits, which may lead to loss of data
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.