0% found this document useful (0 votes)
14 views92 pages

Database Systems Lec 1

The document provides an overview of database systems, explaining the distinction between data and information, the structure and management of databases, and the importance of database management. It outlines key features of Database Management Systems (DBMS), types of DBMS, database languages, and essential terminologies in database design. Additionally, it describes the database design lifecycle, emphasizing the steps involved in requirement analysis, logical and physical design, and data testing.

Uploaded by

benthemalik
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)
14 views92 pages

Database Systems Lec 1

The document provides an overview of database systems, explaining the distinction between data and information, the structure and management of databases, and the importance of database management. It outlines key features of Database Management Systems (DBMS), types of DBMS, database languages, and essential terminologies in database design. Additionally, it describes the database design lifecycle, emphasizing the steps involved in requirement analysis, logical and physical design, and data testing.

Uploaded by

benthemalik
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
You are on page 1/ 92

Database Systems

by: Wahaj Hassan


Introduction to Data
Data is raw facts, events, or numbers, while information is processed data
that has been organized and interpreted to add meaning.
• Data is raw input that can be in the form of numbers, characters, images,
or symbols
• Data can be quantitative, like a number, or qualitative, like a word
• Data is collected, recorded, and stored, but it's not yet processed
Introduction to Information
•Information is processed data that has been organized and interpreted to
add meaning
•Information is the output of data that has been processed through
operations like addition, subtraction, comparison, sorting, and
rearrangement
•Information is used to make decisions, strategies, and actions
Introduction to Database
A database is a collection of data, while a database system is the database
plus the software that manages it.
• A structured collection of data that's usually stored electronically
• Data is organized in tables, views, and schemas
• Data can be accessed, modified, and updated
• Databases can be used to store large amounts of information
Introduction to Database
System
•The combination of the database, the DBMS, and the applications that use
the data
•Database systems use specific languages to interact with the database
Introduction to Database
Management
Database management is the process of organizing, storing, and maintaining data
in a database. It involves defining, manipulating, and retrieving data.
Why is database management important?
• It helps businesses make strategic decisions, improve marketing, and optimize
operations.
• It helps ensure data integrity and security.
• It helps prevent data silos, inconsistent data sets, and poor-quality data.
Importance of Database
Management
database management involves:
•Defining data: Defining the structure of the data, including the columns and their data
types
•Storing data: Storing data in a database
•Maintaining data: Regularly maintaining the hardware and software to ensure the
system's integrity
•Analyzing data: Analyzing data to drive business decisions
•Regulating user permissions: Controlling who can access the data and what they can do
with it
Introduction to Database
Management Systems
•Software that manages the database
•Allows users to create, modify, and query the database
•Manages access controls and security
•Performs data backups and snapshots
•Monitors the database to automatically tune performance
Database System Applications
“Database application” can mean two things:
One: It can refer to software running a database system. MongoDB Server or SQL
Server are both software that provide the following:
1.Efficiently store and retrieve data from a file system to a network client.
2.Offer rich capabilities for querying and manipulating data from a variety of drivers.
3.Secure and authorize the access to the stored data
4.Scale
5.Provide fault tolerance and recovery (including backups) for our data
Database System Applications
Two: It can refer to applications that are heavily coupled to a specific
database and built to provide elements of that database to the end user.

Some examples of such applications include:


•Online encyclopedias (Wikipedia)
•Social media websites (Facebook)
•CRM systems (Salesforce)
•Email systems (Gmail)
•E-commerce websites (Amazon)
Views of Data
Database is a collection of interrelated data and set of programs that allow users to
access
and modify data.
The major purpose of a database system is to provide users with an abstract view
of the
system.
The system hides certain details of how data is stored and created and maintained
Complexity should be hidden from database users.
Views of Data
a) Data Abstraction
1. Physical Level
2. Conceptual Level
3. View Level
b) Instance and Schema
Views of Data
a) Data Abstraction: There are several levels of
abstraction:
1. Physical Level: Lowest level of abstraction.
How the data are stored. E.g. index, B-tree,
hashing. Complex low-level structures
described in detail.
2. Conceptual Level: Next highest level of
abstraction. Describes what data are stored.
Describes the relationships among data.
Database administrator level.
3. View Level: Highest level. Describes part of the
database for a particular group of users. Can be
many different views of a database. E.g. tellers
in a bank get a view of customer accounts, but
not of payroll data.
Views of Data Example
Customer, with field cust_id, cust_name, cust_street, cust_city
account, with field acc_num, balance
employee, with field emp_name, salary
At Physical Level : Customer, account, employee record can be described as block of consecutive storage
locations (word, byte etc.,)
At Logical level: Each record will be described by the type definition.
type customer = record
cust_id : string
cust_name : string
cust_street : string
cust_city : string
end;
At View level
Applications that hide details of data types.
Views of Data Instance
Collection of information stored in the database at a particular moment of time is
called as instance Database schema defines the variable declarations in tables that
belong to a particular database; the value of these variables at a moment of time is
called the instance of that database.

