0% found this document useful (0 votes)
11 views44 pages

Understanding Database Management Systems

A Database Management System (DBMS) is software that facilitates the creation, maintenance, and control of databases, ensuring data integrity, security, and efficient retrieval. Key functions include data definition, manipulation, security, concurrency control, and backup/recovery, with examples of DBMS software including MySQL and MongoDB. The document also covers the characteristics of databases, the advantages of using a DBMS, and the different types of end users who interact with these systems.

Uploaded by

rohithlokesh2912
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views44 pages

Understanding Database Management Systems

A Database Management System (DBMS) is software that facilitates the creation, maintenance, and control of databases, ensuring data integrity, security, and efficient retrieval. Key functions include data definition, manipulation, security, concurrency control, and backup/recovery, with examples of DBMS software including MySQL and MongoDB. The document also covers the characteristics of databases, the advantages of using a DBMS, and the different types of end users who interact with these systems.

Uploaded by

rohithlokesh2912
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Database Management System (DBMS)

A DBMS is software that enables users to define, create, maintain, and control access to the
database. It provides mechanisms to ensure data integrity, security, and efficient data retrieval.

Key Functions of a DBMS

1. Data Definition – Allows defining database structure using Data Definition Language
(DDL).
2. Data Manipulation – Enables inserting, updating, deleting, and querying data using Data
Manipulation Language (DML).
3. Data Security – Restricts unauthorized access using authentication and authorization
controls.
4. Concurrency Control – Manages multiple users accessing the database simultaneously.
5. Backup and Recovery – Ensures data safety through regular backups and restoration
mechanisms.

Examples of DBMS Software

 Relational DBMS (RDBMS): MySQL, PostgreSQL, Oracle, SQL Server


 NoSQL DBMS: MongoDB, Cassandra, DynamoDB
 Cloud-based DBMS: Google Firebase, Amazon RDS

What is Database

A database is an organized collection of data that allows for easy access, management, and
updating. It is used to store, retrieve, and manipulate data efficiently. Databases are widely used
in applications such as websites, mobile apps, and enterprise software to manage large amounts
of structured information.

Types of Databases

1. Relational Databases (RDBMS) – Store data in tables with rows and columns (e.g.,
MySQL, PostgreSQL, SQL Server).
2. NoSQL Databases – Handle unstructured or semi-structured data (e.g., MongoDB,
Cassandra).
3. Cloud Databases – Hosted on cloud platforms (e.g., Amazon RDS, Google Cloud
Firestore).
4. Graph Databases – Store relationships between entities (e.g., Neo4j).
5. Time-Series Databases – Optimize for time-stamped data (e.g., InfluxDB).
6. Key-Value Databases – Simple storage using key-value pairs (e.g., Redis).

Implicit Properties of a Database

1. Represents a Miniworld (Universe of Discourse - UoD)


o A database reflects a real-world scenario or domain.
o Any changes in the real world are updated in the database.
2. Logically Coherent Collection of Data
o A database consists of structured, meaningful, and related data.
o A random set of unorganized data is not a database.
3. Designed for a Specific Purpose
o Created with a goal, users, and predefined applications in mind.
o Used by specific groups or organizations for intended tasks.

Characteristics of the Database Approach

The database approach differs from traditional file-based systems by centralizing data storage
and management, reducing redundancy, and improving efficiency. Below are its key
characteristics:

Characteristics of the Database Approach

1. Self-Describing Nature of a Database System


2. Insulation Between Programs and Data (Data Abstraction)
3. Support for Multiple Views of Data
4. Data Sharing and Multiuser Transaction Processing
5. Transaction Management (ACID Properties)
6. Reduced Data Redundancy and Improved Integrity
7. Security and Authorization
8. Backup and Recovery

1. Self-Describing Nature of a Database System :

 A DBMS stores not only the data but also a catalog (metadata) that describes the
database structure (tables, columns, data types, constraints, etc.).

This allows the database to be self-descriptive, making it flexible for different applications.

2. Insulation between Programs and Data (Data Abstraction)

 In traditional file systems, data structure is hardcoded into application programs,


requiring changes in the code if data structure changes.
 A DBMS separates data definition from application logic, allowing changes in the
database schema without modifying application programs.
 This provides program-data independence and program-operation independence.
3. Support for Multiple Views of Data

 A database can provide different views for different users based on their needs.
 Example:
o A student transcript view may show only courses and grades.
o An administrative view may show tuition fees, payments, and course
enrollments.
o

4. Data Sharing and Multiuser Transaction Processing

 Multiple users can access and modify data concurrently.


 DBMS ensures data consistency using concurrency control mechanisms.
 Example: In an airline booking system, two users cannot book the same seat at the same
time.

5. Transaction Management (ACID Properties)

 Transactions in a DBMS follow ACID properties:


o Atomicity – A transaction is fully completed or not executed at all.
o Consistency – The database remains in a valid state before and after transactions.
o Isolation – Transactions do not interfere with each other.
o Durability – Once committed, transactions are permanently stored.

6. Reduced Data Redundancy and Improved Integrity

 A DBMS eliminates duplicate data storage using normalization.


 Data integrity constraints ensure valid and consistent data.
 Example: A student’s contact information is stored once and referenced in different
records.

7. Security and Authorization

 A DBMS controls user access through authentication and permissions.


 Role-based access control (RBAC) ensures that users can only access authorized data.

8. Backup and Recovery

 DBMS supports automated backups and data recovery in case of failure.


 Prevents data loss due to system crashes or corruption.
Metadata Definition

Metadata is "data about data"—it provides descriptive information about other data, helping
users and systems understand, manage, and organize data efficiently.

Characteristics of Metadata

1. Describes Data Structure


o Defines data types, formats, relationships, constraints, and storage details.
2. Stored in a Catalog (Schema in DBMS)
o A DBMS catalog holds metadata, including table structures, column names,
data types, and constraints.
3. Improves Data Management
o Enables data discovery, classification, and integration across different
applications.
4. Supports Program-Data Independence
o Metadata allows changes in data structure without modifying application
programs

A simplified database system environment


Program-Data Independence

Definition:
Program-Data Independence is a property of Database Management Systems (DBMS) where
the structure of the database (metadata) is stored separately from application programs. This
allows changes to the database structure without requiring changes to the application
programs that access the data.

Separation of Data and Programs

 In traditional file systems, data structures are embedded in application programs, making
