You are on page 1of 22

UNIT 1

Syllabus:
An Overview of Database Management
Introduction- What is Database System- What is Database-Why Database- Data Independence- Relation
Systems and Others- Summary,
Database system architecture, Introduction- The Three Levels of Architecture-The External Level-
the Conceptual Level- the Internal Level- Mapping- the Database Administrator-The Database Management
Systems- Client/Server Architecture.

INTRODUCTION TO DBMS
• Data - Data is meaningful known raw facts that can be processed and stored as information.
• Database - Database is a collection of interrelated and organized data. In general, it is a collection of
files (tables).
• DBMS - Database Management System (DBMS) is a collection of interrelated data (usually called
database) and a set of programs to access, update and manage those data (which form part of
management system) OR It is a software package to facilitate creation and maintenance of
computerized database.
• Importance: Database systems have become an essential component of life in modern society, in that
many frequently occurring events trigger the accessing of at least one database: bibliographic library
searches, bank transactions, hotel/airline reservations, grocery store purchases, online (Web) purchases,
etc.

CHARACTERISTICS OF DBMS
Traditionally, data was organized in file formats. DBMS was a new concept then, and all the research was
done to make it overcome the deficiencies in traditional style of data management. A modern DBMS has
the following characteristics −
 Real-world entity − A modern DBMS is more realistic and uses real-world entities to design its
architecture. It uses the behavior and attributes too. For example, a school database may use
students as an entity and their age as an attribute.
 Relation-based tables − DBMS allows entities and relations among them to form tables. A user
can understand the architecture of a database just by looking at the table names.
 Isolation of data and application − A database system is entirely different than its data. A
database is an active entity, whereas data is said to be passive, on which the database works and
organizes. DBMS also stores metadata, which is data about data, to ease its own process.
 Less redundancy − DBMS follows the rules of normalization, which splits a relation when any of
its attributes is having redundancy in values. Normalization is a mathematically rich and scientific
process that reduces data redundancy.
 Consistency − Consistency is a state where every relation in a database remains consistent. There
exist methods and techniques, which can detect attempt of leaving database in inconsistent state. A
DBMS can provide greater consistency as compared to earlier forms of data storing applications
like file-processing systems.
 Query Language − DBMS is equipped with query language, which makes it more efficient to
retrieve and manipulate data. A user can apply as many and as different filtering options as
required to retrieve a set of data. Traditionally it was not possible where file-processing system was
used.
 ACID Properties − DBMS follows the concepts of Atomicity, Consistency, Isolation, and
Durability (normally shortened as ACID). These concepts are applied on transactions, which
manipulate data in a database. ACID properties help the database stayhealthy in multi-transactional
environments and in case of failure.
 Multiuser and Concurrent Access − DBMS supports multi-user environment and allows them to
access and manipulate data in parallel. Though there are restrictions on transactions when users
attempt to handle the same data item, but users are alwaysunaware of them.
 Multiple views − DBMS offers multiple views for different users. A user who is in the Sales
department will have a different view of database than a person working in the Production
department. This feature enables the users to have a concentrate view of the database according to
their requirements.
 Security − Features like multiple views offer security to some extent where users are unable to
access data of other users and departments. DBMS offers methods to impose constraints while
entering data into the database and retrieving the same at a later stage. DBMS offers many
different levels of security features, which enables multiple users to have different views with
different features. For example, a user in the Sales department cannot see the data that belongs to
the Purchase department. Additionally, it can also be managed how much data of the Sales
department should be displayed to the user. Since a DBMS is not saved on the disk as traditional
file systems, it is very hard for miscreants tobreak the code.