For example, o Let’s say we have a single table student in the database, today the
table has 100 records, so today the instance of the database has 100 records.
Let’s say we are going to add another 100 records in this table by tomorrow so the
instance of database tomorrow will have 200 records in table. In short, at a
particular moment the data stored in database is called the instance, that changes
over time when we add or delete data from the database.
Views of Data Schema
Overall design of the database is called as Schema. Description of a database is
called as the database schema, which is specified during database design and is
not expected to change frequently. Database systems have several schema,
partitioned according to the levels of data abstraction.
o Physical Schema
o Logical Schema
A schema is the complete design of database it is also known as intension. It is the
collection of named objects. The names of tables, columns of each table, datatype,
triggers, functions views packages and other objects are included in the schema.
The changes in a schema are not applied so frequently, but occasionally changes
need to be applied as the requirements of application changes. The schema
modification or alteration is known as schema revolution.
The database system has various
schemata separated according to the levels
Views of Data of abstraction such as physical, logical and
external/subschema. Generally, DBMS
Example of Schema assist one physical one logical and several
sub-schemata.
Views of Data
The physical schema is the lowest level of a schema which describes how
the data stored on the disk or the physical storage.

The logical schema is the intermediate level of a schema which describes


the structure of the database to the database designers. It also specifies
what relationship exists between the data.

The external schema or subschema is the highest level of a schema which


defines the views for the end users.
Views of Data Basic comparison of schema and instance

Schema: The overall design of the database is


called schema.
Instances: When information is inserted or deleted from the
database then the database gets changed. The collection of
information at particular moment is called instances. For example -
following is an instance of student database
Views of Data - Basic comparison of
schema and instance
Introduction of DBMS (Database
Management System)
A Database Management System (DBMS) is a software solution designed to
efficiently manage, organize, and retrieve data in a structured manner. It serves as
a critical component in modern computing, enabling organizations
to store, manipulate, and secure their data effectively. From small applications to
enterprise systems, DBMS plays a vital role in supporting data-driven decision-
making and operational efficiency.
Introduction of DBMS (Database
Management System)
A DBMS is a system that allows users to create, modify, and query
databases while ensuring data integrity, security, and efficient data access.
Unlike traditional file systems, DBMS minimizes data redundancy, prevents
inconsistencies, and simplifies data management with features like
concurrent access and backup mechanisms. It organizes data
into tables, views, schemas, and reports, providing a structured approach to
data management.
Introduction of DBMS (Database
Management System)
Example:
A university database can store and manage student information, faculty
records, and administrative data, allowing seamless retrieval, insertion,
and deletion of information as required.
Key Features of DBMS
1.Data Modeling: Tools to create and modify data models, defining the
structure and relationships within the database.

2.Data Storage and Retrieval: Efficient mechanisms for storing data and
executing queries to retrieve it quickly.

3.Concurrency Control: Ensures multiple users can access the database


simultaneously without conflicts.
Key Features of DBMS
4.Data Integrity and Security: Enforces rules to maintain accurate and
secure data, including access controls and encryption.

5.Backup and Recovery: Protects data with regular backups and enables
recovery in case of system failures.
Types of DBMS
There are several types of Database Management Systems (DBMS),
each tailored to different data structures, scalability requirements, and
application needs. The most common types are as follows:

1. Relational Database Management System (RDBMS)

2. NoSQL DBMS

