Syllabus →
![Screenshot 2024-02-08 at 9.57.45 AM.png](https://prod-files-secure.s3.us-west-2.amazonaws.com/d20c5541-e880-4585-b19d-caee5c73f241/4e00139a-492f-4efa-9bff-e2f6aa95f875/Screenshot_2024-02-08_at_9.57.45_AM.png)
![Screenshot 2024-02-08 at 9.59.03 AM.png](https://prod-files-secure.s3.us-west-2.amazonaws.com/d20c5541-e880-4585-b19d-caee5c73f241/b3bca9c8-a273-40b5-8baf-40c196044afd/Screenshot_2024-02-08_at_9.59.03_AM.png)
Endsem Pyq →
![Screenshot 2024-02-08 at 11.42.10 AM.png](https://prod-files-secure.s3.us-west-2.amazonaws.com/d20c5541-e880-4585-b19d-caee5c73f241/930da5b3-38b5-40f8-ab09-4dc26f52a163/Screenshot_2024-02-08_at_11.42.10_AM.png)
A database system is a complex and structured system that involves various components to store, manage, and retrieve data efficiently. The functional components of a database system can be broadly categorized into the following:
- Database Management System (DBMS):
- DBMS Engine: The core service provider for data storage, retrieval, and update. It manages the interaction between the database and the user or application.
- Database Schema: Defines the logical structure of the database, including tables, relationships, and constraints.
- Data Dictionary: Metadata repository containing details about database objects, such as tables, indexes, columns, data types, and access permissions.
- Database:
- Tables: Structured sets of data elements organized in rows and columns.
- Indexes: Structures that improve the speed of data retrieval operations.
- Views: Virtual tables representing subsets of data from one or more tables.
- Stored Procedures and Triggers: Predefined SQL code to enforce business rules and automate tasks.
- Database Users:
- Database Administrators (DBAs): Responsible for managing and maintaining the database system, including security, backup, and performance tuning.
- Application Programmers: Develop applications that interact with the database using SQL queries and APIs.
- End Users: Interact with the database through applications or direct queries to retrieve or manipulate data.
- Query Processor:
- Query Parser: Analyzes and validates SQL queries for correctness.
- Query Optimizer: Determines the most efficient execution plan for a query.
- Query Executor: Executes the query by following the optimized execution plan.
- Storage Manager:
- File Manager: Manages the physical storage of data on disk.
- Buffer Manager: Manages the in-memory buffers that store data temporarily during processing.
- Transaction Manager: Ensures the ACID (Atomicity, Consistency, Isolation, Durability) properties of transactions.
- Recovery Manager: Handles data recovery in case of failures.
- Client Interface:
- User Interface: Allows users to interact with the database system through forms, reports, and graphical tools.
- APIs and Drivers: Provide connectivity for applications to interact with the database using standardized protocols and languages like ODBC, JDBC, etc.
![Screenshot 2024-05-16 at 2.14.58 PM.png](https://prod-files-secure.s3.us-west-2.amazonaws.com/d20c5541-e880-4585-b19d-caee5c73f241/d8814514-9483-4e8d-b1e7-76071545efcc/Screenshot_2024-05-16_at_2.14.58_PM.png)
![Screenshot 2024-05-16 at 2.15.15 PM.png](https://prod-files-secure.s3.us-west-2.amazonaws.com/d20c5541-e880-4585-b19d-caee5c73f241/611e4bbd-80dc-4a4b-8c46-adcf0e6f4c2e/Screenshot_2024-05-16_at_2.15.15_PM.png)
Significance of Mapping Cardinalities
Mapping cardinalities in a database system describe the relationships between entities in terms of numbers. They specify how many instances of one entity relate to instances of another entity. Understanding and defining these cardinalities is crucial for accurately modeling real-world scenarios in a database. Mapping cardinalities help in:
- Data Integrity: Ensures that relationships between entities are correctly represented and maintained.
- Database Design: Helps in designing efficient and logical database schemas.