Advantages of DBMS
One of the main advantages of using a database system is that the organization can exert,via the DBA,
centralized management and control over the data. The database Administrator is the focus of the
centralized control.
Any application requiring a change in the structure of a data record requires an arrangement with the DBA,
who makes the necessary modifications. Such modifications do not affect other applications or Users of the
record in question.
Reduction of Redundancies:
Centralized control of data by the DBA avoids unnecessary duplication of data and effectively reduces the
total amount of data storage required. It also eliminates the extra processing necessary to trace the required
data in a large mass of data.
Elimination of Inconsistencies:
The main advantage of avoiding duplication is the elimination of inconsistencies that tend to be present in
redundant data files. Any redundancies that exist in the DBMS are controlled and the system ensures that
thesemultiple copies are consistent.
Shared Data:
A database allows the sharing of data under its control by any number of application programs or users.
For example, the applications for the public relations and payroll departments can share the same data.
Integrity:
Centralized control can also ensure that adequate checks are incorporated in the DBMS to provide data
integrity. Data integrity means that the data contained in the database is both accurate and consistent.
Therefore, data values being entered for the storage could be checked to ensure that they fall within a
specified range and are of the correct format.
Security:
Data is of vital importance to an organization and may be confidential. Such confidential data must not be
accessed by unauthorized persons. The DBA who has the ultimate responsibility for the data in the DBMS
can ensure that proper access procedures are followed, including proper authentication schemes for access
to the DBMS and additional checks before permitting access to sensitive data .Different levels of security
could be implemented for various types of data and operations.

Disadvantages of DBMS
Cost of software/hardware and migration:
A significant disadvantage of the DBMS system is cost .In addition to the cost of purchasing or developing
the software, the hardware has to be upgraded to allow for the extensive programs and work spaces
required for their execution and storage.The processing overhead introduced by DBMS to implement
security, integrity, and sharing ofthe data causes a degradation of the response and through – put times. An
additional cost is that of migration from a traditionally separate application environment to an integrated
one.
Problem associated with centralization:
While centralization reduces duplication, the lack of duplication requires that the database be adequately
backed up so that in the case of failure the data can be recovered. Centralization also means that the data is
accessible from a single source .This increases the potential severity of security breaches and disruption
of the operation of the organization because of downtimes and failures. The replacement of a monolithic
centralized database by a federation of independent and cooperating distributed databases resolves some of
the problems resulting from failures anddowntimes.
Complexity of Backup and Recovery:
Backup and recovery operations are fairly complex in a DBMS environment, and this is exacerbated in a
concurrent multi user database system. Furthermore, a database system requires a certain amount of
controlled redundancies andduplication to enable access to related data items.

APPLICATION OF DBMS:
Databases are used to support internal operations of organizations and to underpin online interactions with
customers and suppliers (see Enterprise software). Databases are used to hold administrative information
and more specialized data, such as engineering data or economic models. Examples of database
applications include computerized library systems, flight reservation systems and computerized parts
inventory systems.
Application areas of DBMS
1. Banking: For customer information, accounts, and loans, and banking transactions.
2. Airlines: For reservations and schedule information. Airlines were among the first to use databases in a
geographically distributed manner - terminals situated around the world accessed the central database
system through phone lines and other data networks.

3. Universities: For student information, course registrations, and grades.

4. Credit card transactions: For purchases on credit cards and generation of monthly statements.

5. Telecommunication: For keeping records of calls made, generating monthly bills, maintaining balances
on prepaid calling cards, and storing information about the communication networks.

6. Finance: For storing information about holdings, sales, and purchases of financial instruments such as
stocks and bonds.

7. Sales: For customer, product, and purchase information.

8. Manufacturing: For management of supply chain and for tracking production of items in factories,
inventories of items in warehouses / stores, and orders for items.

9. Human resources: For information about employees, salaries, payroll taxes and benefits, and for
generation of paychecks

DATA BASE USERS

A typical DBMS has users with different rights and permissions who use it for different purposes. Some
users retrieve data and some back it up. The users of a DBMS can be broadlycategorized as follows −
 Administrators − Administrators maintain the DBMS and are responsible for administrating the
