You are on page 1of 3

Providing storage structures (INDEXES) for Done using QUERY PROCESSING

efficient query processing AND OPTIMIZATION module

it is the allowing the program-data


independence and program-operation
Efficiency independence

Data abstraction
done thru conceptual
representation of data

ex. data model

Data is stored in a standardized, convenient form

Central repository of shared data

accessibility done thru metadata and


Self-describing nature of database
conceptual model

program data independence is


Insulation between programs data
done as the structure of data file is
and data abstraction
is stored in the metadata

ex done using
1- SPECIFYING DATA TYPE
2- UNIQUENESS of data item values
Enforcing integrity Constrains
Done by:Database designers by
identifying integrity constraints
in database design phase

The effects of an accomplished transaction are permanently recorded in the database and must not get lost or
Durability vanished due to subsequent failure. So this becomes the responsibility of the recovery sub-system to ensure
durability.

A transaction must alter the database from one steady-state to another steady state. This is
the responsibility of both the DBMS and the application developers to make certain
Consistency
consistency. The DBMS can ensure consistency by putting into effect all the constraints that
Advantages procedure of managing simultaneous transactions ‫مع التاكد من‬ have been mainly on the database schema such as integrity and enterprise constraints.
Concurrency Control
their ACID properties
The 'all or nothing' property. A transaction is an indivisible entity that is either performed in its entirety or will not get
Atomicity
performed at all. This is the responsibility or duty of the recovery subsystem of the DBMS to ensure atomicity.

Transactions that are executing independently of one another is the primary concept followed by isolation. In other
Sharing of data and multiuser words, the frictional effects of incomplete transactions should not be visible or come into notice to other transactions
Isolation
going on simultaneously. It is the responsibility of the concurrency control sub-system to ensure adapting the
isolation.

Each user can see a view


Support of multiple VIEWS
‫كل قسم ليه اكسيس على جزء معين من الداتابيز‬

Eliminate wastage of storage


space and and INCONSISTENCY
controlling the redundancy
IS Done using views and all data is
stored in only one place

Done using security and


authorization subsystem
Restricting unauthorized access

done by DBA

ex.: query language for casual users


Providing multiple user interfaces programing for application
menu driven for stand-alone users

providing backup and recovery done using RECOVERY SUBSYSTEM

Stores objects PERMANENTLY


Providing persistent storage for
,such an object is called
sustainability program objects
PERSISTENT ‫متواصل‬

Representing complex
Done using ERD
relationships among data

Permitting inferencing and action


using rules

Disadvantages
DONE thru XML DBSM Connection with web HTML Connection with another language

Process quiers that are coming


The performance is very slow due from UI Application
to traffic is very high
components : dummy terminals and central database and application server
disadvantage processing : depends on one main server Mainframe environment Ex: table name, column name, data type,
The processing depends on one server application layer: depends on one main server Database systems Main components Metadata (DB definition)>> DB catalogue
constrains, DB objects structure
so it has SINGLE POINT OF FAILURE
for database and application Access the database
Ex: name, age, salary, address,
Stored DB (DB itself)
phone number
Database is a single point of failure

Disadvantage
High cost for maintenance due to Setup : dummy terminals and central database and application server A set of final data which accessed
External Schema
redundancy of thick client processing : depends on one main server Client/server environment by specific type of users
application layer : SETUP AND INSTALLATION FOR THE APPLICATION called THICK CLIENT
Application layer is not a single Contains all the tables, all relations
Advantage DB Archericture Conceptual Schema
point of failure between the data

