LM 3 - Database System Architecture
LM 3 - Database System Architecture
CS3492/DBMS/IICSE/IVSEM/KG-KiTE
Course Outcome
CS3492/DBMS/IICSE/IVSEM/KG-KiTE
Syllabus
UNIT I - RELATIONAL DATABASES
CS3492/DBMS/IICSE/IVSEM/KG-KiTE
TOPIC
CS3492/DBMS/IICSE/IVSEM/KG-KiTE
Introduction
CS3492/DBMS/IICSE/IVSEM/KG-KiTE
DATABASE ARCHITECTURE
CS3492/DBMS/IICSE/IVSEM/KG-KiTE
1-tier architecture
• Developers see these types of systems as the simplest and most direct way.
CS3492/DBMS/IICSE/IVSEM/KG-KiTE
1-tier architecture
• Eg: lets say you want to fetch the records of employee from the
database and the database is available on your computer system, so the
request to fetch employee details will be done by your computer and
the records will be fetched from the database by your computer as
well. This type of system is generally referred as local database
system.
CS3492/DBMS/IICSE/IVSEM/KG-KiTE
1-tier architecture
CS3492/DBMS/IICSE/IVSEM/KG-KiTE
2-tier architecture
CS3492/DBMS/IICSE/IVSEM/KG-KiTE
2-tier architecture
CS3492/DBMS/IICSE/IVSEM/KG-KiTE
2-tier architecture
• Whenever client machine makes a request to access the database
present at server using a query language like sql, the server
perform the request on the database and returns the result back to
the client.
• The application connection interface such as JDBC, ODBC are
used for the interaction between server and client.
CS3492/DBMS/IICSE/IVSEM/KG-KiTE
3-tier architecture
• Is the most popular client server architecture in DBMS in which the development and
maintenance of functional processes, logic, data access, data storage, and user interface
is done independently as separate modules.
• Three Tier architecture contains a presentation layer, an application layer, and a database
server.
• 3-Tier database Architecture design is an extension of the 2-tier client-server architecture.
• A 3-tier architecture has the following layers:
⮚ Presentation layer (your PC, Tablet, Mobile, etc.)
⮚ Application layer (server)
⮚ Database Server
3-tier architecture
3-tier architecture
Database Users:
Users are differentiated by the way they expect to interact with the system:
Application programmers:
⮚ Application programmers are computer professionals who write application programs.
Application programmers can choose from many tools to develop user interfaces.
⮚ Rapid application development (RAD) tools are tools that enable an application
programmer to construct forms and reports without writing a program.
Sophisticated users:
⮚ Sophisticated users interact with the system without writing programs. Instead, they
form their requests in a database query language.
⮚ They submit each such query to a query processor, whose function is to break down
DML statements into instructions that the storage manager understands.
CS3492/DBMS/IICSE/IVSEM/KG-KiTE
3-tier architecture
Specialized users :
⮚ Specialized users are sophisticated users who write specialized database applications that
do not fit into the traditional data-processing framework.
⮚ Among these applications are computer-aided design systems, knowledge base and
expert systems, systems that store data with complex data types (for example, graphics
data and audio data), and environment-modeling systems.
Naïve users :
⮚ Naive users are unsophisticated users who interact with the system by invoking one of
the application programs that have been written previously.
⮚ For example, a bank teller who needs to transfer $50 from account A to account B
invokes a program called transfer. This program asks the teller for the amount of money
to be transferred, the account from which the money is to be transferred, and the account
to which the money is to be transferred.
CS3492/DBMS/IICSE/IVSEM/KG-KiTE
3-tier architecture
Database Administrator:
• Coordinates all the activities of the database system. The database administrator has a good
understanding of the enterprise’s information resources and needs.
• Database administrator's duties include:
– Schema definition: The DBA creates the original database schema by executing a set of
data definition statements in the DDL.
– Storage structure and access method definition.
– Schema and physical organization modification: The DBA carries out changes to the
schema and physical organization to reflect the changing needs of the organization, or to
alter the physical organization to improve performance.
– Granting user authority to access the database: By granting different types of
authorization, the database administrator can regulate which parts of the database various
users can access.
– Specifying integrity constraints.
– Monitoring performance and responding to changes in requirements.
CS3492/DBMS/IICSE/IVSEM/KG-KiTE
3-tier architecture
Query Processor:
The query processor will accept query from user and solves it by accessing the database.
Parts of Query processor:
1)DDL interpreter
This will interprets DDL statements and fetch the definitions in the data dictionary.
2)DML compiler
a. This will translates DML statements in a query language into low level
instructions that the query evaluation engine understands.
b. A query can usually be translated into any of a number of alternative evaluation
plans for same query result DML compiler will select best plan for query optimization.
3)Query evaluation engine
This engine will execute low-level instructions generated by the DML compiler on
DBMS.
3-tier architecture
CS3492/DBMS/IICSE/IVSEM/KG-KiTE
3-tier architecture
The storage manager components include:
– Authorization and integrity manager: Checks for integrity constraints and authority of users to access data.
– Transaction manager: Ensures that the database remains in a consistent state although there are system
failures.
– File manager: Manages the allocation of space on disk storage and the data structures used to represent
information stored on disk.
– Buffer manager: It is responsible for retrieving data from disk storage into main memory. It enables the
database to handle data sizes that are much larger than the size of main memory.
– Data structures implemented by storage manager.
– Data files: Stored in the database itself.
– Data dictionary: Stores metadata about the structure of the database.
– Indices: Provide fast access to data items.
CS3492/DBMS/IICSE/IVSEM/KG-KiTE