database. They are responsible to look after its usage and by whom it should be used. They create
access profiles for users and apply limitations to maintain isolation and force security.
Administrators also look after DBMS resources like system license, required tools, and other
software and hardware related maintenance.
 Designers − Designers are the group of people who actually work on the designing part of the
database. They keep a close watch on what data should be kept and in what format. They identify
and design the whole set of entities, relations, constraints, and views.
 End Users − End users are those who actually reap the benefits of having a DBMS. End users can
range from simple viewers who pay attention to the logs or market rates to sophisticated users
such as business analysts.

DBMS - DATA INDEPENDENCE


If a database system is not multi-layered, then it becomes difficult to make any changes in the database
system. Database systems are designed in multi-layers as we learnt earlier.
Data Independence
A database system normally contains a lot of data in addition to users’ data. For example, it stores data
about data, known as metadata, to locate and retrieve data easily. It is rather difficult to modify or update a
set of metadata once it is stored in the database. But as a DBMS expands, it needs to change over time to
satisfy the requirements of the users. If the entire data is dependent, it would become a tedious and highly
complex job.
Metadata itself follows a layered architecture, so that when we change data at one layer, it does not affect
the data at another level. This data is independent but mapped to each other.

Logical Data Independence


Logical data is data about database, that is, it stores information about how data is managed inside. For
example, a table (relation) stored in the database and all its constraints, applied onthat relation.
Logical data independence is a kind of mechanism, which liberalizes itself from actual data stored on the
disk. If we do some changes on table format, it should not change the data residingon the disk.

Physical Data Independence


All the schemas are logical, and the actual data is stored in bit format on the disk. Physical data
independence is the power to change the physical data without impacting the schema or logical data.
For example, in case we want to change or upgrade the storage system itself − suppose we want to replace
hard-disks with SSD − it should not have any impact on the logical data or schemas.

Advantages of DBMS
The database management system has a number of advantages as compared to traditional computer file-
based processing approach. The DBA must keep in mind these benefits or capabilities during databases
and monitoring the DBMS.
The Main advantages of DBMS are described below.
Controlling Data Redundancy
In non-database systems each application program has its own private files. In this case, the duplicated
copies of the same data is created in many places. In DBMS, all data of an organization is integrated into a
single database file. The data is recorded in only one place in the database and it is not duplicated.
Sharing of Data
In DBMS, data can be shared by authorized users of the organization. The database administrator manages
the data and gives rights to users to access the data. Many users can be authorized to access the same piece
of information simultaneously. The remote users can also share same data. Similarly, the data of same
database can be shared between different application programs.
Data Consistency
By controlling the data redundancy, the data consistency is obtained. If a data item appears only once, any
update to its value has to be performed only once and the updated value is immediately available to all
users. If the DBMS has controlled redundancy, the database system enforces consistency.
Integration of Data
In Database management system, data in database is stored in tables. A single database contains multiple
tables and relationships can be created between tables (or associated data entities). This makes easy to
retrieve and update data.
Integration Constraints
Integrity constraints or consistency rules can be applied to database so that the correct data can be entered
into database. The constraints may be applied to data item within a single record or the may be applied to
relationships between records.
Data Security
Form is very important object of DBMS. You can create forms very easily and quickly in DBMS. Once a
form is created, it can be used many times and it can be modified very easily. The created forms are also
saved along with database and behave like a software component. A form provides very easy way (user-
friendly) to enter data into database, edit data and display data from database. The non-technical users can
also perform various operations on database through forms without going into technical details of a
database.
Report Writers
Most of the DBMSs provide the report writer tools used to create reports. The users can create very easily
and quickly. Once a report is created, it can be used may times and it can be modified very easily. The
created reports are also saved along with database and behave like a software component.
Control Over Concurrency
In a computer file-based system, if two users are allowed to access data simultaneously, it is possible that
they will interfere with each other. For example, if both users attempt to perform update operation on the
same record, then one may overwrite the values recorded by the other. Most database management systems
have sub-systems to control the concurrency so that transactions are always recorded with accuracy.
Backup and Recovery Procedures
In a computer file-based system, the user creates the backup of data regularly to protect the valuable data
from damage due to failures to the computer system or application program. It is very time consuming
method, if amount of data is large. Most of the DBMSs provide the 'backup and recovery' sub-systems that
automatically create the backup of data and restore data if required.
Data Independence
The separation of data structure of database from the application program that uses the data is called data
independence. In DBMS, you can easily change the structure of database without modifying the
application program.