them dependent on each other. In a DBMS, data is stored separately in a catalog
(metadata), ensuring that programs do not rely on specific data structures.

Schema Flexibility

 Changes in database structure (schema), such as adding new attributes or modifying data
types, do not require modifications in application programs. Only the metadata needs to
be updated.

Data Abstraction

 Users and applications interact with data at a high level without needing to know how it
is physically stored. The DBMS abstracts these storage details.
Reduces Program Maintenance

 Since application programs are independent of data structure changes, fewer


modifications are required when data formats change, reducing maintenance costs and
efforts.

Supports Multiple Views of Data

 Different users or applications can have customized views of the same database without
affecting the underlying structure, improving accessibility and usability.

Encapsulation of Data Storage

 DBMS encapsulates the physical storage details from applications, allowing for
optimized storage management without impacting user applications.

Improves Data Consistency

 Since all applications access a single, centralized data source, redundancy is minimized,
and data consistency is improved.

Enhances Security and Access Control

 Access to the database is controlled through permissions and authentication, ensuring that
users and applications can only access the data they are authorized to use.

Facilitates Database Evolution

 As business needs change, the database can evolve without affecting existing programs,
making it adaptable and scalable.

Optimizes Storage and Performance

 The DBMS manages indexing, caching, and query optimization, improving data retrieval
speed and system performance.
ACID Properties in DBMS

ACID properties ensure reliable processing of database transactions by maintaining consistency,


integrity, and reliability in a DBMS. ACID stands for:

1. Atomicity
2. Consistency
3. Isolation
4. Durability

1. Atomicity ("All or Nothing")

 Ensures that a transaction is either fully completed or fully rolled back if an error
occurs.
 If any part of the transaction fails, the entire transaction is undone to prevent partial
updates.
 Example:
o Suppose you are transferring ₹5000 from Account A to Account B.
o If ₹5000 is deducted from Account A but not credited to Account B due to a
system failure, the transaction should be rolled back so that Account A is restored
to its original balance.

2. Consistency ("Data Integrity is Maintained")

 Ensures that a transaction brings the database from one valid state to another valid
state.
 No transaction should violate database integrity constraints.
 Example:
o In a banking system, the total amount of money before and after a transaction
must remain the same.
o If ₹5000 is deducted from Account A, it must be added to Account B.

3. Isolation ("No Interference Between Transactions")

 Ensures that multiple transactions executing simultaneously do not interfere with


each other.
 Each transaction should be executed as if it were the only transaction running.
 Example:
o Two people booking the last train ticket at the same time should not both get
confirmation.
o The system should process one request first and lock the seat to prevent
duplication.
4. Durability ("Changes are Permanent")

 Ensures that once a transaction is committed, the changes are permanently stored
even in case of system failures.
 The database should not lose data due to power failures, crashes, or unexpected
shutdowns.
 Example:
o If a user successfully books a flight ticket, the booking must remain in the
system even if the server crashes immediately after the confirmation.
OLTP (Online Transaction Processing) in DBMS

What is OLTP?

OLTP (Online Transaction Processing) is a database system that is optimized for handling a
large number of short, real-time transactions. It is commonly used in applications where
quick, frequent insertions, updates, and deletions are required.

Key Features of OLTP

1. Fast Transaction Processing – Handles multiple short and frequent transactions


efficiently.
2. Concurrent Users – Supports thousands of users accessing the system simultaneously.
3. Atomicity, Consistency, Isolation, Durability (ACID) Compliance – Ensures reliable
and secure transactions.
4. Minimal Data Redundancy – Uses normalized database structures to prevent
duplication and maintain consistency.
5. Real-time Data Processing – Ensures that data is updated instantly after transactions.
6. Frequent Read/Write Operations – Involves continuous insert, update, delete, and
retrieve operations.
Advantages of Using the DBMS Approach

A Database Management System (DBMS) offers several advantages over traditional file-based
data management systems. Some key benefits include:

Advantages of Using the DBMS Approach

1. Controlling Redundancy
2. Restricting Unauthorized Access
3. Providing Persistent Storage for Program Objects
4. Efficient Query Processing and Storage Optimization
5. Backup and Recovery Support
6. Multiple User Interfaces
7. Representing Complex Relationships Among Data
8. Enforcing Integrity Constraints
9. Inferencing and Triggers for Automated Actions
10. Enforcing Standards
11. Reduced Application Development Time
12. Flexibility and Scalability
13. Availability of Up-to-Date Information
14. Economies of Scale

1. Controlling Redundancy

 In traditional file systems, multiple copies of the same data may be stored in different
files, leading to data redundancy.
 DBMS integrates data storage, minimizing duplication and ensuring data consistency
through normalization.

2. Restricting Unauthorized Access

 DBMS provides security mechanisms such as user authentication, access control, and
encryption to prevent unauthorized access.
 Users can be assigned different privileges (e.g., read-only or read-write access) to
safeguard sensitive information.

3. Providing Persistent Storage for Program Objects

 DBMS allows long-term storage of program objects and data structures, supporting
object-oriented programming languages like C++ and Java.
 This eliminates the impedance mismatch problem between databases and programming
languages.
4. Efficient Query Processing and Storage Optimization

 DBMS uses advanced indexing techniques (B-trees, hashing) to speed up data


retrieval.
 Data buffering and caching mechanisms improve query execution performance.

5. Backup and Recovery Support

 DBMS provides automated backup and recovery features to restore data in case of
system failures.
 Transactions are logged to ensure consistency in case of unexpected shutdowns.

6. Multiple User Interfaces

 A DBMS provides a variety of interfaces such as GUIs, query languages (SQL), and
mobile applications.
 It supports different user types, including casual users, application programmers, and
database administrators (DBAs).

7. Representing Complex Relationships Among Data

 Unlike traditional file-based systems, DBMS allows better representation of complex


relationships through relational, hierarchical, and network data models.
 This makes data retrieval and management easier and more efficient.

8. Enforcing Integrity Constraints

 DBMS enforces constraints like primary keys, foreign keys, and unique constraints
to maintain data accuracy.
 Referential integrity ensures that relationships between records remain valid.

9. Inferencing and Triggers for Automated Actions

 Modern DBMSs support deductive databases that infer new information based on stored
data.
 Triggers and stored procedures automate actions when specific conditions are met.

10. Enforcing Standards

 The database approach allows organizations to enforce naming conventions, data