DBMS environment
Database is a single point of failure Explains the allocation of the data
Physical Schema
Disadvantage on the disk
Setup : Central database and central application server
Application is a single point of failure
processing : depends on one main server
application layer : SETUP AND INSTALLATION FOR THE APPLICATION called THIN CLIENT Represent a set of final data which
low cost for maintenance due to External schema accessed only by specific type of
Advantage
redundancy of thick client users
internet computing environment
used to solve the single point of (Three - tier- architecture) (Database)
failure in application server used in case of high load on the Conceptual schema schema that contains all types and
N- tier relation between data
application server
three schema Architecture
used in case of multiple application
Types :
Explain the allocation of the data
on the disk (the data at the end is a
1st Tier : database server
group of files stored on my hard
2nd Tier: application server 3-Tier
Physical schema disk so the physical path of each
3rd Tier : Thin client
file and what is physical location on
the hard disk and what is allocated
space)
Some fragments of the database
may be replicated whereas others Partial Architecture and data models
may not. which contains a full design of
Replication: COPY AND PAST
Distributed database : To support database schema including entities
the availability of the database and relationships
One working and one is standby Full EX. (ERD)
Logical Model (Concepual Model)

Fragmentation: CUT AND PAST DBMS (1) used to implement the physical
data independence
Data Models
Create, Drop, Truncate, Rename. Data Definition Language (DDL)
Which explain how my data stored in hard disk and
which access path which facilitated the searching a
Select, Insert, Delete, Update. Data Manipulation language (DML) process
Physical Model The physical model represent by ( Physical schema )
DBMS Languages
Revoke, Grant. Data Control Language (DCL)
used to implement the physical
data independence
Transaction Control Language
Rollback, Commit
(TCL)

Why he need for system


IT professional who works on creating, maintaining, querying, and tuning the database of the organization.
They are also responsible for maintaining data security and integrity. This role requires the professionals to If he is changing data regularly or
What is his nature of using database
have good knowledge and experience in the particular RDBMS that the company uses. Based on the gather the info from the customer he is adding data every day
requirements of the company
Users will use the database and
They maintain and run the databases and servers of the Step 1 : Analysis and requirement how many users we have
organization. They are mainly concerned with the security patches, Administrative DBA System Analyst
gathering.
replication, and backup of data.
know the budget
Database administrator (DBA) Actors on The scene
They work on developing SQL queries and stored procedures to meet the
Development DBA understand the business model
requirements of the business. They specialize in database development. Types of DBAs

They design schemas, build data structures, table indexes, and relationships. They are mainly setting expectations with the
Data Architect customer
responsible for building a structure the meets the business requirements in a specific area.

DBMS SCENE WORKERS taking the requirements from the


They merge data from numerous data sources and store them in a data warehouse. Data Warehouse DBA
analyst

design and implement the DBMS


DBMS system designers and creating model (converting the
modules and interfaces as a Step 2 : DB Design Database Designer
implementers requirements to CONCEPTUAL
software package.
SCHEMA)
Cycle of creating DB
design and implement tools like
Tool developers creating the final model
add ons in revit or lisbs in cad
Workers behind the scene
(system administration personnel) create DB Schema (tables) that are
are responsible for the actual designed Conceptually
running and maintenance of the Operators and maintenance
hardware and software personnel setup the DBMS
environment for the database
system. Implementaion (transfer
Step 3 Database Adminstrator populate the initial data
to tables and DB objects)

create users and authorize/restrict


access

maintain DB Performance

develop the application from


scratch

Step 4 Create the UI (End User Application) Application Programmer


test and debug the application

conduct the end user training

Mappings

Menu driven interface &form style


Graphical user interface (GUI)
interface

Deductive database system

provides active rules that automatically INITIATE ACTIONS


Active database system
when certain EVENTS AND CONDITIONS OCCUR

procedure of managing simultaneous transactions ensuring their


Concurrency Control
atomicity, isolation, consistency, and serializability

is the process of taking all of your data from disparate sources throughout
Consolidation your organization, cleaning it up, and combining it in a single location,
such as a cloud data warehouse or lakehouse environment.

A way to optimize the performance of a database by minimizing


Indexing
the number of disk accesses required when a query is processed.

XML has found wide application. Today, various programs and devices use it to handle, structure, store, transmit,
and display data. For example, it's widely used in B2B data exchanges. XML is also the standard for Office file
formats, including Microsoft Office and Google Docs files.
XML(Extended Markup language )

The key difference between HTML and XML is that HTML displays data and describes the
structure of a webpage, whereas XML stores and transfers data.

Entity relationship diagram (ERD) shows the relationships of entity sets stored in a database. https://www.mindmeister.com/map/2302481583