3. Object-Oriented DBMS (OODBMS)


1. Relational Database
Management System (RDBMS)
RDBMS organizes data into tables (relations) composed of rows and
columns. It uses primary keys to uniquely identify rows and foreign keys
to establish relationships between tables. Queries are written in SQL
(Structured Query Language), which allows for efficient data
manipulation and retrieval.

Examples: MySQL, Oracle, Microsoft SQL Server and Postgre SQL.


Relational Databases
2. NoSQL DBMS
NoSQL systems are designed to handle large-scale data and provide
high performance for scenarios where relational models might be
restrictive. They store data in various non-relational formats, such as key-
value pairs, documents, graphs, or columns. These flexible data models
enable rapid scaling and are well-suited for unstructured or semi-
structured data.
Examples: MongoDB, Cassandra, DynamoDB and Redis.
3. Object-Oriented DBMS
(OODBMS)
OODBMS integrates object-oriented programming concepts into the database
environment, allowing data to be stored as objects. This approach supports
complex data types and relationships, making it ideal for applications requiring
advanced data modeling and real-world simulations.
Examples: ObjectDB, db4o.
Database Languages
Database languages are specialized sets of commands and instructions used to
define, manipulate, and control data within a database. Each language type plays
a distinct role in database management, ensuring efficient storage, retrieval, and
security of data. The primary database languages include:
1. Data Definition Language (DDL)
2. Data Manipulation Language (DML)
3. Data Control Language (DCL)
4. Transaction Control Language (TCL)
DDL (Data Definition Language)
DDL is the short name for Data Definition Language, which deals with
database schemas and descriptions, of how the data should reside in the
database.
• CREATE: to create a database and its objects like (table, index, views, store
procedure, function, and triggers)
• ALTER: alters the structure of the existing database
• DROP: delete objects from the database
• TRUNCATE: remove all records from a table, including all spaces allocated
for the records are removed
• COMMENT: add comments to the data dictionary
• RENAME: rename an object
DML (Data Manipulation Language)
DML focuses on manipulating the data stored in the database, enabling
users to retrieve, add, update, and delete data.
• SELECT: retrieve data from a database
• INSERT: insert data into a table
• UPDATE: updates existing data within a table

• DELETE: Delete all records from a database table


• MERGE: UPSERT operation (insert or update)
• CALL: call a PL/SQL or Java subprogram

• EXPLAIN PLAN: interpretation of the data access path


• LOCK TABLE: concurrency Control
DCL (Data Control Language)
DCL commands manage access permissions, ensuring data security by
controlling who can perform certain actions on the database.
GRANT: Provides specific privileges to a user (e.g., SELECT, INSERT).
REVOKE: Removes previously granted permissions from a user.
TCL ( Transaction Control Language )

TCL commands oversee transactional data to maintain consistency, reliability,


and atomicity.
ROLLBACK: Undoes changes made during a transaction.
COMMIT: Saves all changes made during a transaction.
SAVEPOINT: Sets a point within a transaction to which one can later roll back.
5. Data Query Language
(DQL)
DQL is a subset of DML, specifically focused on data retrieval.
• SELECT: The primary DQL command, used to query data from the
database without altering its structure or contents.
Primary Terminologies Used in
Database Design
Following are the terminologies that a person should be familiar with
before designing a database:

• Redundancy: Redundancy refers to the duplicity of the data. There can


be specific use cases when we need or don't need redundancy in our
Database. For ex: If we have a banking system application then we may
need to strictly prevent redundancy in our Database.
• Schema: Schema is a logical container that defines the structure &
manages the organization of the data stored in it. It consists of rows and
columns having data types for each column.
Primary Terminologies Used in
Database Design
• Records/Tuples: A Record or a tuple is the same thing, basically its
where our data is stored inside a table

• Indexing: Indexing is a data structure technique to promote efficient


retrieval of the data stored in our database.

• Data Integrity & Consistency: Data integrity refers to the quality of the
information stored in our database and consistency refers to the
correctness of the data stored.
Primary Terminologies Used in
Database Design
• Data Models: Data models provide us with visual modeling techniques
to visualize the data & the relationship that exists among those data. Ex:
model, Network Model, Object Oriented Model, Hierarchical model, etc.

