ScholarQuill logoScholarQuillUniversity Notes
  • Notes
  • Past Papers
  • Blogs
  • Todo
Login
ScholarQuill logoScholarQuillUniversity Notes
Login
NotesPast PapersBlogsTodo
More
SubjectsDiscussionCGPA CalculatorGPA CalculatorStudent PortalCourse Outline
About
About usPrivacy PolicyReportContact
Notes
Past Papers
Blogs
Todo
Analytics
    Current Subject
    🧩
    Database Systems
    CSI-308
    Progress0 / 22 topics
    Topics
    1. Basic Database Concepts2. Entity Relationship Modelling3. Relational Data Model and Algebra4. Structured Query Language (SQL)5. RDBMS6. Database Design7. Functional Dependencies8. Normal Forms9. Transaction Processing10. Optimization Concepts11. Concurrency Control12. Recovery Techniques13. Database Security and Authorization14. Small Group Project Implementing a Database15. Physical Database Design16. Storage and File Structure17. Indexed Files18. B-Trees19. Files with Dense Index20. Files with Variable Length Records21. Database Efficiency22. Database Tuning
    CSI-308›RDBMS
    Database SystemsTopic 5 of 22

    RDBMS

    8 minread
    1,316words
    Intermediatelevel

    Relational Database Management System (RDBMS)

    A Relational Database Management System (RDBMS) is a type of database management system (DBMS) that uses the relational model to store and manage data. In an RDBMS, data is organized into tables (also called relations), which consist of rows (also called records or tuples) and columns (attributes). The relational model uses a set of mathematical principles to define relationships among different tables through keys (such as primary and foreign keys).

    RDBMSs are designed to handle large volumes of data and provide tools for ensuring data integrity, security, and consistency. Popular examples of RDBMSs include MySQL, PostgreSQL, Oracle Database, Microsoft SQL Server, and SQLite.


    1. Key Features of RDBMS

    a. Data Storage in Tables

    • Data is stored in tables that consist of rows and columns. Each table represents an entity, and each row in the table represents a unique instance of that entity.
    • Example: A Student table might have columns like StudentID, Name, Age, and Major.

    b. Primary Key

    • A primary key is a column (or a set of columns) in a table that uniquely identifies each record in that table.
    • Every table in an RDBMS must have a primary key to ensure that each row is uniquely identifiable.
    • Example: In the Student table, StudentID might be the primary key.

    c. Foreign Key

    • A foreign key is a column (or a set of columns) in one table that refers to the primary key of another table, establishing a relationship between the two tables.
    • Foreign keys maintain referential integrity by ensuring that the values in the foreign key column(s) exist in the referenced table.
    • Example: In an Enrollment table, StudentID might be a foreign key that refers to the StudentID in the Student table.

    d. Normalization

    • Normalization is the process of organizing data in a way that reduces redundancy and dependency. The goal of normalization is to ensure data integrity and minimize data anomalies (insertion, update, and deletion anomalies).
    • The process involves dividing large tables into smaller, related tables and linking them using foreign keys.
    • Normal forms (1NF, 2NF, 3NF, etc.) define the level of normalization a database has achieved.

    e. ACID Properties

    • RDBMSs are designed to support the ACID properties (Atomicity, Consistency, Isolation, Durability), which ensure reliable transaction processing:
      • Atomicity: Transactions are all-or-nothing; either all operations in a transaction are committed, or none are.
      • Consistency: Transactions must leave the database in a consistent state, adhering to predefined rules (such as constraints, triggers, etc.).
      • Isolation: Transactions are isolated from each other to prevent concurrent operations from conflicting.
      • Durability: Once a transaction is committed, its changes are permanent, even in the case of a system crash.

    f. Data Integrity and Constraints

    • Data Integrity refers to the accuracy and consistency of data stored in the database.
    • RDBMSs enforce various integrity constraints to ensure the quality and correctness of data:
      • Entity Integrity: Ensures each row in a table is uniquely identifiable (using a primary key).
      • Referential Integrity: Ensures that foreign keys correctly point to valid rows in the referenced table.
      • Domain Integrity: Ensures that the values in a column belong to a specific domain (e.g., numerical, date, etc.).
      • User-Defined Constraints: Users can define their own constraints to ensure specific business rules.

    2. Components of an RDBMS

    RDBMSs have several components that work together to manage data:

    a. Tables

    • Tables are the primary data storage structures in an RDBMS. A table is a collection of related data organized into rows and columns.
    • Example: A Customer table might contain information such as CustomerID, Name, Email, and Address.

    b. Schemas

    • A schema is the logical structure that defines the organization of the database, including the tables, columns, relationships, and constraints.
    • A schema defines the overall structure but doesn't contain actual data.

    c. Queries

    • SQL queries are used to interact with the data stored in tables. Queries allow users to retrieve, insert, update, and delete data.
    • Queries are written in SQL (Structured Query Language), the standard language for interacting with an RDBMS.

    d. Indexes

    • Indexes are used to speed up the retrieval of data from tables. An index is a data structure that improves the speed of data retrieval operations (such as SELECT queries).
    • Indexes are created on one or more columns to allow for faster searches and sorting.

    e. Views

    • A view is a virtual table that provides a simplified or customized way to access data from one or more tables.
    • Views are stored queries that can be used like tables, but they do not store data themselves.

    f. Stored Procedures and Triggers

    • Stored procedures are precompiled SQL programs that can be executed by users or applications to perform specific operations on the database.
    • Triggers are special types of stored procedures that automatically execute in response to certain events (such as insertions, updates, or deletions) on a table.

    g. Transactions

    • A transaction is a sequence of SQL statements executed as a single unit. A transaction ensures that the database remains consistent even in the event of failures or interruptions.
    • Transactions follow the ACID properties to guarantee the reliability of data operations.

    3. RDBMS Operations

    a. Data Retrieval

    • Data is typically retrieved from an RDBMS using the SELECT statement.
    • Complex queries may involve joins between tables, grouping, filtering, and sorting of data.

    Example:

    SELECT StudentID, Name, Age
    FROM Students
    WHERE Age > 18
    ORDER BY Name;
    

    b. Data Insertion

    • Data is inserted into an RDBMS using the INSERT INTO statement.
    • Example:
      INSERT INTO Students (StudentID, Name, Age, Major)
      VALUES (1, 'Alice', 20, 'Computer Science');
      

    c. Data Update

    • Existing data in a table can be updated using the UPDATE statement.
    • Example:
      UPDATE Students
      SET Age = 21
      WHERE StudentID = 1;
      

    d. Data Deletion

    • Data can be deleted from a table using the DELETE FROM statement.
    • Example:
      DELETE FROM Students
      WHERE StudentID = 1;
      

    e. Data Modification with Transactions

    • Multiple operations can be grouped into a single transaction using BEGIN TRANSACTION, COMMIT, and ROLLBACK.
    • Example:
      BEGIN TRANSACTION;
      UPDATE Students SET Age = 22 WHERE StudentID = 2;
      DELETE FROM Students WHERE StudentID = 3;
      COMMIT;
      

    4. Advantages of RDBMS

    • Data Integrity: RDBMSs provide built-in mechanisms to enforce data integrity and consistency.
    • Flexibility: RDBMSs allow for complex queries and operations involving multiple tables.
    • Scalability: RDBMSs can handle large amounts of data and support high-performance queries through indexes and optimization techniques.
    • Security: RDBMSs offer advanced security features such as user roles, privileges, and data encryption to protect data.
    • Concurrency Control: RDBMSs manage simultaneous access to the database by multiple users, ensuring that transactions do not interfere with each other.
    • Backup and Recovery: RDBMSs offer tools to back up data and recover it in case of system failure.

    5. Disadvantages of RDBMS

    • Complexity: Setting up and managing an RDBMS can be complex, especially with large-scale systems.
    • Performance: While RDBMSs are highly efficient, the overhead of maintaining ACID properties and relational integrity can lead to performance issues for very large datasets or highly transactional systems.
    • Scalability Limitations: Traditional RDBMSs can struggle with horizontal scaling, although modern RDBMS systems are increasingly designed to address this.

    6. Examples of Popular RDBMS

    • Oracle Database: A widely used RDBMS known for its robustness, security features, and scalability.
    • MySQL: An open-source RDBMS, popular for web applications and known for its speed and ease of use.
    • PostgreSQL: An open-source RDBMS that emphasizes standards compliance, extensibility, and support for advanced data types.
    • Microsoft SQL Server: A popular RDBMS used for enterprise-level applications, known for its integration with Microsoft tools.
    • SQLite: A lightweight, serverless RDBMS often used in embedded applications and mobile devices.

    7. Conclusion

    An RDBMS is a powerful and essential tool for managing and organizing data in relational databases. By using tables,

    Previous topic 4
    Structured Query Language (SQL)
    Next topic 6
    Database Design

    Past Papers

    Open this section to load past papers

    Click on Show Past Papers to see past papers.
    On This Page
      Reading Stats
      Est. reading time8 min
      Word count1,316
      Code examples0
      DifficultyIntermediate