formats, and report structures, promoting data consistency.
11. Reduced Application Development Time

 Once a database is designed, creating new applications (e.g., generating reports, data
analysis) requires less time compared to file-based systems.

12. Flexibility and Scalability

 DBMSs allow easy modifications to the database schema without affecting existing
applications.
 They are scalable to accommodate growing data volumes and user demands.

13. Availability of Up-to-Date Information

 Changes made to the database are immediately available to all users, ensuring real-time
access to the latest information.
 This is crucial for applications like banking systems, airline reservations, and e-
commerce platforms.

14. Economies of Scale

 Centralized database management reduces hardware, software, and administrative


costs.
 Organizations can invest in high-performance storage and computing resources
instead of maintaining multiple independent systems.
Types of End Users in DBMS

A Database Management System (DBMS) serves different types of users who interact with it
in various ways. End users are the people who need access to the database for querying,
updating, and generating reports. These users can be categorized as follows:

1. Casual End Users

 These users access the database occasionally and do not use it regularly.
 Each time they access the database, they may require different types of information.
 They use a sophisticated query interface to retrieve data.
 Examples: Middle- or high-level managers who need reports for decision-making.

2. Naive or Parametric End Users

 These users interact with the database on a regular basis.


 They use predefined queries and transactions that are already programmed.
 Their job involves performing repetitive tasks, such as querying and updating records.
 Many of these tasks are now automated in mobile apps.
 Examples:
o Bank tellers and customers checking balances, making withdrawals, and
deposits.
o Reservation agents or customers booking flights, hotels, or car rentals.
o Shipping employees updating package status using barcode scanners.
o Social media users posting and reading updates on platforms like Facebook or
Twitter.

3. Sophisticated End Users

 These are experienced users such as engineers, scientists, and business analysts.
 They understand the DBMS in depth and develop their own complex queries and
applications.
 They may use advanced tools like SQL, analytics software, or programming
languages to manipulate data.

4. Standalone Users

 These users work with personal databases using ready-made software packages.
 They do not interact with large-scale database systems but instead use local applications.
 Their interface is often menu-based or graphical, requiring minimal technical knowledge.
 Example: A user managing personal finances with a financial software package like
QuickBooks or Microsoft Excel.
Implications of Using the Database Approach

1. Enforcing Standards

 A centralized DBMS allows the Database Administrator (DBA) to enforce naming


conventions, data formats, and report structures across an organization.
 This improves data consistency, communication, and collaboration among
departments.

2. Reduced Application Development Time

 Once a database is established, new applications can be developed much faster


compared to traditional file systems.
 Predefined DBMS functions reduce coding efforts, cutting down development time to
one-sixth to one-fourth of that for file-based systems.

3. Flexibility

 Modern DBMSs support structural modifications without disrupting existing data or


applications.
 New data elements or files can be added to accommodate changing business needs.

4. Availability of Up-to-Date Information

 A DBMS ensures real-time data updates, making it ideal for transaction-based systems
like banking and reservations.
 Concurrency control mechanisms allow multiple users to access and modify data
simultaneously without inconsistencies.
5. Economies of Scale

 Consolidating data and applications reduces redundancy and optimizes resource


utilization across departments.
 Organizations can invest in high-performance infrastructure, reducing overall
operational costs.

When Not to Use a DBMS

Despite its numerous advantages, a DBMS may not always be the best choice due to its
associated overhead costs. Some situations where a DBMS might not be ideal include:

1. High Overhead Costs

 Significant initial investment in hardware, software, and staff training.


 Additional costs for security, concurrency control, recovery, and integrity features
that may not be needed in simpler applications.

2. Simple and Static Applications

 Well-defined, unchanging databases do not require the flexibility and complexity of a


DBMS.
 A customized file-based approach may be more efficient.

3. Real-Time Systems with Stringent Performance Needs

 Some applications require instant processing without the latency introduced by DBMS
features like security and concurrency control.
 Examples include telecommunications, industrial control systems, and embedded
systems.

4. Storage-Constrained Embedded Systems

 Limited memory and processing power may prevent the use of a full-fledged DBMS.
 Devices like IoT sensors, embedded controllers, and mobile devices may rely on
lightweight database solutions or file storage.

5. Single-User Applications

 If only one user accesses and updates the data, a DBMS may be unnecessary.
 Personal finance tools, simple spreadsheets, or stand-alone applications may function
well without a database system.
6. Domain-Specific Applications with Custom Data Management Needs

 Some industries require specialized data handling that a general-purpose DBMS cannot
efficiently support. Examples include:
o Computer-Aided Design (CAD) Software: Uses proprietary file formats
optimized for drawing and 3D modeling.
o Telecommunication Systems: Use hierarchical data structures for fast call
routing.
o Geographic Information Systems (GIS): Require spatial indexing and custom
data structures to process maps, contours, and polygons.
Advantages of DBMS.

Using a Database Management System (DBMS) provides several advantages over traditional
file-based systems. Here are some key benefits:

1. Data Integrity and Consistency

 Ensures accuracy and consistency of data through constraints (e.g., primary keys,
foreign keys).
 Prevents duplication and inconsistencies that can occur in file-based systems.

2. Data Security

 Provides authentication and authorization controls.


 Restricts access to sensitive data using user roles and permissions.

3. Data Redundancy Reduction

 Eliminates duplicate data storage by normalizing database structures.


 Improves storage efficiency and reduces data inconsistency.

4. Data Sharing and Multi-User Access

 Supports multiple users accessing the database simultaneously without conflicts.


 Implements concurrency control mechanisms to prevent data anomalies.

5. Backup and Recovery

 Provides automatic backup and recovery mechanisms in case of system failures.


 Ensures data durability by maintaining transaction logs.

6. Efficient Data Retrieval and Querying

 Uses powerful query languages like SQL to fetch, filter, and manipulate data efficiently.
 Optimizes performance using indexes and caching.

7. Improved Data Scalability

 Can handle large amounts of data efficiently.


 Supports horizontal and vertical scaling for growing applications.

8. Data Independence

 Separates logical and physical data structures, allowing modifications without affecting
applications.
9. Transaction Management

 Ensures ACID (Atomicity, Consistency, Isolation, Durability) properties for reliable


transactions.
 Prevents issues like data loss or inconsistency due to system crashes.

10. Enforced Standards

 Promotes data integrity rules and business logic enforcement.


 Ensures standardized data representation across applications.

