You are on page 1of 20

Introduction to DBMS: Why database?

Characteristics of data in database, DBMS.


What are database advantages of DBMS?
Database Architecture and Modeling:
Conceptual, physical and logical database
models, Role of DBA, Database design.
Entity Relationship (ER) Model:
Components of ER-model, ER modeling
symbols, Relationships. Enhanced Entity
Relationship (EER) Model: An introduction,
Superclass and subclass entity types,
Specialization, Generalization, Attribute
inheritance, Categorization & Aggregation.
ChatGPT
ChatGPT
Introduction to DBMS:
A Database Management System (DBMS)
is a software system designed to manage,
store, and retrieve data efficiently. It
serves as an interface between users and
the database, facilitating data
organization, manipulation, and security.
Why database?
Data Organization: Databases provide a
structured way to organize and store large
volumes of data, making it easier to
manage and retrieve information.
Data Integrity: Databases enforce integrity
constraints to ensure that data remains
accurate and consistent over time.
Data Security: DBMSs offer various
security mechanisms to protect sensitive
data from unauthorized access and
modification.
Data Sharing: Databases enable multiple
users to access and modify data
concurrently, facilitating collaboration and
teamwork.
Data Scalability: With databases,
organizations can easily scale their data
infrastructure to accommodate growing
data volumes and user requirements.
Characteristics of data in database,
DBMS:
Structured: Data in a database is
organized into tables with predefined
schemas, enforcing data consistency and
integrity.
Persistent: Databases store data
persistently, ensuring that it remains
available even after system restarts or
failures.
Shared: DBMSs support concurrent access
to data by multiple users or applications,
enabling collaboration and data sharing.
Secured: DBMSs implement security
mechanisms to protect data from
unauthorized access, ensuring data
confidentiality and integrity.
Integrated: Databases support the
integration of data from various sources,
providing a unified view of organizational
data.
Advantages of DBMS:
Data Centralization: DBMSs centralize
data storage, making it easier to manage
and access data from a single location.
Data Consistency: DBMSs enforce data
integrity constraints, ensuring that data
remains consistent and accurate.
Improved Data Security: DBMSs provide
security features such as access control
and encryption to protect data from
unauthorized access and breaches.
Concurrent Access: DBMSs support
concurrent access to data by multiple
users or applications, enabling
collaboration and scalability.
Data Recovery: DBMSs offer backup and
recovery mechanisms to restore data in
case of system failures or disasters.
Database Architecture and Modeling:
Conceptual Database Model: Describes
the high-level structure and relationships
of data without specifying implementation
details.
Physical Database Model: Defines how
data is stored and organized on storage
devices such as disks.
Logical Database Model: Bridges the gap
between the conceptual and physical
models, specifying the logical structure of
the database without concerning
implementation details.
Role of DBA (Database Administrator):
Responsible for managing and maintaining
the database system, including tasks such
as performance tuning, security
management, and backup and recovery.
Entity Relationship (ER) Model:
Components: Entities, Attributes,
Relationships
Symbols: Rectangles for entities, ovals for
attributes, diamonds for relationships
Relationships: One-to-One, One-to-Many,
Many-to-Many
Enhanced Entity Relationship (EER)
Model:
Introduction: Extends the ER model with
additional concepts such as inheritance,
specialization, and aggregation.
Superclass and Subclass Entity Types:
Represented using inheritance
relationships, where subclasses inherit
attributes and relationships from
superclasses.
Specialization: Process of defining
subclasses based on common attributes or
relationships.
Generalization: Process of combining
multiple entity types into a more general
entity type.
Attribute Inheritance: Subclasses inherit
attributes from their superclass.
Categorization & Aggregation:
Categorization involves grouping entities
based on common characteristics, while
aggregation involves combining multiple
entities into a higher-level entity.
You
The Relational Data Model: Fundamental
Concepts: Relations, Null Values, Keys,
Foreign Keys, Integrity Constraints - Entity
Integrity & Relational Integrity.
Normalization Process: First Normal Form,
Functional Dependencies, Second Normal
Form, Third Normal Form, Boyce-Codd
Normal Form (BCNF), Fourth Normal
Form; Other Normal Forms - Fifth Normal
Form & Domain/Key Normal Form.
Transforming a Conceptual Model to a
Relational Model: Transforming Objects
Sets and Attributes, Transforming Models
without External Keys, Transforming
Specialization and Generalization Object
Sets, Transforming Relationships: One-One
Relationships, One-Many Relationships,
Many-Many Relationships; Transforming
Aggregated Object Sets, Transforming
Recursive Relationships.
ChatGPT
ChatGPT
The Relational Data Model:
Fundamental Concepts:
Relations: Tables in the relational model
that represent sets of tuples (rows) with
attributes (columns).
Null Values: Represent missing or
unknown information in a relation.
Keys: Attributes or combination of
attributes that uniquely identify tuples
within a relation.
Foreign Keys: Attributes in a relation that
refer to the primary key of another
relation, establishing referential integrity.
Integrity Constraints: Rules that enforce
data integrity, including entity integrity
(ensuring primary key uniqueness) and
relational integrity (maintaining referential
integrity between relations).
Normalization Process:
First Normal Form (1NF): Ensures that
each attribute contains atomic values and
there are no repeating groups.
Functional Dependencies: Relationships
between attributes such that the value of
one attribute uniquely determines the
value of another.
Second Normal Form (2NF): Ensures that
all non-key attributes are fully functional
dependent on the primary key.
Third Normal Form (3NF): Eliminates
transitive dependencies, ensuring that
non-key attributes depend only on the
primary key.
Boyce-Codd Normal Form (BCNF): A
stricter form of 3NF where every
determinant is a candidate key.
Fourth Normal Form (4NF): Addresses
multi-valued dependencies.
Fifth Normal Form (5NF): Further
decomposition to eliminate redundancy.
Domain/Key Normal Form: Ensures that
every constraint is a logical consequence
of the definition of keys and domains.
Transforming a Conceptual Model to a
Relational Model:
Transforming Object Sets and Attributes:
Each object set becomes a relation, and
each attribute becomes a column in the
corresponding relation.
Transforming Models without External
Keys: Primary keys are identified for each
relation, ensuring entity integrity.
Transforming Specialization and
Generalization Object Sets: Specialization
results in multiple relations for subclasses,
while generalization can involve combining
multiple relations into one.
Transforming Relationships:
One-One Relationships: Attributes of one
relation become foreign keys in the other.
One-Many Relationships: The primary key
of the "one" side becomes a foreign key in
the "many" side.
Many-Many Relationships: Requires an
intermediary relation (associative entity).
Transforming Aggregated Object Sets:
Aggregated object sets are represented by
single relations, incorporating attributes
from the aggregated objects.
Transforming Recursive Relationships: A
recursive relationship can be represented
by a single relation with a foreign key that
references the same relation.
You
Relational database implementation: (a)
Relational Algebra and Calculus Relational
Algebra: Union, Intersection, Difference,
Product, Select, Project, Join - Natural,
Theta & Outer Join, Divide, Assignment.
Relational Calculus: Target list & Qualifying
Statement, The Existential Quantifier, The
Universal Quantifier.
ChatGPT
ChatGPT
Relational Database Implementation:
(a) Relational Algebra and Calculus
Relational Algebra:
Union (⋃): Combines tuples from two
relations, removing duplicates.
Intersection (⋂): Retrieves tuples that
appear in both relations.
Difference (−): Retrieves tuples from one
relation that do not appear in the other.
Product (×): Combines all possible
combinations of tuples from two relations.
Select (σ): Retrieves tuples from a relation
that satisfy a specified condition.
Project (π): Retrieves specific attributes
from tuples in a relation.
Join:
Natural Join (⋈): Joins two relations
based on common attributes, eliminating
duplicate columns.
Theta Join (⋈θ): Joins two relations based
on a specified condition.
Outer Join:
Left Outer Join (⟕): Includes all tuples
from the left relation and matching tuples
from the right relation.
Right Outer Join (⟖): Includes all tuples
from the right relation and matching
tuples from the left relation.
Full Outer Join (⟗): Includes all tuples
from both relations, matching tuples
where available.
Divide (÷): Retrieves tuples from one
relation that match all tuples in another
relation.
Assignment (←): Assigns the result of a
relational operation to a relation variable.
Relational Calculus:
Target list & Qualifying Statement:
Target List: Specifies the attributes to be
retrieved.
Qualifying Statement: Specifies the
conditions that the tuples must satisfy.
The Existential Quantifier (∃): Specifies
that there exists at least one tuple that
satisfies the qualifying statement.
The Universal Quantifier (∀): Specifies
that all tuples in the relation satisfy the
qualifying statement.
Relational calculus is non-procedural and
focuses on what data to retrieve rather
than how to retrieve it. It defines queries
in terms of mathematical logic rather than
a sequence of operations. The existential
and universal quantifiers allow for
expressing complex conditions involving
multiple tuples in a concise manner.
You
Relational database implementation
(continued): (b) Relational Implementation
with SQL Relational Implementations: An
Overview. Schema and Table Definition:
Schema definition, Data types & domains,
Defining Tables, Column Definition. Data
Manipulation: Simple Queries (SELECT,
FROM, WHERE), Multiple-Table Queries,
Subqueries, Correlated Subqueries, EXISTS
and NOT EXISTS operators, Built-In
Functions (SUM, AVG, COUNT, MAX, and
MIN), GROUP BY and HAVING clause,
Built-In Functions with Subqueries.
Relational Algebra Operations: UNION,
INTERSECT, EXCEPT, JOIN. Database
Change Operations: INSERT, UPDATE,
DELETE. Using SQL with Data Processing
Languages; View Definition, Restrictions
on View Queries and Updates.
ChatGPT
ChatGPT
Relational Database Implementation
(continued):
(b) Relational Implementation with SQL
Relational Implementations: An
Overview:
SQL (Structured Query Language) is the
standard language for relational database
management systems (RDBMS).
It provides a comprehensive set of
commands for schema definition, data
manipulation, relational algebra
operations, and database change
operations.
Schema and Table Definition:
Schema Definition: Defines the structure
of the database, including tables, columns,
constraints, and relationships.
Data Types & Domains: Specifies the type
of data that can be stored in each column
(e.g., integer, varchar, date).
Defining Tables: CREATE TABLE statement
is used to create tables, specifying column
names, data types, and constraints.
Column Definition: Specifies the
properties of each column, such as data
type, size, and constraints.
Data Manipulation:
Simple Queries (SELECT, FROM, WHERE):
Retrieves data from one or more tables
based on specified conditions.
Multiple-Table Queries: Joins multiple
tables using JOIN operations to retrieve
related data.
Subqueries: Nesting SELECT statements
within another SELECT statement to
retrieve data.
Correlated Subqueries: Subqueries that
reference columns from the outer query.
EXISTS and NOT EXISTS Operators: Tests
for the existence of rows that meet
specified criteria.
Built-In Functions: Aggregate functions
such as SUM, AVG, COUNT, MAX, and MIN
for performing calculations on data.
GROUP BY and HAVING Clause: Groups
rows based on specified attributes and
applies conditions to groups.
Built-In Functions with Subqueries:
Aggregate functions used with subqueries
to perform calculations on subsets of data.
Relational Algebra Operations:
UNION: Combines the results of two
queries, removing duplicates.
INTERSECT: Retrieves common rows from
two queries.
EXCEPT: Retrieves rows from the first
query that are not present in the second
query.
JOIN: Combines related rows from
multiple tables based on a related column.
Database Change Operations:
INSERT: Adds new rows to a table.
UPDATE: Modifies existing rows in a table
based on specified conditions.
DELETE: Removes rows from a table based
on specified conditions.
Using SQL with Data Processing
Languages:
View Definition: Defines virtual tables
based on SELECT queries.
Restrictions on View Queries and
Updates: Views may have restrictions on
the types of queries and updates that can
be performed.
Data Processing Languages: SQL can be
embedded within programming languages
like Python, Java, and C# for data
processing and manipulation.

You might also like