s a form of client-server architecture. Specifically, it is a networked computer system


THICK CLIENT
with most resources installed locally, rather than distributed over a network.

GLOSSARY A transaction is an action or series of actions that are being performed by a single user or application program, which reads or updates the contents
of the database.
 
transactions
A transaction can be defined as a logical unit of work on the database. This may be an entire program, a piece of a program, or a single command
(like the SQL commands such as INSERT or UPDATE), and it may engage in any number of operations on the database. In the database context, the
execution of an application program can be thought of as one or more transactions with non-database processing taking place in between.

Transactions that are executing independently of one another is the primary concept followed by isolation. In other
words, the frictional effects of incomplete transactions should not be visible or come into notice to other transactions
Isolation
going on simultaneously. It is the responsibility of the concurrency control sub-system to ensure adapting the
isolation.

The 'all or nothing' property. A transaction is an indivisible entity that is either performed in its entirety or will not get
Atomicity
performed at all. This is the responsibility or duty of the recovery subsystem of the DBMS to ensure atomicity.

A transaction must alter the database from one steady-state to another steady state. This is
the responsibility of both the DBMS and the application developers to make certain
Consistency
consistency. The DBMS can ensure consistency by putting into effect all the constraints that
have been mainly on the database schema such as integrity and enterprise constraints.

The effects of an accomplished transaction are permanently recorded in the database and must not get lost or vanished due
Durability
to subsequent failure. So this becomes the responsibility of the recovery sub-system to ensure durability.

modules for implementing the catalog, query language processing, interface processing, accessing and buffering data,
Modules, controlling concurrency, and handling data recovery and security. The DBMS must interface with other system software
such as the operating system and compilers for various programming languages.

Data Abstraction in dbms refers to


the process of hiding irrelevant
the process of hiding irrelevant
details from the user.
details from the user.

access path describes how records in a database file are retrieved.


DBMS (1)
1. Advantages

Link:
https://www.youtube.com/watch?v=YcYF-kxE0Sw&list=PLBlnK6fEyqRi_CUQ-FXxgzKQ1dwr_ZJWZ&index=4

1.1. Efficiency

1.1.1. Providing storage structures (INDEXES) for efficient query processing

1.1.1.1. Done using QUERY PROCESSING AND OPTIMIZATION module

1.1.2. Data abstraction

1.1.2.1. it is the allowing the program-data independence and program-operation independence

1.1.2.2. done thru conceptual representation of data

1.1.2.3. ex. data model

1.2. accessibility

1.2.1. Data is stored in a standardized, convenient form

1.2.2. Central repository of shared data

1.2.3. Self-describing nature of database

1.2.3.1. done thru metadata and conceptual model

1.2.4. Insulation between programs data and data abstraction

1.2.4.1. program data independence is done as the structure of data file is is stored in the metadata

1.3. Sharing of data and multiuser

1.3.1. Enforcing integrity Constrains

1.3.1.1. ex done using 1- SPECIFYING DATA TYPE 2- UNIQUENESS of data item values

1.3.1.2. Done by:Database designers by identifying integrity constraints in database design phase

1.3.2. Concurrency Control

1.3.2.1. procedure of managing simultaneous transactions ‫ مع التاكد من‬their ACID properties

1.3.2.1.1. Durability

1.3.2.1.1.1. The effects of an accomplished transaction are permanently recorded in the database and must not get lost or vanished due to subsequent failure. So this becomes the responsibility of the recovery sub-system to ensure durability.

1.3.2.1.2. Consistency

1.3.2.1.2.1. A transaction must alter the database from one steady-state to another steady state. This is the responsibility of both the DBMS and the application developers to make certain consistency. The DBMS can ensure consistency by putting into effect all the constraints that have been mainly on the database schema such as integrity and enterprise constraints.

1.3.2.1.3. Atomicity

1.3.2.1.3.1. The 'all or nothing' property. A transaction is an indivisible entity that is either performed in its entirety or will not get performed at all. This is the responsibility or duty of the recovery subsystem of the DBMS to ensure atomicity.

1.3.2.1.4. Isolation