History and Evolution of Database Applications

Databases have evolved significantly over the decades, from simple file-based storage systems to
highly advanced, AI-driven, cloud-based solutions. Below is a timeline of database evolution,
including current database technologies and examples.

1. Pre-Database Era (Before 1960s)

 Storage Medium: Manual records, paper files, and filing cabinets.


 File-Based Systems: Data was stored in flat files (e.g., CSV, text files).
 Challenges: High redundancy, inconsistency, slow retrieval, and lack of multi-user
access.

2. First Generation: Hierarchical & Network Databases (1960s - 1970s)

 Hierarchical Databases (e.g., IBM IMS – Information Management System, 1966)


o Data was structured like a tree (parent-child relationships).
o Used in banking, airline reservations (e.g., SABRE – American Airlines).
o Limitation: Hard to model complex relationships.
 Network Databases (e.g., CODASYL DBMS, 1971)
o Allowed many-to-many relationships (graph structure).
o Used in government and military applications.
o Limitation: Difficult schema management.

3. Second Generation: Relational Databases (1970s - 1980s)

 Introduction of the Relational Model (by Edgar F. Codd, 1970, IBM Research).
 Key Features:
o Data stored in tables (relations).
o Used Structured Query Language (SQL) for data manipulation.
o Supported ACID (Atomicity, Consistency, Isolation, Durability) properties for
transactions.
 Examples of RDBMS:
o Oracle (1979) – Enterprise database.
o IBM DB2 (1983) – Used in banking & finance.
o Microsoft SQL Server (1989) – Enterprise and cloud applications.
o MySQL (1995) – Web applications, open-source.
 Impact: Became the dominant database model used in finance, healthcare,
government, and enterprises.

4. Third Generation: Object-Oriented & Object-Relational Databases (1990s)

 Object-Oriented Databases (OODBMS)


o Stored complex data types (e.g., images, audio, video).
o Used in multimedia applications, engineering, CAD/CAM.
o Examples: ObjectDB, Versant.
 Object-Relational Databases (ORDBMS)
o Hybrid of relational and object-oriented databases.
o Examples: PostgreSQL, Oracle.

5. Fourth Generation: NoSQL & Big Data Databases (2000s - Present)

 NoSQL Databases (designed for large-scale web applications)


o Document-Based: MongoDB (used by Facebook, Uber, eBay).
o Key-Value Store: Redis (used for caching, real-time apps).
o Column-Family Stores: Apache Cassandra (used by Netflix).
o Graph Databases: Neo4j (used in fraud detection, social networks).
 Big Data & Cloud Databases (designed for high scalability)
o Google BigTable – Used in Google Search, YouTube.
o Amazon DynamoDB – Used for scalable cloud applications.
o Apache Hadoop & Spark – Used for large-scale data processing.

6. Current Database Trends (2020s - Present)

Cloud Databases

 Google Firebase – Real-time mobile & web apps.


 Amazon Aurora – Scalable relational database.
 Microsoft Azure Cosmos DB – Multi-model database for global apps.

AI-Driven Databases

 Autonomous Databases (e.g., Oracle Autonomous DB) – Self-optimizing and self-


repairing.
 Vector Databases (e.g., Pinecone, Weaviate) – Used in AI search and recommendation
systems.

Blockchain Databases

 BigchainDB – Decentralized and tamper-proof.


 Hyperledger Fabric – Used in finance and supply chain.

Quantum Databases (Future)

 Research is ongoing to use quantum computing for superfast data processing.

Solution

Data refers to raw facts, figures, or details that can be processed or analyzed to derive
meaningful information. It can exist in various forms, such as numbers, text, images, audio, or
video, and is stored in databases for retrieval and processing.

Database is an organized collection of data that is stored, managed, and accessed electronically.
It allows users to efficiently retrieve, update, and manipulate data while ensuring consistency,
security, and integrity.

DBMS (Database Management System) is software that enables users to create, manage, and
manipulate databases efficiently. It provides tools for storing, retrieving, updating, and securing
data while ensuring integrity, concurrency control, and data consistency.

A Database System is a combination of a database, Database Management System (DBMS),


and associated applications that work together to store, manage, and process data efficiently. It
includes hardware, software, users, and procedures used to interact with the database.

A Database Catalog is a centralized repository that stores metadata about the database,
including information about tables, schemas, data types, constraints, views, indexes, and
relationships. It helps the DBMS manage and organize data efficiently.
DBA (Database Administrator) is a person responsible for managing, maintaining, and
securing a database system. The DBA ensures database integrity, performance, backup and
recovery, user access control, and overall system optimization. They also define database
schemas, enforce security policies, and monitor database operations.

End User refers to individuals who interact with a database system to perform tasks such as
querying, updating, or generating reports. End users can be categorized into different types:

 Casual End Users – Occasionally access the database with complex queries.
 Naïve or Parametric End Users – Regularly use predefined transactions (e.g., bank
tellers, reservation agents).
 Sophisticated End Users – Develop their own database applications (e.g., engineers,
analysts).
 Standalone Users – Use personal database applications (e.g., financial software users).

Program-Data Independence refers to the ability to change the database schema without
requiring changes to the application programs that access the data. This is achieved through the
use of data abstraction, where the database structure is separate from the application logic,
allowing flexibility in modifying the data organization without affecting existing applications.

User View refers to the specific way a particular user or group of users interacts with and
perceives the database. It defines what data they can access and how it is presented, ensuring that
users only see relevant information based on their roles and requirements. Different users may
have different views of the same database, depending on their needs.

Canned Transaction refers to a predefined, standardized database query or operation that is


programmed in advance and executed repeatedly by end users. These transactions are designed
for efficiency, consistency, and ease of use, requiring minimal user input.

Examples include:

 Bank account balance inquiries


 Hotel or airline reservation systems
 Online order processing
 ATM cash withdrawals

A Deductive Database System is a database system that extends traditional databases with
logic-based inference capabilities. It uses rules and facts to derive new information from existing
data. These systems are often based on logic programming languages like Datalog and are useful
for applications requiring complex reasoning.

Key Features:

 Uses rules (if-then statements) to infer new facts.


 Supports recursive queries to derive deeper insights.
 Combines declarative logic with relational database principles.
Example:

A deductive database storing employee data might have a rule:


"If X is a manager of Y, and Y is a manager of Z, then X is also an indirect manager of Z."
This rule can infer indirect relationships without storing them explicitly.