RELATIONAL SYSTEMS AND OTHER SYSTEMS

 The Evolution of Database systems are as follows


• Hierarchical database System
• Network Database System
• Entity Relationship Model
• Relational Database System
Hierarchical Model
Hierarchical Model was the first DBMS model. This model organizes the data in the hierarchical tree
structure. The hierarchy starts from the root which has root data and then it expands in the form of a tree
adding child node to the parent node. This model easily represents some of the real-world relationships
like food recipes, sitemap of a website etc. Example: We can represent the relationship between the
shoes present on a shopping website in the following way:
Features of a Hierarchical Model
1. One-to-many relationship: The data here is organised in a tree-like structure where the one-to-
many relationship is between the datatypes. Also, there can be only one path from parent to any
node. Example: In the above example, if we want to go to the node sneakers we only have one
path to reach there i.e through men's shoes node.
2. Parent-Child Relationship: Each child node has a parent node but a parent node can have more
than one child node. Multiple parents are not allowed.
3. Deletion Problem: If a parent node is deleted then the child node is automatically deleted.
4. Pointers: Pointers are used to link the parent node with the child node and are used to navigate
between the stored data. Example: In the above example the 'shoes' node points to the two other
nodes 'women shoes' node and 'men's shoes' node.
Advantages of Hierarchical Model
 It is very simple and fast to traverse through a tree-like structure.
 Any change in the parent node is automatically reflected in the child node so, the integrity of data
is maintained.
Disadvantages of Hierarchical Model
 Complex relationships are not supported.
 As it does not support more than one parent of the child node so if we have some complex
relationship where a child node needs to have two parent node then that can't be represented
using this model.
 If a parent node is deleted then the child node is automatically deleted.
Network Model
This model is an extension of the hierarchical model. It was the most popular model before the relational
model. This model is the same as the hierarchical model, the only difference is that a record can have
more than one parent. It replaces the hierarchical tree with a graph. Example: In the example below we
can see that node student has two parents i.e. CSE Department and Library. This was earlier not possible
in the hierarchical model.
Features of a Network Model
1. Ability to Merge more Relationships: In this model, as there are more relationships so data is
more related. This model has the ability to manage one-to-one relationships as well as many-to-
many relationships.
2. Many paths: As there are more relationships so there can be more than one path to the same
record. This makes data access fast and simple.
3. Circular Linked List: The operations on the network model are done with the help of the
circular linked list. The current position is maintained with the help of a program and this
position navigates through the records according to the relationship.
Advantages of Network Model
 The data can be accessed faster as compared to the hierarchical model. This is because the data is
more related in the network model and there can be more than one path to reach a particular node.
So the data can be accessed in many ways.
 As there is a parent-child relationship so data integrity is present. Any change in parent record is
reflected in the child record.
Disadvantages of Network Model
 As more and more relationships need to be handled the system might get complex. So, a user
must be having detailed knowledge of the model to work with the model.
 Any change like updation, deletion, insertion is very complex.
Entity-Relationship Model
Entity-Relationship Model or simply ER Model is a high-level data model diagram. In this model, we
represent the real-world problem in the pictorial form to make it easy for the stakeholders to understand.
It is also very easy for the developers to understand the system by just looking at the ER diagram. We use
the ER diagram as a visual tool to represent an ER Model. ER diagram has the following three
components:
 Entities: Entity is a real-world thing. It can be a person, place, or even a