1.3.2.1.4.1. Transactions that are executing independently of one another is the primary concept followed by isolation. In other words, the frictional effects of incomplete transactions should not be visible or come into notice to other transactions going on simultaneously. It is the responsibility of the concurrency control sub-system to ensure adapting the isolation.

1.3.3. Support of multiple VIEWS

1.3.3.1. Each user can see a view ‫كل قسم ليه اكسيس على جزء معين من الداتابيز‬

1.3.4. controlling the redundancy

1.3.4.1. Eliminate wastage of storage space and and INCONSISTENCY

1.3.4.2. IS Done using views and all data is stored in only one place

1.3.5. Restricting unauthorized access

1.3.5.1. Done using security and authorization subsystem

1.3.5.2. done by DBA

1.3.6. Providing multiple user interfaces

1.3.6.1. ex.: query language for casual users programing for application menu driven for stand-alone users

1.4. sustainability

1.4.1. providing backup and recovery

1.4.1.1. done using RECOVERY SUBSYSTEM

1.4.2. Providing persistent storage for program objects

1.4.2.1. Stores objects PERMANENTLY ,such an object is called PERSISTENT ‫متواصل‬

1.4.3. Representing complex relationships among data

1.4.3.1. Done using ERD

1.5. Permitting inferencing and action using rules

Link:
https://www.brainkart.com/article/Advantages-of-Using-the-DBMS-Approach_11394/

2. Disadvantages

Link:
https://maharatech.gov.eg/mod/hvp/view.php?id=7135

2.1. Needs expertise to use


2.2. DBMS is expensive

2.3. Maybe incompatible with any other available DBMS

2.3.1. We can solve this problem by using a third party tool that can facilitate the transfer process

3. Database systems Main components


3.1. Process quiers that are coming from UI Application

3.2. Access the database

Link:
https://maharatech.gov.eg/mod/hvp/view.php?id=7135

3.2.1. Metadata (DB definition)>> DB catalogue

3.2.1.1. Ex: table name, column name, data type, constrains, DB objects structure

3.2.2. Stored DB (DB itself)

3.2.2.1. Ex: name, age, salary, address, phone number

4. DB Archericture
4.1. External Schema

4.1.1. A set of final data which accessed by specific type of users

4.2. Conceptual Schema

4.2.1. Contains all the tables, all relations between the data

4.3. Physical Schema

4.3.1. Explains the allocation of the data on the disk

5. Architecture and data models


5.1. three schema Architecture

5.1.1. External schema

5.1.1.1. Represent a set of final data which accessed only by specific type of users

5.1.2. Conceptual schema

5.1.2.1. (Database) schema that contains all types and relation between data

5.1.3. Physical schema

5.1.3.1. Explain the allocation of the data on the disk (the data at the end is a group of files stored on my hard disk so the physical path of each file and what is physical location on the hard disk and what is allocated space)

5.2. Data Models

5.2.1. Logical Model (Concepual Model)

5.2.1.1. which contains a full design of database schema including entities and relationships EX. (ERD)

5.2.1.2. used to implement the physical data independence

5.2.2. Physical Model

5.2.2.1. Which explain how my data stored in hard disk and which access path which facilitated the searching a process The physical model represent by ( Physical schema )

5.2.2.2. used to implement the physical data independence

6. Cycle of creating DB

Link:
https://maharatech.gov.eg/mod/hvp/view.php?id=7136

6.1. Step 1 : Analysis and requirement gathering.

6.1.1. System Analyst

6.1.1.1. gather the info from the customer

6.1.1.1.1. Why he need for system

6.1.1.1.2. What is his nature of using database

6.1.1.1.2.1. If he is changing data regularly or he is adding data every day

6.1.1.1.3. Users will use the database and how many users we have

6.1.1.2. know the budget

6.1.1.3. understand the business model

6.1.1.4. setting expectations with the customer

6.2. Step 2 : DB Design

6.2.1. Database Designer

6.2.1.1. taking the requirements from the analyst

6.2.1.2. creating model (converting the requirements to CONCEPTUAL SCHEMA)

6.2.1.3. creating the final model

6.3. Step 3