A persistent object is an object that continues to exist beyond the execution of the program that
created it. It is stored in a non-volatile storage medium, such as a database, file system, or
cloud storage, allowing it to be retrieved and used later.

Meta-data (short for "data about data") refers to descriptive information about the structure,
properties, and management of data stored in a database. It helps the DBMS understand,
organize, and retrieve data efficiently.

Examples of Meta-data:

 Schema definitions (tables, columns, data types)


 Constraints (primary keys, foreign keys)
 Indexes (used for faster retrieval)
 Access control information (user permissions)

Where is Meta-data Stored?

Meta-data is typically stored in the Database Catalog (or Data Dictionary) and is used by the
DBMS to manage the database efficiently.

Data Dictionary is a centralized repository that stores metadata about the database. It contains
detailed information about the database's structure, including definitions of tables, columns, data
types, constraints, relationships, and other database objects. This repository helps the DBMS
manage and organize the data efficiently and serves as a reference for database administrators
and developers.

Transaction-Processing Application refers to a system that manages a series of operations


(transactions) on a database, ensuring that each transaction is executed in a reliable, consistent,
and secure manner. These applications typically adhere to the ACID properties (Atomicity,
Consistency, Isolation, Durability) to maintain data integrity.

Key Characteristics:

 Real-Time Processing: Transactions are processed quickly, often in real-time, to support


operational business functions.
 ACID Compliance: Ensures that every transaction is processed completely or not at all,
maintaining data consistency even in case of failures.
 Concurrency Control: Supports multiple simultaneous transactions while preventing
conflicts and ensuring data integrity.
 Examples: Banking systems for fund transfers, airline reservation systems, online retail
order processing, and ATM operations.

These applications are critical for environments where timely and accurate data processing is
essential to business operations.

Four main types of actions involving databases:

Each action plays a vital role in overall database management, ensuring that data is structured
properly (Data Definition), remains accurate (Data Manipulation), can be efficiently retrieved
(Data Retrieval), and is processed reliably in business-critical operations (Transaction
Processing).

Responsibilities of the DBA (Database Administrator)

 Security Management:
o Ensure proper user authentication and authorization.
o Implement and monitor access controls and encryption.
 Performance Tuning:
o Optimize query performance, indexing, and resource allocation.
o Monitor and manage the overall performance of the database.
 Backup and Recovery:
o Implement regular backup schedules.
o Develop and execute recovery plans to handle data loss or system failures.
 Maintenance and Updates:
o Apply patches and updates to the DBMS software.
o Monitor system health and perform routine maintenance tasks.
 Data Integrity and Consistency:
o Enforce integrity constraints and manage data consistency.
o Ensure compliance with ACID properties in transactions.
 User Support and Troubleshooting:
o Assist users with database issues and queries.
o Monitor logs and resolve operational issues.
 Resource Management:
o Manage storage allocation and optimize hardware resources.
o Plan for scalability and future growth.

Responsibilities of Database Designers

 Database Schema Design:


o Develop logical and physical data models that define tables, relationships, and
constraints.
o Perform normalization to reduce redundancy and improve data integrity.
 Requirement Analysis:
o Gather and analyze business requirements.
o Translate business needs into a coherent database structure.
 Data Modeling:
o Create Entity-Relationship (ER) diagrams or other models to represent data
relationships.
o Define data elements, keys (primary, foreign), and indexes.
 Design for Performance:
o Incorporate strategies for efficient data retrieval and storage (e.g., indexing,
partitioning).
o Plan for scalability and future performance requirements.
 Documentation and Standards:
o Document database designs, standards, and best practices.
o Establish naming conventions and data definitions.
 Collaboration with Stakeholders:
o Work with DBAs, developers, and business analysts to ensure the design meets
user needs.
o Adjust designs based on feedback and evolving requirements.
 Ensuring Data Integrity and Security:
o Define constraints and relationships to ensure accurate and secure data.
o Incorporate measures for data backup, recovery, and consistency.
A robust DBMS should provide a comprehensive set of capabilities to support efficient, secure,
and scalable data management. Here are the key capabilities that a DBMS should offer:

1. Data Definition and Schema Management


o Data Definition Language (DDL): Allows administrators and designers to
define and modify the database structure (schemas, tables, columns, indexes,
constraints).
o Schema Evolution: Supports changes in the schema with minimal impact on
existing applications (program-data independence).
2. Data Manipulation and Query Processing
o Data Manipulation Language (DML): Enables insertion, deletion, and updating
of data using standardized commands (e.g., SQL).
o Query Processing and Optimization: Efficiently processes queries through
indexing, caching, and query optimization to retrieve data quickly.
3. Transaction Management
o ACID Compliance: Ensures that transactions are processed reliably by enforcing
Atomicity, Consistency, Isolation, and Durability.
o Concurrency Control: Manages simultaneous access by multiple users to
prevent conflicts and maintain data integrity.
4. Security and Access Control
o Authentication and Authorization: Controls user access through roles,
passwords, and permissions, ensuring that only authorized users can access or
modify data.
o Data Encryption: Protects sensitive information both at rest and during
transmission.
5. Backup and Recovery
o Automated Backup: Provides regular, scheduled backups to safeguard data
against loss.
o Recovery Mechanisms: Implements strategies such as transaction logging,
rollback, and restore operations to recover from system failures or errors.
6. Data Integrity Enforcement
o Integrity Constraints: Enforces rules like primary keys, foreign keys, unique
constraints, and check constraints to maintain data accuracy and consistency.
o Referential Integrity: Ensures that relationships between tables remain valid
(e.g., a foreign key must refer to an existing primary key).
7. Data Abstraction and Independence
o Logical Data Independence: Hides the physical storage details from the users
and application programs, providing a high-level conceptual view.
o Multiple User Views: Supports different views of the data tailored to various
user roles and requirements.
8. Performance Optimization
o Indexing: Uses indexing strategies to speed up data retrieval operations.
o Buffering and Caching: Maintains frequently accessed data in memory to reduce
disk I/O and enhance performance.
o Query Optimization: Automatically selects efficient execution plans for
complex queries.
9. Data Sharing and Multi-User Support
o Concurrent Access: Supports multiple users accessing and modifying the
database simultaneously while ensuring data consistency.
o Locking and Isolation Levels: Provides mechanisms to manage resource locks
and isolation levels to balance performance with data integrity.
10. Application Interface and Extensibility
o APIs and Query Languages: Offers interfaces such as SQL, ODBC, JDBC, or
RESTful APIs for application integration.
o Stored Procedures and Triggers: Allows encapsulation of business logic within
the database to enforce rules and automate tasks.
o User-Defined Functions: Enables users to extend the functionality of the DBMS.
11. Data Distribution and Scalability
o Distributed Database Support: Manages data spread across multiple locations
or servers, supporting replication and partitioning.
o Scalability: Adapts to increasing data volumes and user loads without significant
performance degradation.
12. User and Administration Tools
o Graphical Interfaces: Provides GUI tools for monitoring, managing, and tuning
the database.
o Data Dictionary/Metadata Repository: Maintains metadata about the database
structure, facilitating administration and compliance.
Data Models, Schemas, and Instances