concept. Example: Teachers, Students, Course, Building, Department, etc are some of the entities
of a School Management System.
 Attributes: An entity contains a real-world property called attribute. This is the characteristics of
that attribute. Example: The entity teacher has the property like teacher id, salary, age, etc.
 Relationship: Relationship tells how two attributes are related. Example: Teacher works for a
department.
Example:

In the above diagram, the entities are Teacher and Department. The attributes of Teacher entity are
Teacher_Name, Teacher_id, Age, Salary, Mobile_Number. The attributes of entity Department entity
are Dept_id, Dept_name. The two entities are connected using the relationship. Here, each teacher works
for a department.
Features of ER Model
 Graphical Representation for Better Understanding: It is very easy and simple to understand
so it can be used by the developers to communicate with the stakeholders.
 ER Diagram: ER diagram is used as a visual tool for representing the model.
 Database Design: This model helps the database designers to build the database and is widely
used in database design.
Advantages of ER Model
 Simple: Conceptually ER Model is very easy to build. If we know the relationship between the
attributes and the entities we can easily build the ER Diagram for the model.
 Effective Communication Tool: This model is used widely by the database designers for
communicating their ideas.
 Easy Conversion to any Model: This model maps well to the relational model and can be easily
converted relational model by converting the ER model to the table. This model can also be
converted to any other model like network model, hierarchical model etc.
Disadvatages of ER Model
 No industry standard for notation: There is no industry standard for developing an ER model.
So one developer might use notations which are not understood by other developers.
 Hidden information: Some information might be lost or hidden in the ER model. As it is a high-
level view so there are chances that some details of information might be hidden.
Relational Model
Relational Model is the most widely used model. In this model, the data is maintained in the form of a
two-dimensional table. All the information is stored in the form of row and columns. The basic structure
of a relational model is tables. So, the tables are also called relations in the relational model. Example: In
this example, we have an Employee table.

Features of Relational Model


 Tuples: Each row in the table is called tuple. A row contains all the information about any
instance of the object. In the above example, each row has all the information about any specific
individual like the first row has information about John.
 Attribute or field: Attributes are the property which defines the table or relation. The values of
the attribute should be from the same domain. In the above example, we have different attributes
of the employee like Salary, Mobile_no, etc.
Advnatages of Relational Model
 Simple: This model is more simple as compared to the network and hierarchical model.
 Scalable: This model can be easily scaled as we can add as many rows and columns we want.
 Structural Independence: We can make changes in database structure without changing the way
to access the data. When we can make changes to the database structure without affecting the
capability to DBMS to access the data we can say that structural independence has been achieved.
Disadvantages of Relatinal Model
 Hardware Overheads: For hiding the complexities and making things easier for the user this
model requires more powerful hardware computers and data storage devices.
 Bad Design: As the relational model is very easy to design and use. So the users don't need to
know how the data is stored in order to access it. This ease of design can lead to the development
of a poor database which would slow down if the database grows.
DBMS ARCHITECTURE

The design of a DBMS depends on its architecture. It can be centralized or decentralized or hierarchical.
The architecture of a DBMS can be seen as either single tier or multi-tier. An n-tierarchitecture divides the
whole system into related but independent n modules, which can be independently modified, altered,
changed, or replaced.
In 1-tier architecture, the DBMS is the only entity where the user directly sits on the DBMS anduses
it. Any changes done here will directly be done on the DBMS itself. It does not provide handy tools for
end-users. Database designers and programmers normally prefer to use single- tier architecture.
If the architecture of DBMS is 2-tier, then it must have an application through which the DBMScan
be accessed. Programmers use 2-tier architecture where they access the DBMS by means of an application.
Here the application tier is entirely independent of the database in terms of operation, design, and
programming.