• Normalization: The process of organizing data to reduce redundancy


and dependency by dividing larger tables into smaller ones and defining
relationships. It ensures data storage and consistency.
Primary Terminologies Used in
Database Design
• Functional Dependency: Functional Dependency is a relationship
between two attributes of the table that represents that the value of
one attribute can be determined by another. Ex: {A -> B}, A & B are two
attributes and attribute A can uniquely determine the value of B.

• Transaction: Transaction is a single logical unit of work. It signifies that


some changes are made in the database. A transaction must satisfy
the ACID or BASE properties (depending on the type of Database).
Primary Terminologies Used in
Database Design
• Schedule: Schedule defines the sequence of transactions in which
they're executed by one or multiple users.

• Concurrency: Concurrency refers to allowing multiple transactions to


operate simultaneously without interfering with one another.

• Constraints: Constraints are the rules applied to fields in a table to


enforce data integrity. e.g., NOT NULL, UNIQUE, CHECK, etc. It ensures
data quality and accuracy.
Database Design Lifecycle
The database design lifecycle goes something like this:
1. Requirement Analysis
It's very crucial to understand the requirements of our application so that
you can think in productive terms. And imply appropriate integrity
constraints to maintain the data integrity & consistency.
2. Logical & Physical
Design
This is the actual design phase that involves various steps that are to be
taken while designing a database.
2. Logical & Physical Design
This phase is further divided into two stages:
• Logical Data Model Design: This phase consists of coming up with a
high-level design of our database based on initially gathered
requirements to structure & organize our data accordingly. A high-level
overview on paper is made of the database without considering the
physical level design, this phase proceeds by identifying the kind of
data to be stored and what relationship will exist among those data.
Entity, Key attributes identification & what constraints are to be
implemented is the core functionality of this phase. It involves
techniques such as Data Modeling to visualize data, normalization to
prevent redundancy, etc.
2. Logical & Physical
Design
• Physical Design of Data Model: This phase involves the
implementation of the logical design made in the previous stage. All the
relationships among data and integrity constraints are implemented to
maintain consistency & generate the actual database.
3. Data Insertion and testing for
various integrity Constraints
Finally, after implementing the physical design of the database, we're
ready to input the data & test our integrity. This phase involves testing
our database for its integrity to see if something got left out or, if
anything new to add & then integrating it with the desired application.
Data Storage and Querying
Data Storage Manager
Data Storage Manager also known as “Database Control System”, is
generally a program that provides an interface between the
data/information stored and the queries received. It helps us to maintain
the integrity and consistency of the database by applying the
constraints. It is a highly flexible and scalable product that provides us
with the capability of fully managed storage.
Data Storage and Querying
Storage Manager is generally in charge of the interactions with the File
Manager, where raw data is stored on the data with the help of the file
system. It translates various DML statements into low-level commands.

• Authorization and Integrity Manager: The main purpose of the