Data abstraction generally refers to the suppression of details of data organization and storage,
and the highlighting of the essential features for an improved understanding of data. One of the
main characteristics of the database approach is to support data abstraction so that different users
can perceive data at their preferred level of detail.

In a DBMS, data abstraction typically occurs at three levels:

1. Physical Level:
o Describes how data is actually stored on hardware (e.g., file structures, indexing,
storage formats).
o Hidden from users to shield them from low-level details.
2. Logical Level:
o Defines what data is stored in the database and the relationships among those
data.
o Focuses on the schema, tables, and constraints without exposing physical storage
details.
3. View Level:
o Provides tailored representations of the database for different users or
applications.
o Users interact with the data through views that only show relevant information.

This layered approach simplifies database interaction, promotes data independence, and enables
easier maintenance and evolution of the system.

Data Model

A data model is a set of conceptual tools that enables us to outline the architecture of a database
in an abstract manner. It defines the data types, associations, and restrictions that the stored
information must adhere to, and it generally incorporates a collection of operations for retrieving
and modifying that data.

Essential Concepts:

 Structure Specification:
o Details the data formats (e.g., integer, string, date),
o Describes the associations between different data entities (e.g., one-to-many,
many-to-many), and
o Establishes rules to maintain data validity (e.g., primary keys, foreign keys,
unique constraints).
 Abstraction:
o By delivering a high-level conceptual framework, the data model conceals the
intricacies of how data is physically stored on disk, enabling users and developers
to interact with information in a more intuitive and consistent fashion.
 Fundamental Operations:
o Data models not only delineate the structure of information but also support
actions such as querying (extracting data) and updating (adding, modifying, or
removing data).

Categories of Data Models


Schemas, Instances, and Database State

In a data model, it is important to distinguish between the description of the database and the
database itself. The description of a database is called the database schema,

Most data models have certain conventions for displaying schemas as diagrams. A displayed
schema is called schema diagram.

Schema diagram for the database


Each object in the schema—such as STUDENT or COURSE—a schema construct.

A schema diagram displays only some aspects of a schema, such as the names of record types
and data items, and some types of constraints. Other aspects are not specified in the schema
diagram., shows neither the data type of each data item nor the relationships among the various
files. Many types of constraints are not represented in schema diagrams.

The database schema and database state are two fundamental concepts in database design:

 Database Schema (Intension):


o This is the fixed, static definition of the database structure.
o It specifies the data types, tables, relationships, constraints, and other structural
elements.
o The schema is stored as metadata in the DBMS catalog, and it guides how data
can be stored and managed.
o It remains constant unless intentionally modified by database designers.
 Database State (Extension):
o This is the dynamic, current collection of data stored in the database at any given
time.
o It changes whenever data is inserted, updated, or deleted, reflecting the evolving
content of the database.
o The initial state is empty when the schema is first defined and later populated with
data.
o Every update operation produces a new database state that must adhere to the
rules defined by the schema.

The DBMS plays a crucial role in ensuring that every state of the database remains valid by
enforcing the constraints and structure specified in the schema. This separation of schema (the
blueprint) from state (the actual data) is essential for maintaining data integrity and supporting
effective database management.

Three-Schema Architecture and Data Independence.

The three-schema architecture is a conceptual framework designed to achieve key


characteristics of the database approach—namely, making the database self-describing,
insulating programs from data changes (program-data and program-operation independence), and
supporting multiple user views. Here’s a breakdown:

1. Self-Describing Nature:
o The DBMS uses a catalog to store the database description (schema).
o This metadata makes the system self-describing because the DBMS can refer to
the catalog to understand the database structure, constraints, and relationships,
regardless of the specific application.
2. Program-Data and Program-Operation Independence:
oThe separation of the schema (structure) from the application programs ensures
that changes in the data organization do not force a complete rewrite of the
programs.
o This insulation allows the DBMS to adapt to changes in storage or operations
(like new indexing strategies or modifications in table structure) without affecting
the application layer.
3. Support for Multiple User Views:
o The architecture allows different users or user groups to have customized views of
the database.
o These views ensure that each user sees only the relevant subset of the data, which
is particularly useful in large, multiuser environments.

The Three-Schema Architecture

This architecture divides the database system into three distinct levels:

 External Schema (User Views):


o Defines the way individual users see the data.
o Tailors data presentation to meet the needs of different user groups (e.g.,
managers, analysts, and operational staff).
 Conceptual Schema:
o Provides a unified, community-wide view of the entire database.
o Specifies all entities, relationships, constraints, and the overall logical structure
without exposing physical storage details.
 Internal Schema:
o Describes how data is physically stored in the database.
o Includes details like file organization, indexing, and access paths that are
optimized for performance and storage efficiency.

Data Independence

This architecture supports data independence in two key ways:

 Logical Data Independence:


o Changes to the conceptual schema (such as adding a new attribute) do not affect
the external schemas (user views) or application programs.
 Physical Data Independence:
o Changes in the internal schema (like modifying storage or indexing mechanisms)
do not affect the conceptual schema or the external user views.
The Three-Schema Architecture

The three-schema architecture

The goal of the three-schema architecture is to separate the user applications from the physical
database. In this architecture, schemas can be defined at the following three levels:

1. The internal level has an internal schema, which describes the physical storage structure of the
database. The internal schema uses a physical data model and describes the complete details
of data storage and access paths for the database

2. The conceptual level has a conceptual schema, which describes the structure of the whole
database for a community of users. The conceptual schema hides the details of physical
storage structures and concentrates on describing entities, data types, relationships, user
operations, and constraints. Usually, a rep resentational data model is used to describe the
conceptual schema when a database system is implemented. This implementation conceptual
schema is often based on a conceptual schema design in a high-level data model.