6.3.1. Implementaion (transfer to tables and DB objects)

6.3.1.1. Database Adminstrator

6.3.1.1.1. create DB Schema (tables) that are designed Conceptually

6.3.1.1.2. setup the DBMS

6.3.1.1.3. populate the initial data

6.3.1.1.4. create users and authorize/restrict access

6.3.1.1.5. maintain DB Performance

Link:
https://www.dnsstuff.com/how-to-increase-database-performance

6.4. Step 4

6.4.1. Create the UI (End User Application)

6.4.1.1. Application Programmer

6.4.1.1.1. develop the application from scratch

6.4.1.1.2. test and debug the application

6.4.1.1.3. conduct the end user training

7. Mappings

Link:
https://maharatech.gov.eg/mod/hvp/view.php?id=7138&forceview=1

7.1. Is the process of transferring the requests and result between the levels

8. GLOSSARY
8.1. Graphical user interface (GUI)

8.1.1. Menu driven interface &form style interface

8.2. Deductive database system

8.3. Active database system

8.3.1. provides active rules that automatically INITIATE ACTIONS when certain EVENTS AND CONDITIONS OCCUR

8.4. Concurrency Control

8.4.1. procedure of managing simultaneous transactions ensuring their atomicity, isolation, consistency, and serializability

8.5. Consolidation
8.5.1. is the process of taking all of your data from disparate sources throughout your organization, cleaning it up, and combining it in a single location, such as a cloud data warehouse or lakehouse environment.

8.6. Indexing

8.6.1. A way to optimize the performance of a database by minimizing the number of disk accesses required when a query is processed.

8.7. XML(Extended Markup language )

8.7.1. XML has found wide application. Today, various programs and devices use it to handle, structure, store, transmit, and display data. For example, it's widely used in B2B data exchanges. XML is also the standard for Office file formats, including Microsoft Office and Google Docs files.

8.7.2. The key difference between HTML and XML is that HTML displays data and describes the structure of a webpage, whereas XML stores and transfers data.
8.8. Entity relationship diagram (ERD)

8.8.1. shows the relationships of entity sets stored in a database.

8.8.1.1. https://www.mindmeister.com/map/2302481583

8.9. THICK CLIENT

8.9.1. s a form of client-server architecture. Specifically, it is a networked computer system with most resources installed locally, rather than distributed over a network.

8.10. transactions

8.10.1. A transaction is an action or series of actions that are being performed by a single user or application program, which reads or updates the contents of the database. A transaction can be defined as a logical unit of work on the database. This may be an entire program, a piece of a program, or a single command (like the SQL commands such as INSERT or UPDATE), and it may engage in any number of operations on the database. In the database context, the
execution of an application program can be thought of as one or more transactions with non-database processing taking place in between.

8.11. Isolation

8.11.1. Transactions that are executing independently of one another is the primary concept followed by isolation. In other words, the frictional effects of incomplete transactions should not be visible or come into notice to other transactions going on simultaneously. It is the responsibility of the concurrency control sub-system to ensure adapting the isolation.

8.12. Atomicity

8.12.1. The 'all or nothing' property. A transaction is an indivisible entity that is either performed in its entirety or will not get performed at all. This is the responsibility or duty of the recovery subsystem of the DBMS to ensure atomicity.

8.13. Consistency

8.13.1. A transaction must alter the database from one steady-state to another steady state. This is the responsibility of both the DBMS and the application developers to make certain consistency. The DBMS can ensure consistency by putting into effect all the constraints that have been mainly on the database schema such as integrity and enterprise constraints.
8.14. Durability

8.14.1. The effects of an accomplished transaction are permanently recorded in the database and must not get lost or vanished due to subsequent failure. So this becomes the responsibility of the recovery sub-system to ensure durability.
8.15. Modules,

8.15.1. modules for implementing the catalog, query language processing, interface processing, accessing and buffering data, controlling concurrency, and handling data recovery and security. The DBMS must interface with other system software such as the operating system and compilers for various programming languages.

8.16. Data Abstraction in dbms refers to the process of hiding irrelevant details from the user.

8.16.1. the process of hiding irrelevant details from the user.