Authorization and Integrity Manager is to ensure the satisfaction of the
integrity constraints and checks the authority of users to access
information.
Data Storage and Querying
• Transaction Manager: The main purpose of Transaction Manager is to ensure
that even after the system failures, the database should remain in a uniform
state.
• File Manager: The main purpose of File Manager is to manage the allocation
of space on the disk storage.
• Buffer Manager: The main purpose of Buffer Manager is to fetch the data from
disk storage into the main memory. The buffer manager is a critical part of the
database system since it enables the database to handle data sizes that are
much larger than the size of the main memory.
Data Storage and Querying
The storage manager implements several data structures as part of the physical
system implementation:
• Data files, which store the database itself.
• Data dictionary, which stores metadata about the structure of the database, in
particular the schema of the database.
• Indices, which can provide fast access to data items. Like the index in this
textbook, a database index provides pointers to those data items that hold a
particular value. For example, we could use an index to find the instructor
record with a particular ID, or all instructor records with a particular name.
Hashing is an alternative to indexing that is faster in some but not all cases.
Data Storage and Querying
Query Processor
Query Processor contains the following three components:
• DDL Interpreter: The DDL Interpreter is the Data Definition
Language Interpreter which is used to build and modify the structure of
your tables and other objects in the table. DDL interpreter, which
interprets DDL statements and records the definitions in the data
dictionary.
Data Storage and Querying
• DML Compiler: DML Compiler is the Data Manipulation
Language which is used for adding (inserting), deleting, and modifying
(updating) data in a database. or we can say translating the DML
statements into query language consists of low-level instructions that
only query engines can understand. A query can usually be translated
into any of a number of alternative evaluation plans that all give the
same result. The DML compiler also performs query optimization; that
is, it picks the lowest cost evaluation plan from among the alternatives.
• Query Evaluation Engine: It executes the low-level language
instructions, generated by DML Compiler.
Transaction Management
Transactions are a set of operations used to perform a logical set of work.
A transaction usually means that the data in the database has changed.
One of the major uses of DBMS is to protect the user data from system
failures. It is done by ensuring that all the data is restored to a
consistent state when the computer is restarted after a crash. The
transaction is any one execution of the user program in a DBMS. One of
the important properties of the transaction is that it contains a finite
number of steps. Executing the same program multiple times will
generate multiple transactions.
Example: Consider the following example of transaction operations to be
performed to withdraw cash from an ATM vestibule.
Transaction Management
Steps for ATM Transaction
1.Transaction Start.
2.Insert your ATM card.
3.Select a language for your transaction.
4.Select the Savings Account option.
5.Enter the amount you want to withdraw.
6.Enter your secret pin.
7.Wait for some time for processing.
8.Collect your Cash.
9.Transaction Completed.
Transaction Management
Steps for ATM Transaction
1.Transaction Start.
2.Insert your ATM card.
3.Select a language for your transaction.
4.Select the Savings Account option.
5.Enter the amount you want to withdraw.
6.Enter your secret pin.
7.Wait for some time for processing.
8.Collect your Cash.
9.Transaction Completed.
Transaction Management
A transaction can include the following basic database access
operation.
• Read/Access data (R): Accessing the database item from disk (where
the database stored data) to memory variable.
• Write/Change data (W): Write the data item from the memory variable
to the disk.
• Commit: Commit is a transaction control language that is used to
permanently save the changes done in a transaction
Example: Transfer of 50₹ from Account A to Account B. Initially A=
500₹, B= 800₹. This data is brought to RAM from Hard Disk.
Transaction Management
R(A) -- 500 // Accessed from RAM.
A = A-50 // Deducting 50₹ from A.
W(A)--450 // Updated in RAM.
R(B) -- 800 // Accessed from RAM.
B=B+50 // 50₹ is added to B's Account.
W(B) –850 // Updated in RAM.
commit // The data in RAM is taken back to Hard Disk.
Transaction Management
Transaction Management
Note: The updated value of Account A = 450₹ and Account B = 850₹.
All instructions before committing come under a partially committed state and
are stored in RAM. When the commit is read the data is fully accepted and is
stored on a Hard Disk.
If the transaction is failed anywhere before committing we have to go back
and start from the beginning. We can’t continue from the same state. This is
known as Roll Back.
Desirable Properties of Transaction
(ACID Properties)
For a transaction to be performed in DBMS, it must possess several
properties often called ACID properties.
• A – Atomicity
• C – Consistency
• I – Isolation
• D – Durability
Transaction States
Transactions can be implemented using SQL queries and Servers. In the
diagram, you can see how transaction states work.
Transaction States
The transaction has four properties. These are used to maintain
consistency in a database, before and after the transaction.
Property of Transaction:
 Atomicity
 Consistency
 Isolation
 Durability