3. The external or view level includes a number of external schemas or user views. Each
external schema describes the part of the database that a particular user group is interested in
and hides the rest of the database from that user group. As in the previous level, each external
schema is typically implemented using a representational data model, possibly based on an
external schema design in a high-level conceptual data model.
The three-schema architecture is a conceptual framework that helps visualize and separate the
different levels of abstraction in a database system. Here’s a summary of its key points:

Separation of Levels:
The architecture divides the database into three levels:

1. External Level:
 Defines user views or external schemas.
 Each user or group sees a tailored subset of the data, which is relevant to
their needs.
2. Conceptual Level:
 Represents the overall logical structure of the entire database.
 It describes the entities, relationships, and constraints without including
physical storage details.
3. Internal Level:
 Details the physical storage of data, including file structures, indexes, and
access paths.
 Mappings Between Levels:
o Mappings are used to translate requests and data between these levels.
o When a user submits a query via an external schema, the DBMS maps this request
first to the conceptual schema and then to the internal schema to retrieve the
actual data.
o After processing, the results are mapped back to the external view, ensuring that
users see data in a format that makes sense to them.
 Practical Implications:
o Although many DBMSs may not completely separate these levels explicitly (for
example, some older systems may mix physical details with conceptual
information), the three-schema architecture remains crucial for designing flexible,
scalable, and maintainable databases.
o Modern systems like Oracle or SQL Server often use the same data model (e.g.,
relational SQL) for both external and conceptual schemas, but they still
conceptually support this separation to achieve data independence and modularity.
 Advantages:
o It promotes data independence, allowing changes in one level (like physical
storage modifications) without affecting the others (such as user interfaces).
o It helps in managing complexity by isolating the user’s perspective from the
underlying data organization.

The three-schema architecture provides a powerful way to design a database system by clearly
distinguishing between how data is viewed by users, how it is logically organized, and how it is
physically stored, with mappings ensuring seamless transformation of requests across these
layers.
Data independence

Data independence is the ability to modify the schema at one level of a database system without
altering the schema or application programs at the next higher level. It ensures that changes in
the structure or storage of data do not ripple through the entire system. There are two primary
types:

1. Logical Data Independence

 Definition:
The capacity to change the conceptual schema (the overall logical structure of the
database) without having to modify the external schemas (user views) or the application
programs that interact with the database.
 What It Means:
You can add, delete, or reorganize data items or record types in the conceptual schema,
and as long as the changes do not affect the external view, the applications remain
unaffected. For example, if you expand the database by adding a new data item or modify
constraints, only the mappings and possibly the view definitions might need
adjustment—not the applications that query the database.
 Example:
Imagine a university database where a new attribute "Middle Name" is added to the
student record in the conceptual schema. If the external schema (e.g., a student transcript
view) does not require displaying "Middle Name," the change is invisible to the
application programs using that view.

2. Physical Data Independence

 Definition:
The capacity to change the internal schema (how data is physically stored on the storage
media) without having to alter the conceptual schema.
 What It Means:
You can reorganize the physical storage of data, such as creating new indexes, changing
file organization, or modifying access paths, without affecting the logical structure of the
database or the user views. This allows improvements in performance (e.g., faster query
processing) while keeping the higher-level schema and application logic intact.
 Example:
Consider a database storing course information. If the DBMS introduces an additional
access path—such as an index based on semester and year—to speed up queries like “List
all sections offered in Fall 2008,” this physical reorganization does not require any
changes to the conceptual schema or the query itself.
Mapping Between Levels

To maintain data independence, the DBMS uses mappings stored in its catalog to translate
requests between:

 External Schema (user views)


 Conceptual Schema (logical structure)
 Internal Schema (physical storage)

When a change is made at one level (for example, adding an index at the physical level), only the
mapping information is updated, and the schema at the next higher level remains unchanged.
This separation ensures that application programs and user views remain consistent and do not
need to be modified with every change in data organization.

Importance

 Maintains Flexibility:
Allows the database to evolve (both logically and physically) without forcing changes to
all dependent applications or user interfaces.
 Reduces Maintenance:
Developers and DBAs can optimize storage or update constraints without rewriting
application code.
 Improves Performance:
Physical changes can be made to improve performance (like better indexing) without
impacting the logical design that users interact with.

DBMS Languages and Interfaces

DBMS Languages and Interfaces provide the tools and methods by which users, programmers,
and administrators interact with a database. The main points are:

1. Data Definition Language (DDL):


o Used by DBAs and database designers to define the conceptual schema (and
sometimes the internal schema) of a database.
o Commands like CREATE, ALTER, and DROP describe the structure of tables,
columns, constraints, etc., and are compiled by the DBMS into metadata stored in
the catalog.
2. Storage Definition Language (SDL):
o In systems that separate conceptual and internal schemas, SDL is used to specify
the physical storage details such as file organization, indexing, and access paths.
o In many modern relational DBMSs, storage details are handled through a
combination of functions and parameters rather than a dedicated SDL.
3. View Definition Language (VDL):
o Although ideally distinct, many systems use the DDL to define external schemas
(user views) that provide tailored representations of the conceptual schema.
o In relational databases like Oracle or SQL Server, SQL is used for defining views,
essentially acting as a VDL.
4. Data Manipulation Language (DML):
o Provides the means to interact with the data once the database is populated.
o Includes commands for data retrieval, insertion, deletion, and updating (e.g.,
SQL’s SELECT, INSERT, UPDATE, and DELETE).
o High-level (nonprocedural) DML:
 Also known as set-oriented or declarative DML; it allows users to specify
what data is needed without detailing how to retrieve it.
o Low-level (procedural) DML:
 Involves record-at-a-time processing with constructs like loops and
conditional statements and must be embedded in a general-purpose
programming language (making it a data sublanguage when used in a host
language).
5. Integrated Database Language:
o Most modern DBMSs use a single, comprehensive language—SQL is the most
common example—that integrates DDL, VDL, and DML, while storage
definition is handled separately by DBAs.
o These languages support both interactive querying for casual end users and
embedded DML for application developers.
6. User Interfaces:
o Beyond formal languages, DBMSs offer various interfaces (graphical user
interfaces, command-line interfaces, and application-specific forms) to simplify
database interactions, especially for users who are not familiar with query
languages.
DBMS interfaces make databases more accessible by catering to different types of users,
from beginners to advanced administrators. Whether through GUIs, forms, voice
commands, or mobile apps, these interfaces help users efficiently interact with data without
requiring complex coding.