8.17. access path

8.17.1. describes how records in a database file are retrieved.

9. DBMS Languages
9.1. Data Definition Language (DDL)

9.1.1. Create, Drop, Truncate, Rename.

9.2. Data Manipulation language (DML)

9.2.1. Select, Insert, Delete, Update.

9.3. Data Control Language (DCL)

9.3.1. Revoke, Grant.

9.4. Transaction Control Language (TCL)

9.4.1. Rollback, Commit

10. DBMS SCENE WORKERS


10.1. Actors on The scene

10.1.1. Database administrator (DBA)

Link:
https://intellipaat.com/community/42929/what-is-database-administrator-in-dbms

10.1.1.1. IT professional who works on creating, maintaining, querying, and tuning the database of the organization. They are also responsible for maintaining data security and integrity. This role requires the professionals to have good knowledge and experience in the particular RDBMS that the company uses. Based on the requirements of the company

10.1.1.2. Types of DBAs

10.1.1.2.1. Administrative DBA

10.1.1.2.1.1. They maintain and run the databases and servers of the organization. They are mainly concerned with the security patches, replication, and backup of data.

10.1.1.2.2. Development DBA

10.1.1.2.2.1. They work on developing SQL queries and stored procedures to meet the requirements of the business. They specialize in database development.

10.1.1.2.3. Data Architect

10.1.1.2.3.1. They design schemas, build data structures, table indexes, and relationships. They are mainly responsible for building a structure the meets the business requirements in a specific area.

10.1.1.2.4. Data Warehouse DBA

10.1.1.2.4.1. They merge data from numerous data sources and store them in a data warehouse.

10.2. Workers behind the scene

10.2.1. DBMS system designers and implementers

10.2.1.1. design and implement the DBMS modules and interfaces as a software package.

10.2.2. Tool developers

10.2.2.1. design and implement tools like add ons in revit or lisbs in cad

10.2.3. Operators and maintenance personnel

10.2.3.1. (system administration personnel) are responsible for the actual running and maintenance of the hardware and software environment for the database system.

11. Distributed database : To support the availability of the database


11.1. Replication: COPY AND PAST

11.1.1. Partial

11.1.1.1. Some fragments of the database may be replicated whereas others may not.

11.1.2. Full

11.1.2.1. One working and one is standby

11.2. Fragmentation: CUT AND PAST

12. DBMS environment


12.1. Mainframe environment

12.1.1. components : dummy terminals and central database and application server processing : depends on one main server application layer: depends on one main server

12.1.1.1. disadvantage

12.1.1.1.1. The performance is very slow due to traffic is very high

12.1.1.1.2. The processing depends on one server so it has SINGLE POINT OF FAILURE for database and application

12.2. Client/server environment

12.2.1. Setup : dummy terminals and central database and application server processing : depends on one main server application layer : SETUP AND INSTALLATION FOR THE APPLICATION called THICK CLIENT

12.2.1.1. Disadvantage

12.2.1.1.1. Database is a single point of failure

12.2.1.1.2. High cost for maintenance due to redundancy of thick client

12.2.1.2. Advantage

12.2.1.2.1. Application layer is not a single point of failure

12.3. internet computing environment (Three - tier- architecture)

12.3.1. Setup : Central database and central application server processing : depends on one main server application layer : SETUP AND INSTALLATION FOR THE APPLICATION called THIN CLIENT

12.3.1.1. Disadvantage

12.3.1.1.1. Database is a single point of failure

12.3.1.1.2. Application is a single point of failure

12.3.1.2. Advantage

12.3.1.2.1. low cost for maintenance due to redundancy of thick client

12.3.2. Types :

12.3.2.1. N- tier

12.3.2.1.1. used in case of high load on the application server

12.3.2.1.1.1. used to solve the single point of failure in application server

12.3.2.1.1.2. used in case of multiple application

12.3.2.2. 3-Tier

12.3.2.2.1. 1st Tier : database server 2nd Tier: application server 3rd Tier : Thin client

13. Connection with another language


13.1. DBSM Connection with web HTML

13.1.1. DONE thru XML

You might also like