ACID - Transaction Properties
Atomicity
States that all operations of the transaction take place at once if not, the
transactions are aborted.
There is no midway, i.e., the transaction cannot occur partially. Each transaction
is treated as one unit and either run to completion or is not executed at all.
Atomicity involves the following two operations:
Abort: If a transaction stops or fails, none of the changes it made will be saved or
visible.
Commit: If a transaction completes successfully, all the changes it made will be
saved and visible.
ACID - Transaction Properties
Consistency
The rules (integrity constraint) that keep the database accurate and consistent
are followed before and after a transaction.
When a transaction is completed, it leaves the database either as it was before or
in a new stable state.
This property means every transaction works with a reliable and consistent
version of the database.
The transaction is used to transform the database from one consistent state to
another consistent state. A transaction changes the database from one
consistent state to another consistent state.
ACID - Transaction Properties
Isolation
It shows that the data which is used at the time of execution of a
transaction cannot be used by the second transaction until the first one is
completed.
In isolation, if the transaction T1 is being executed and using the data item
X, then that data item can’t be accessed by any other transaction T2 until
the transaction T1ends.
The concurrency control subsystem of the DBMS enforced the isolation
property
ACID - Transaction Properties
Durability
The durability property is used to indicate the performance of the database’s
consistent state. It states that the transaction made the permanent changes.
They cannot be lost by the erroneous operation of a faulty transaction or by the
system failure. When a transaction is completed, then the database reaches a
state known as the consistent state. That consistent state cannot be lost, even
in the event of a system’s failure.
The recovery subsystem of the DBMS has the responsibility of Durability
property.
Database Architecture
A Database stores a lot of critical information to access data quickly and
securely. Hence it is important to select the correct architecture for efficient
data management. Database Management System (DBMS) architecture is
crucial for efficient data management and system performance. It helps
users to get their requests done while connecting to the database. It
focuses on how the database is designed, built and maintained, shaping
how users access and interact with it.
Types of DBMS Architecture
There are several types of DBMS Architecture that we use according to the
usage requirements. Types of DBMS Architecture are discussed here.
1-Tier Architecture
2-Tier Architecture
3-Tier Architecture
1-Tier Architecture
In 1-Tier Architecture the database is directly available to the user, the user
can directly sit on the DBMS and use it that is, the client, server, and
Database are all present on the same machine. This setup is simple and is
often used in personal or standalone applications where the user interacts
directly with the database.
1-Tier Architecture
For Example: A Microsoft Excel spreadsheet is a great example of one-tier
architecture.

Everything—the user interface, application logic and data is handled on a


single system.

The user directly interacts with the application, performs operations like
calculations or data entry and stores data locally on the same machine.
1-Tier Architecture
This architecture is simple and works well for personal, standalone
applications where no external server or network connection is needed.
Advantages of 1-Tier Architecture
Below mentioned are the advantages of 1-Tier Architecture.
Simple Architecture: 1-Tier Architecture is the most simple architecture
to set up, as only a single machine is required to maintain it.
Cost-Effective: No additional hardware is required for implementing 1-
Tier Architecture, which makes it cost-effective.
Easy to Implement: 1-Tier Architecture can be easily deployed, and
hence it is mostly used in small projects.
2-Tier Architecture
The 2-tier architecture is similar to a basic client-server model . The application at the
client end directly communicates with the database on the server side. APIs like ODBC
and JDBC are used for this interaction. The server side is responsible for providing
query processing and transaction management functionalities. On the client side, the
user interfaces and application programs are run. The application on the client side
establishes a connection with the server side to communicate with the DBMS.
For Example: A Library Management System used in schools or small organizations is
a classic example of two-tier architecture.
2-Tier Architecture
Client Layer (Tier 1): This is the user interface that library staff or users
interact with. For example they might use a desktop application to search for
books, issue them, or check due dates.
Database Layer (Tier 2): The database server stores all the library records
such as book details, user information, and transaction logs.
2-Tier Architecture
The client layer sends a request (like searching for a book) to the database layer
which processes it and sends back the result. This separation allows the client to
focus on the user interface, while the server handles data storage and retrieval.
Advantages of 2-Tier
Architecture
Easy to Access: 2-Tier Architecture makes easy access to the database, which
makes fast retrieval.
Scalable: We can scale the database easily, by adding clients or upgrading
hardware.
Low Cost: 2-Tier Architecture is cheaper than 3-Tier Architecture and Multi-Tier
Architecture .
Easy Deployment: 2-Tier Architecture is easier to deploy than 3-Tier
Architecture.
Simple: 2-Tier Architecture is easily understandable as well as simple because
of only two components.
3-Tier Architecture
In 3-Tier Architecture , there is another layer between the client and the
server. The client does not directly communicate with the server. Instead, it
interacts with an application server which further communicates with the
database system and then the query processing and transaction
management takes place. This intermediate layer acts as a medium for the
exchange of partially processed data between the server and the client.
3-Tier Architecture
This type of architecture is used in the case of large web applications.
For Example: E-commerce Store
User: You visit an online store, search for a product and add it to your cart.
Processing: The system checks if the product is in stock, calculates the total
price and applies any discounts.
Database: The product details, your cart and order history are stored in the
database for future reference.
Advantages of 3-Tier Architecture
Enhanced scalability: Scalability is enhanced due to the distributed deployment
of application servers. Now, individual connections need not be made between
the client and server.