Database architecture can be seen as a single tier or multi-tier. But logically, database architecture is of two
types like: 2-tier architecture and 3-tier architecture.
1-Tier Architecture
o In this architecture, the database is directly available to the user. It means the user can directly sit
on the DBMS and uses it.
o Any changes done here will directly be done on the database itself. It doesn't provide a handy tool
for end users.
o The 1-Tier architecture is used for development of the local application, where programmers can
directly communicate with the database for the quick response.
2-Tier Architecture
o The 2-Tier architecture is same as basic client-server. In the two-tier architecture, applications on
the client end can directly communicate with the database at the server side. For this interaction,
API's like: ODBC, JDBC are used.
o The user interfaces and application programs are run on the client-side.
o The server side is responsible to provide the functionalities like: query processing and transaction
management.
o To communicate with the DBMS, client-side application establishes a connection with the server
side.

Fig: 2-tier Architecture


3-Tier Architecture
o The 3-Tier architecture contains another layer between the client and server. In this architecture,
client can't directly communicate with the server.
o The application on the client-end interacts with an application server which further communicates
with the database system.
o End user has no idea about the existence of the database beyond the application server. The
database also has no idea about any other user beyond the application.
o The 3-Tier architecture is used in case of large web application.
Fig: 3-tier Architecture

THE THREE LEVELS OF ARCHITECTURE-THE EXTERNAL LEVEL- THE CONCEPTUAL


LEVEL- THE INTERNAL LEVEL
The Database Management System (DBMS) architecture shows how data in the database is viewed by the
users. It is not concerned about how the data are handled and processed by the DBMS.
It helps in implementation, design, and maintenance of a database to store and organize information for
companies. The concept of DBMS depends upon its architecture. The architecture can be designed as
centralized, decentralized, or hierarchical.
The architecture of DBMS can be defined at three levels as follows −
 External levels.
 Conceptual levels.
 Internal levels.
The main objective of the three level architecture is nothing but to separate each user view of the data from
the way the database is physically represented. The database internal structure should be unaffected while
changes to the physical aspects of storage.
The DBA should be able to change the conceptual structure of the database without affecting all other
users.
External level/ View level
External level describes a part of the database that is relevant to each user. This level insulates the users
from the details of conceptual and the internal level.
• It is also called view level. The reason this level is called “view” is because several users can view
their desired data from this level which is internally fetched from database with the help of conceptual
and internal level mapping.
• The user doesn’t need to know the database schema details such as data structure, table definition etc.
user is only concerned about data which is what returned back to the view level after it has been
fetched from database (present at the internal level).
• External level is the “top level” of the Three Level DBMS Architecture.
Conceptual level/ logic level
Conceptual level describes what data is stored into the database and the relationship among the data.
• It is also called logical level. The whole design of the database such as relationship among data,
schema of data etc. are described in this level.
• Database constraints and security are also implemented in this level of architecture. This level is
maintained by DBA (database administrator).
It represents the following −
 All the entities, attributes and their relationships.
 The constraints on the data.
 Security and integrity information.

Internal level/ storage level


Internal level is the physical representation of the database on the computer. This level describes how the
data is stored in the database. It covers the data structure and file organization used to store the data on
storage devices.
The levels in the architecture of DBMS are shown below in diagram form –
MAPPING
 Mapping in DBMS is the no. of values of one entity connected to no. of values of another entity.
 A mapping constraint is a data constraint that expresses the number of entities to which another entity
can be related via a relationship set.
 It is most useful in describing the relationship sets that involve more than two entity sets.
 For binary relationship set R on an entity set A and B, there are four possible mapping cardinalities.
These are as follows:
 Mapping cardinalities −
o one to one
o one to many
o many to one
o many to many

One to One Relationship


• One entity of A is associated with one entity of B.

• Example
• Given below is an example of the one-to-one relationship in the mapping cardinality. Here, one
department has one head of the department (HOD).
One-to-many relationship
• An entity set A is associated with any number of entities in B with a possibility of zero and entity in
B is associated with at most one entity in A