Types of DBMS Interfaces

1. Menu-Based Interfaces (Web Clients & Browsing)

 Presents users with a list of options or menus to navigate the database.


 Used in Web applications and mobile apps where users select options instead of writing
queries.
 Example: Online shopping websites where users filter products by category, price, and
brand.

2. Mobile App Interfaces

 Used in banking, e-commerce, and reservation systems to access data via smartphones.
 Typically includes login authentication and provides limited menus for common
actions.
 Example: Google Pay, Amazon, Zomato.

3. Forms-Based Interfaces

 Displays a structured form where users can enter or search for data.
 Users fill in fields to input new data or retrieve matching records.
 Example:
o A hospital management system where users enter patient details.
o Oracle Forms for enterprise applications.

4. Graphical User Interfaces (GUI)

 Displays database schemas visually in a diagrammatic format.


 Users interact using drag-and-drop operations.
 Often used in database design tools like MySQL Workbench or Microsoft Access.

5. Natural Language Interfaces

 Accepts queries written in plain English (or another language).


 Uses an AI-based engine to interpret the query and convert it into a database query.
 If unclear, the system asks the user for clarification.
 Example:
o Chatbots in customer support (“What is my last transaction?”).
o AI-driven database assistants like ChatGPT for SQL generation.

6. Keyword-Based Search Interfaces


 Similar to Google Search, but for structured databases.
 Users enter keywords, and the system finds relevant records.
 Uses indexing and ranking functions to present the most relevant results.
 Example:
o Google Drive search (finding documents based on keywords).
o Enterprise search tools for database queries.

7. Speech-Based Interfaces

 Uses voice recognition to interpret spoken queries.


 Converts speech to text, processes the query, and returns results as speech or text.
 Used in hands-free environments.
 Example:
o Voice assistants like Siri, Alexa, and Google Assistant.
o IVR (Interactive Voice Response) systems in banking and airlines.

8. Interfaces for Parametric Users

 Designed for users who repeat specific tasks frequently.


 Includes shortcuts and function keys for quick actions.
 Example:
o Bank tellers using a simple interface for transactions.
o Retail POS systems where cashiers scan items and process payments.

9. Interfaces for Database Administrators (DBAs)

 Provides advanced controls for database maintenance.


 Used for account creation, system configuration, backup, performance tuning.
 Example: MySQL Admin Panel, Oracle Enterprise Manager.
The Database System Environment

DBMS Components and Architecture

A DBMS consists of multiple modules responsible for different tasks, from storing data to processing
user requests efficiently.

Component modules of a DBMS and their interactions.

1. Users & Interfaces (Top Part of DBMS Architecture)

Different users interact with the DBMS through various interfaces:


 Database Administrators (DBAs): Define and manage the database using Data Definition
Language (DDL).
 Casual Users: Use interactive query interfaces (e.g., SQL query editors).
 Application Programmers: Write programs in Java, C, Python, or PHP that interact with the
database.
 Parametric Users: Execute canned transactions (predefined operations) by providing
parameters (e.g., bank transactions).

2. DBMS Catalog & Metadata Management

 The DBMS catalog stores schema definitions (metadata), including:


o File names and sizes.
o Data types of attributes.
o Indexes and storage details.
o Constraints and relationships between schemas.
 The DDL compiler processes schema definitions and updates the catalog.

3. Query Processing & Optimization

 Query Compiler: Parses, validates, and converts SQL queries into an internal format.
 Query Optimizer: Improves execution efficiency by:
o Reordering operations.
o Removing redundant computations.
o Using efficient search algorithms.

4. Application Program Processing

 Programs written in host languages (e.g., Java, C, C++) contain Embedded SQL or DML
commands.
 Precompiler: Extracts SQL/DML commands and sends them to the DML compiler.
 The compiled DML object code is linked with the host program.
 Canned Transactions: Predefined queries embedded in applications, executed frequently (e.g.,
bank transfers, e-commerce orders).

5. Runtime Database Processing

The runtime database processor is responsible for:

1. Executing queries, transactions, and privileged commands.


2. Managing data transfer between disk and memory.
3. Working with the stored data manager to retrieve and update data.

6. Storage & Buffer Management

 The stored data manager handles disk access using buffer management.
 Some DBMSs use their own buffer management module to optimize disk read/write operations,
improving performance.

7. Concurrency Control & Recovery

 Ensures multiple users can access the database without conflicts.


 Includes locking mechanisms and transaction logging.
 Supports backup and recovery to restore data in case of failures.

8. Client-Server & Distributed DBMS

 Client programs (running on user devices) connect to a database server.


 In some cases, an application server acts as an intermediary between the client and the
database server.

Conceptual Modelling.

This passage discusses conceptual modeling as an essential phase in database design, focusing
on the Entity-Relationship (ER) model and its role in structuring database applications.

1. Importance of Conceptual Modeling

 Conceptual modeling is crucial for designing a successful database application.


 A database application consists of:
o The database itself.
o Programs that implement queries and updates.
o User interfaces (GUIs, forms, menus, mobile apps).
 Example: A BANK database application manages customer accounts and transactions through
web interfaces and mobile apps.

Software Engineering vs. Database Design

 Traditionally, software engineering focuses on designing and testing application programs.


 Database design focuses on defining the data structures and constraints.
 These two methodologies are intertwined since application programs rely on well-designed
databases.

2. Entity-Relationship (ER) Model

The ER model is a high-level conceptual data model used for designing databases. It includes:

 Entities (real-world objects).


 Attributes (characteristics of entities).
 Relationships (associations between entities).
ER Diagrams

 A diagrammatic representation of the ER model.


 Helps visualize the database schema.
 Includes entities, attributes, and relationships.

3. Role of UML in Database Design

 Unified Modeling Language (UML) is used for software and database design.
 Class diagrams in UML are similar to ER diagrams but also specify:
o Operations on objects (methods).

4. Enhanced-ER (EER) Model

 EER Model extends ER with:


o Specialization & Generalization (hierarchical structures).
o Inheritance (attributes inherited from parent entities).
o Union Types (Categories) (combining entities).

Specialization and Generalization (ERD)

Assignment Test will be conducted .

You might also like