Data Integrity: 3-Tier Architecture maintains Data Integrity. Since there is a


middle layer between the client and the server, data corruption can be
avoided/removed.

Security: 3-Tier Architecture Improves Security. This type of model prevents


direct interaction of the client with the server thereby reducing access to
unauthorized data.
Disadvantages of 3-Tier
Architecture
More Complex: 3-Tier Architecture is more complex in comparison to 2-
Tier Architecture. Communication Points are also doubled in 3-Tier
Architecture.
Difficult to Interact: It becomes difficult for this sort of interaction to take
place due to the presence of middle layers.
Different Types of
Database Users
A Database User is defined as a person who interacts with data daily,
updating, reading, and modifying the given data. Database users can
access and retrieve data from the database through the Database
Management System (DBMS) applications and interfaces.
Different Types of Database Users
Database users are categorized based on their interaction with the
database. There are seven types of database users in DBMS. Below
mentioned are the types of database users:
Different Types of Database Users
1. Database Administrator (DBA)
A Database Administrator (DBA) is a person/team who defines the schema and also
controls the 3 levels of the database. The DBA will then create a new account ID and
password for the user if he/she needs to access the database. DBA is also
responsible for providing security to the database and he allows only authorized
users to access/modify the database. DBA is responsible for problems such as
security breaches and poor system response time.
DBA also monitors the recovery and backup and provides technical support.
The DBA has a DBA account in the DBMS which is called a system or superuser
account.
DBA repairs damage caused due to hardware and/or software failures.
DBA is the one having privileges to perform DCL (Data Control Language) operations
such as GRANT and REVOKE, to allow/restrict a particular user from accessing the
database.
Different Types of Database Users
2. Naive / Parametric End Users

Parametric End Users are the unsophisticated who don’t have any DBMS
knowledge but they frequently use the database applications in their daily life to
get the desired results. For example, Railway’s ticket booking users are naive
users. Clerks in any bank is a naive user because they don’t have any DBMS
knowledge but they still use the database and perform their given task.
Different Types of Database Users
3. A System Analyst
A system Analyst is a user who analyzes the requirements of parametric end
users. They check whether all the requirements of end users are satisfied.

4. Sophisticated Users
Sophisticated users can be engineers, scientists, business analyst, who are
familiar with the database. They can develop their own database applications
according to their requirement. They don’t write the program code but they
interact the database by writing SQL queries directly through the query
processor.
Different Types of Database Users
5. Database Designers

Data Base Designers are the users who design the structure of database which
includes tables, indexes, views, triggers, stored procedures and constraints
which are usually enforced before the database is created or populated with
data. He/she controls what data must be stored and how the data items to be
related. It is the responsibility of Database Designers to understand the
requirements of different user groups and then create a design which satisfies
the need of all the user groups.
Different Types of Database Users
6. Application Programmers

Application Programmers also referred as System Analysts or simply Software


Engineers, are the back-end programmers who writes the code for the
application programs. They are the computer professionals. These programs
could be written in Programming languages such as Visual Basic, Developer,
C, FORTRAN, COBOL etc. Application programmers design, debug, test, and
maintain set of programs called “canned transactions” for the Naive
(parametric) users in order to interact with database.
Different Types of Database Users
7. Casual Users / Temporary Users
Casual Users are the users who occasionally use/access the database but
each time when they access the database they require the new information,
for example, Middle or higher level manager.

8. Specialized users
Specialized users are sophisticated users who write specialized database
application that does not fit into the traditional data-processing framework.
Among these applications are computer aided-design systems, knowledge-
base and expert systems etc.
Any Question?
Lecture 1 End

You might also like