Example
• Given below is an example of the one-to-many relationship in the mapping cardinality. Here, one
department has many faculties.

Many-to-one relationship
• An entity set A is associated with at most one entity in B and an entity set in B can be associated with
any number of entities in A with a possibility of zero.
Example
• Given below is an example of the many-to-one relationship in the mapping cardinality. Here, many
faculties work in one department

Many-to-many relationship
• Many entities of A are associated with many entities of B.
• An entity in A is associated with many entities of B and an entity in B is associated with many entities
of A. Many to many=many to one + one to many.

Example
• Given below is an example of the many-to-many relationship in the mapping cardinality. Here, many
employees work on many projects.
DATABASE ADMINISTRATOR (DBA)

A database administrator (DBA) is a specialized computer systems administrator who maintains a


successful database environment by directing or performing all related activities to keep the data secure.
The top responsibility of a DBA professional is to maintain data integrity.
Responsibilities of DBA (Data Base Administrator):-
• Creates and maintain all databases required for development and testing.
• Performs ongoing tuning of the database instances.
• Install new versions of the oracle DBMS and its tools and any other tools that access the oracle
database.
• Planes and implements backup and recovery the oracle database.
• Controls migrations of programs, database changes, reference data changes through the
development life cycle.
• Implement and enforces security for all the oracle databases.
• Performs databases reorganizations to assist performance.
• Evaluates releases of oracle and its tools.
• Provides technical support to application development team.
• Enforces and maintains database constraints to ensure integrity of the database.
• Administrators all database objects, including tables, views, indexes, clusters, packages, and
procedures.
• Troubleshoots with problem regarding the databases, application and development tools.
• Create new databases users as required.
• Manage sharing of resources amongst applications.
• DBA has ultimate responsibility for the physical database design.

CLIENT-SERVER MODEL
The Client-server model is a distributed application structure that partitions task or workload between the
providers of a resource or service, called servers, and service requesters called clients. In the client-server
architecture, when the client computer sends a request for data to the server through the internet, the server
accepts the requested process and deliver the data packets requested back to the client. Clients do not share
any of their resources. Examples of Client-Server Model are Email, World Wide Web, etc.
How the Client-Server Model works?
 Client: When we talk the word Client, it mean to talk of a person or an organization using a particular
service. Similarly in the digital world a Client is a computer (Host) i.e. capable of receiving
information or using a particular service from the service providers (Servers).
 Servers: Similarly, when we talk the word Servers, It mean a person or medium that serves something.
Similarly in this digital world a Server is a remote computer which provides information (data) or
access to particular services.
So, its basically the Client requesting something and the Server serving it as long as its present in the
database.

How the browser interacts with the servers ?


There are few steps to follow to interacts with the servers a client.
 User enters the URL(Uniform Resource Locator) of the website or file. The Browser then requests
the DNS(DOMAIN NAME SYSTEM) Server.
 DNS Server lookup for the address of the WEB Server.
 DNS Server responds with the IP address of the WEB Server.
 Browser sends over an HTTP/HTTPS request to WEB Server’s IP (provided by DNS server).
 Server sends over the necessary files of the website.
 Browser then renders the files and the website is displayed. This rendering is done with the help
of DOM (Document Object Model) interpreter, CSS interpreter and JS Engine collectively known as
the JIT or (Just in Time) Compilers.
Advantages of Client-Server model:
 Centralized system with all data in a single place.
 Cost efficient requires less maintenance cost and Data recovery is possible.
 The capacity of the Client and Servers can be changed separately.
Disadvantages of Client-Server model:
 Clients are prone to viruses, Trojans and worms if present in the Server or uploaded into the Server.
 Server are prone to Denial of Service (DOS) attacks.
 Data packets may be spoofed or modified during transmission.
 Phishing or capturing login credentials or other useful information of the user are common and
MITM(Man in the Middle) attacks are common.

You might also like