Chapter 2 Database System Concepts and Architecturen
Chapter 2 Database System Concepts and Architecturen
Data Models
• Data Model: a set of concepts to describe the structure of a database, and certain constraints that
the database should obey.
• By structure of a database we mean the data types, relationships, and constraints that should hold
on the data.
• Data model helps to understand the relationship between entities and to create the most effective
structure to hold data.
• Most data models also include a set of basic operations for specifying retrievals and updates on the database.
Data Models (Cont’d)
• We can categorize data models according to the types of concepts they use to describe
the database structure.
• Physical (low-level)
• Provide concepts that describe details of how data is stored in the computer
• Meant for computer specialists, not for typical end users
• Implementation (representational)
• Provide concepts that fall between the above two, used by many commercial DBMS
implementations
• Provide concepts that may be understood by end users but that are not too far removed from
the way data is organized within the computer
• Hide some details of data storage but can be implemented on a computer system in a direct
way
• Representational data models represent data by using record structures and hence are
sometimes called record-based data models. Examples: relational data model, network and
hierarchical model
Schemas, Instances, and Database State
Database Schema(Intension)
• The structure of a database that captures data types, relationships and constraints in data
• Refers to a description of database (or intention)
• Specified during database design
• Is independent of any application program
• Since it is used during the database development phase, there is rare tendency of changing
the schema unless there is a need for system maintenance which demands change to the
definition of a relation(changes infrequently
Schemas, Instances, and Database State (Cont’d)
• In the relational model, the schema for a relation specifies its name, the name of
each field (or attribute or column), and the type of each field
Students( sid: string, name: string, login: string, age: integer, gpa: real)
Schemas, Instances, and Database State (Cont’d)
• All users should be able to access same data. This is important since the database is having a shared data
feature where all the data is stored in one location and all users will have their own customized way of
interacting with the data.
• A user's view is unaffected or immune to changes made in other views. Since the requirement of one user
is independent of the other, a change made in one user’s view should not affect other users.
• Users should not need to know physical database storage details. As there are naïve users of the system,
hardware level or physical details should be a black-box for such users.
• DBA should be able to change database storage structures without affecting the users' views. A change in
file organization, access method should not affect the structure of the data which in turn will have no effect
on the users.
The purpose and origin of the Three-Level database architecture (Cont’d)
• All the above and many other functionalities are possible due to the three level
ANSI-SPARC architecture.
The three-schema architecture
Three-Schema Architecture (Cont’d)
Students(sid: string, name: string, login: string, age: integer, gpa: real)
Faculty(fid: string, fname: string, sal: real)
Courses(cid: string, cname: string, credits: integer)
Rooms(rno: integer, address: string, capacity: integer)
Enrolled(sid: string, cid: string, grade: string)
Teaches(fid: string, cid: string)
Meets In(cid: string, rno: integer, time: string)
Three-Schema Architecture (Cont’d)
Internal/Physical Level:
• Physical representation of the database on the computer.
• The physical layer contains the data files that hold all the data for the database
• The database user does not need to understand how the data is actually stored within the
data files or even which file contains the data item(s) of interest.
• This level describes how the data is stored in the database. The internal level is concerned
with such things as:
• Create indexes on the first column of the Students. Faculty, and Courses relations, the
sal column of Faculty, and the capacity column of Rooms.
Example: Difference between the three levels
External level
Struct STAFF{
Int staff_no;
Internal level Char fname[15];
Char lname[15];
Struct date date_of_birth;
Flooat sal;
Struct staff *next
};
• Physical schema:
• Relations stored as unordered files.
• Index on first column of Students.
• In a DBMS based on the three-schema architecture, each user group refers only to
its own external schema. Hence, the DBMS must transform a request specified on
an external schema into a request against the conceptual schema, and then into a
request on the internal schema for processing over the stored database. If the
request is a database retrieval, the data extracted from the stored database must be
reformatted to match the user’s external view. The processes of transforming
requests and results between levels are called mappings.
Data Independence and the ANSISPARC Three-Level Architecture
Data Independence
• A very important advantage of using a DBMS is that it offers data independence.
• That is, application programs are insulated from changes in the way the data is
structured and stored.
• Data independence is the capacity to change the schema at one level of a database
system without having to change the schema at the next higher level
• Data independence is achieved through use of the three levels of data abstraction; in
particular, the conceptual schema and the external schema provide distinct benefits in
this area.
• Specifically, data independence means changes in storage structure and data access
technique does NOT affect application program.
Data Independence (Cont’d)
Data Independence (Cont’d)
Example:
Original Setup: A Studens table has columns: StudentID, Name, Age.
Change: Add a new column Email to the Students table.
Independence: Existing external views (e.g., a view showing only StudentID and Name)
remain unchanged. Applications relying on those views continue working without updates.
• .
Data Independence (Cont’d)
• Physical Data Independence
• Is the capacity to change the internal schema without having to change the conceptual (or external)
schemas. This means you can change the way data is physically stored without altering the logical view
of the data or the applications that access it.
• Changes to the internal schema may be needed because some physical files had to be reorganized—for
example, by creating additional access structures—to improve the performance of retrieval or update.
Example:
• Original: Data is stored in a row-based format on disk.
• Change: The database administrator changes storage to a column-based format for faster analytics.
• Independence: Applications and users still interact with the database as if it were row-based. No queries
or views need modification.
• Change: Changing the index on the student table's st_id column from a B-tree to a hash index at the
internal schema level.
• The change to the indexing strategy at the internal level does not affect the conceptual schema, the
external schemas, or any of the applications that access the database.
History of Data Models
• A Data Model is a set of concepts that can be used to describe the structure of data in a
database.
• A database model shows the logical structure of a database, including the relationships
and constraints that determine how data can be stored and accessed.
• Object-based
• Record-based
• Physical
Record-based Data Models
• Consist of a number of fixed format records. Each record type defines a fixed number of
fields, Each field is typically of a fixed length. The following are examples of this
database model category.
• Relation is established by creating physical link between stored records (each is stored
with a predefined access path to other records)
• To add new record type or relationship, the database must be redefined and then stored
in a new form.
Sample Hierarchical Model Diagram:
Lets say we have few students and few courses and a course can be assigned to a single
student only, however a student take any number of courses so this relationship becomes
one to many.
Advantages of Hierarchical model
• Complex implementation – Programmers and designers need to have detailed knowledge of the
physical data storage characteristics
• Difficult to manage –Any change in a location of data needs change in all application programs
that accesses changes data
• Lacks structural independence
• Complex applications programming and use –
• programmers and end users must know precisely how the data are physically distributed
within the database
• Lack of standards – no standard DDL and no DML
• Navigational and procedural nature of processing
• A programmer still has to write the program to access the account information, but now the
program navigates through the hierarchy e.g. to find the balance of the savings account for a
given customer number.
• Does not support much consistency and security
Disadvantages of Hierarchical model (Cont’d)
• A child node in the tree cannot have more than one parent. So if the same account is
associated with two customers (e.g. a husband and wife have a joint account and also
separate accounts), we cannot link the one account record to two different customer
records. But we can have the account record appearing in two tree branches. This can lead
to duplicated data – and inconsistent data, if the account is not updated in all the
branches.
• The network database model was created to solve the shortcomings of the hierarchical
database model.
• In this type of model, a child can be linked to multiple parents, a feature that was not
supported by the hierarchical data model.
• The parent nodes are known as owners and the child nodes are called members
• Network Model is same as hierarchical model except that it has graph-like structure rather
than a tree-based structure.
• Unlike hierarchical model, this model allows each record to have more than one parent record.
• The Network Database Model to allow multiple records to be linked to the same owner file
creating a many-to-many relationship rather than a one-to-many.
• Represents complex data relationships more effectively than the hierarchical model.
Network Data Model (Cont’d)
• Like hierarchical model, network model is a collection of physically linked records.
• Collection of records in 1:M relationships
• A relationship is called a Set
• Composed of at least two record types
• Owner
• Equivalent to the hierarchical model’s parent
• Member
• Equivalent to the hierarchical model’s child
• A record can appear as a member in more than one set i.e., a member may have
multiple owners
• The data is still stored in files but now we also have to define the set types.
• Relationships are modelled using sets.
• Set types CustommerAccount, AccountTransaction
• The entry points are records that can be searched
Example:
52
Advantages Network Data Model
• Conceptual simplicity
• Handles more relationship types
• Data access flexibility – no need for a preorder traversal
• Promotes database integrity – must first define the owner and then the member record
• Data independence
• Network Model is able to model complex relationships and represents semantics of add or
delete on the relationships.
• Can handle most situations for modeling using record types and relationship types.
• Language is navigational; uses constructs like FIND, FIND member, FIND owner,
FIND NEXT within set, GET etc. Programmers can do optimal navigation through the
database
• Conformance to standards
Fundamentals Database Systems 40
Disadvantages Network Data Model
• System complexity
• Lack of structural independence: Any change made to the database structures requires the application
programs to be modified before it can access data
• Database contains a complex array of pointers that thread through a set of records.
• Developed by Dr. Edgar Frank Codd in 1970 (famous paper, 'A Relational Model for
Large Shared Data Banks').
• Terminologies originates from the branch of mathematics called set theory and relational
algebra.
• Can define more flexible and complex relationship.
• Viewed as a collection of tables called “Relations” equivalent to collection of record types.
• A set of records with similar attributes called a TABLE
• Relation: Two dimensional table.
• Stores information or data in the form of tables rows and columns.
• A row of the table is called tuple equivalent to record.
• A column of a table is called attribute equivalent to fields.
• The RDBMS manages all of the physical details, while the user sees the relational database as a collection of
tables in which data are stored.
• Most of the popular commercial DBMS products like Oracle ,Sybase, Mysql are based on relational data model
• The user can manipulate and query the data in a way that seems intuitive and logical.
• Conducts searches by using data in specified columns of one table to find additional data in another table.
• In conducting searches, a relational database model matches information from a field in one table with
information in a corresponding field of another table to produce a third table that combines requested data from
both tables.
• Structural independence – changes in the relational data structure do not affect the
DBMS’s data access in any way
• Relational data model supports relational algebra and also relational operations of the set
theory like union, intersection and etc
• Improved conceptual simplicity by concentrating on the logical view
• Easier database design, implementation, management, and use
• Dynamic views: in RDBMS, a view is not a part of physical schema, it always dynamic
• Structured Query Language: For data access in RDBMS, we have query language
SQL.Most of the database vendors support SQL standards
• Ad hoc query capability - SQL
• Powerful database management system
• Excellent data security: Relational database supports the concept of user rights, every user
is assigned with some database permission called user rights
Disadvantages Relational Data Model
• Substantial hardware and system software overhead
• Can facilitate poor design and implementation
Fundamentals Database Systems 46
Object-Oriented Model:
• Models both data and their relationships in a single structure known as an object
• Uses objects and classes to represent data and relationships.
• Object oriented data model (OODM) is the basis for object-oriented database
management system(OODMS)
• Inheritance and Polymorphism
• Inheritance is the ability of an object within a class hierarchy to inherit the attributes
and methods of classes above it.
• OODM supports inheritance and polymorphism, which can simplify data modeling
and code reuse.
• Complex Data Types: Can handle complex data types, such as images and audio.
• So, it supports objects, classes, inheritance etc. just like Object Oriented models and has
support for data types, tabular structures etc. like Relational data model.
• One of the major goals of Object relational data model is to close the gap between relational
databases and the object oriented practises frequently used in many programming languages
such as C++, C#, Java etc.
Example of Object relational Data Model
Advantages relational Data Model
Inheritance
• The Object Relational data model allows its users to inherit objects, tables etc. so
that they can extend their functionality. Inherited objects contains new attributes as
well as the attributes that were inherited.
Complex Data Types
• Complex data types can be formed using existing data types. This is useful in
Object relational data model as complex data types allow better manipulation of
the data.
Extensibility
• The functionality of the system can be extended in Object relational data model.
This can be achieved using complex data types as well as advanced concepts of
object oriented model such as inheritance.
Disadvantages Relational Data Model
The object relational data model can get quite complicated and difficult to handle
at times as it is a combination of the Object oriented data model and Relational
data model and utilizes the functionalities of both of them.
Database Languages and Interfaces
DBMS Languages
• A DBMS has appropriate languages and interfaces to express database queries and
updates.
• Database languages can be used to read, store and update the data in the database.
Data Definition Language
• DDL stands for Data Definition Language. It is used to define database structure or
pattern.
• It is used to create schema, tables, indexes, constraints, etc. in the database.
• Using the DDL statements, you can create the skeleton of the database.
• Data definition language is used to store the information of metadata like the number
of tables and schemas, their names, indexes, columns in each table, constraints, etc.
Here are some tasks that come under DDL
• The TCL (Transaction Control Language) commands help users manage and
control a database’s transactions (changes) to maintain consistency.
• Transactions are a set of one or more operations that are executed as a single unit of
work. Either all or none of the operations should be completed.
• The user and the database are connected through DBMS interfaces
• They give users an easy-to-use interface so they may access and change the data
that is stored in the database. There are several DBMS interface types, each
created to meet certain user requirements.
Command-Line Interface (CLI)
• The earliest and most fundamental form of DBMS interface is the command-line interface
(CLI). Through the use of a command prompt, users may communicate with the database
by inputting commands. Users can only access and modify the database using particular
commands and syntax. Today, programmers and database administrators are the main users
of CLI.
User-Friendly DBMS Interfaces
Forms-Based Interface:
• A forms-based interface displays a form to each user.
• Users can complete pre-made forms that provide fields for particular categories of
information, such as name, address, and phone number.
• This type of forms are usually designed or created and programmed for the users that
have no expertise in operating system.
Graphical User Interface(GUI)
• A graphical user interface (GUI) shows the diagrammatic structure.
• GUI’s utilize both menus and forms.
• Most GUIs use a pointing device such as a mouse, to pick a certain part of the
displayed schema diagram.
Natural language Interfaces
• These interfaces accept requests written in English or some other language and
attempt to understand them.
• The system will convert user inquiries into SQL instructions and carry them out if
they are entered in plain English. Users who are unfamiliar with SQL commands
might benefit from using natural language interfaces.
Web-Based Interface
• Users can access the database using a browser using the web-based interface. Users can use
online forms, buttons, and other graphical components to interact with the database using a
web browser. Because they can be accessed from any location with an internet connection,
web-based interfaces are common.
The Database System Environment
• hardware,
• people,
• Procedure, and
• data
• Hardware:
• Identifies all the physical devices
• Computer is the main and most easily identified hardware component of the database
environment
• Servers (for hosting the database software).
• Storage devices (hard drives, solid-state drives, cloud storage).
• Network infrastructure (routers, switches) to allow access to the database.
• Client machines (desktops, laptops, mobile devices) for users to interact with the database.
• Hardware choices depend on factors like the size of the database, the number of users, and
performance requirements.
• Software:
• Refers to the collection of programs used by the computers within the database system
• Three (3) types of system software:
• Operating system
• DBMS software
• Application program and utilities
• Operating System:
• Manages all hardware components and makes it possible for all other software to run
on the computer
• A Software on which the DBMS runs.
• Eg:
• Windows Server, Linux
• Database Management System (DMBS)
• Manages the database within the system
• The DBMS provides features like data storage, retrieval, security, concurrency
control, and backup/recovery.
• Some examples of DBMS include: Microsoft’s Access and SQL Server, Oracle,
MySQL, PostgreSQL, MongoDB)
• Application Programs:
• Software applications that interact with the database (e.g., a web application, a
reporting tool).
• Database Tools: Utilities for tasks like database design, administration, data
migration, and performance monitoring.
People (Users):
The people who interact with the database system in various roles.
Key roles:
• Database Administrators (DBAs): Responsible for the overall management of the
database system, including installation, configuration, security, performance tuning, backup,
and recovery.
• Database Designers: Design the database schema (tables, relationships, constraints) to
meet the organization's data requirements.
• Application Developers: Develop the applications that access and use the data stored in the
database.
• End Users: The individuals who use the applications to access and manipulate the data
• Data Analysts/Scientists: Analyze the data to extract insights and support decision-
making.
Procedures:
• The documented rules, guidelines, and processes for managing and using the database.
Examples:
Query Processor…
2. DML Compiler: The Data Manipulation Language (DML) compiler processes user
commands like SELECT, INSERT, UPDATE, and DELETE. It converts these high-level
queries into low-level instructions that the DBMS can understand and execute
Query Processor…
4. Query Optimizer
• For any given query, there may be a number of different ways to execute it
• Each operation in the query (SELECT, JOIN, etc.) can be implemented using one or more different Access
Routines.
• For example, an access routine that employs an index to retrieve some rows would be more efficient that an access
routine that performs a full table scan.
• The goal of the query optimizer is to find a reasonably efficient strategy for executing the query using the access
routines.
• Query optimizer is concerned with the
• rearrangement and possible reordering of operations,
• elimination of redundancies, and
• use of correct algorithms and indexes during execution.
• consults the system catalog
• Generates executable code that performs the necessary operations for the query and makes calls on the runtime processor.
Fundamentals Database Systems 77
DBMS Component Modules (Cont’d)
The runtime database processor :
• It handles database accesses at run time.
• It receives retrieval or update operations and carries them out on the database
• It involves:
1. Data Files: Data files hold the actual user data in a structured format. These files store
all the records, transactions, and information required by the application. They are
designed for optimized storage and fast retrieval.
2. Data Dictionary: The data dictionary is also known as metadata storage and contains
detailed information about the database structure. It records table names, column types,
constraints, and relationships. This acts as a reference for the DBMS so it can
understand how data is organized and used.
3. Indices: Indices are like shortcuts for data access. They create pointers for specific
rows or records, which enables the DBMS to locate data quickly without scanning the
entire database. Indices are necessary to greatly improve query performance and are
especially needed for large datasets.
Fundamentals Database Systems 78
DBMS Component Modules (Cont’d)
Concurrency control:
• Concurrency control enables multiple users to access a database at the same
time without causing errors or data issues. It prevents problems like data
loss, inconsistencies, or system crashes by managing how transactions are
handled. A transaction, which is a single logical unit of work that retrieves
or modifies data can cause delays if executed one at a time. This increases
the waiting time for other transactions and slows overall performance. To
improve throughput and reduce delays, transactions are executed
concurrently. It allows the database to handle multiple tasks efficiently.
Storage Manager
• The storage manager is an essential part of a database management system. It
handles how data is stored, retrieved, and managed on physical storage devices
like disks. The storage manager is responsible for data integrity, security, and
efficient access. It includes the following key components:
• Authorization Manager: It’s a check that only lets authorized users access or modify the
database. It verifies user credentials and permissions to prevent unauthorized access, so the
database is secure.
• Integrity Manager: The integrity manager enforces rules that maintain the correctness of
the data. For example, it ensures no duplicate primary keys exist and that foreign key
constraints are followed. This prevents invalid or inconsistent data from entering the
database.
3/10/2025 80
DBMS Component Modules (Cont’d)
Storage Manager…
• File Manager: The file manager organizes and manages data on physical storage
devices. It handles how data files are created, read, and written. This component is
necessary for efficient storage utilization and supports large-scale data management.
• Buffer Manager: The buffer manager controls the flow of data between main
memory (RAM) and disk storage. It stores frequently accessed data temporarily in
memory to speed up data retrieval and reduce disk access time.
3/10/2025 81
Database System Utilities
• In addition to possessing the software modules just described, most DBMSs have
database utilities that help the DBA in managing the database system. Common utilities
have the following types of functions:
• Loading: A loading utility is used to load existing data files—such as text files or
sequential files—into the database without writing programs.
• Backup: A backup utility creates a backup copy of the database, usually by dumping
the entire database onto tape or other mass storage medium.
• Database storage reorganization: used to reorganize a set of database files into
different file organizations, and create new access paths to improve performance.
• Performance monitoring: Such a utility monitors database usage and provides
statistics to the DBA.
Fundamentals Database Systems 82
Centralized and Client/Server Architectures for DBMSs
• This structure is defined by how its components are distributed across different layers
• In tier architecture, the database is divided into multiple layers, such as single-tier, two-
tier, or three-tier systems
• These tiers create separation of the user interface, application logic, and database to i
3/10/2025 83
Centralized and Client/Server Architectures for DBMSs
• As the number of layers increases, the level of abstraction also increases, enhancing security and
adding complexity to the database system structure. Each layer in the application architecture
in DBMS operates independently. Therefore, modifications to one layer do not affect the others,
ensuring flexibility and maintainability in the system design.
3/10/2025 84
Centralized and Client/Server Architectures for DBMSs
• In single-tier architecture in DBMS, the database is directly accessible to the user. The user
interacts with the DBMS architecture directly, making changes that immediately reflect on the
database. This architecture does not offer user-friendly tools for end-users and is ideal for local
application development where programmers need quick, direct access to the database.
• This type of architecture of a database system is best suited for scenarios where:
• Data is rarely modified.
• Only a single user is accessing the database.
• A straightforward way to interact with or modify the database is required.
• This type of system is generally referred as local database system
85
Centralized and Client/Server Architectures for DBMSs
• Client-side applications directly communicate with the server-side database using APIs
like ODBC (Open Database Connectivity) or JDBC (Java Database Connectivity).
• The user interface and application logic run on the client side, while the server handles
tasks like query processing and transaction management. In this DBMS architecture, the
client application establishes a connection to the server to interact with the database.
3/10/2025 86
Centralized and Client/Server Architectures for DBMSs
• Client-side applications directly communicate with the server-side database using APIs
like ODBC (Open Database Connectivity) or JDBC (Java Database Connectivity).
• The user interface and application logic run on the client side, while the server handles
tasks like query processing and transaction management. In this DBMS architecture, the
client application establishes a connection to the server to interact with the database.
3/10/2025 87
Two Tier Architecture in DBMS …
Example:
Imagine withdrawing cash at a bank. The banker enters your account details and
withdrawal amount into the system. The client application (banker’s interface) sends a
request to the server-side database to check your balance and process the transaction.
1. Supports Multiple Users: Suitable for organisations as multiple users can access
the database simultaneously.
2. High Processing Power: The server handles database functions, improving
performance.
3. Faster Access: Direct connection between client and server ensures quick data
retrieval.
4. Easy Maintenance: With two distinct layers, updates and maintenance become
simpler
Centralized and Client/Server Architectures for DBMSs
• In a three-tier architecture, there is an additional layer between the client and the server,
known as the application server.
• The client does not directly communicate with the database. Instead, client-side
applications interact with the application server, which then communicates with the
database server. This layer of separation ensures that the end-user is unaware of the
database's internal details, and the database remains insulated from direct client
interactions.
3/10/2025 90
Three Tier Architecture in DBMS…
Working of Application Layer
• The application layer acts as an intermediary between the client and the database. It
processes requests from the client, then performs necessary business logic, and finally
sends the appropriate queries to the database. This separation keeps the client only
with the application layer, and hence, it keeps the database secure and independent
from direct user interactions.
Example:
Consider an online shopping platform like Amazon. When a user places an order, the client-
side interface (website or app) sends the request to an application server. The application
server processes the order, verifies stock availability, and updates the database accordingly.
The client never communicates directly with the database; the application server handles all
interactions.
1. Scalability: The application server can manage load balancing, allowing support for
numerous clients without impacting database performance.
2. Data Integrity: The application layer filters and validates client requests, reducing the
risk of data corruption or erroneous queries.
3. Security: By removing direct access to the database, the architecture minimizes the
chance of unauthorized access and enhances security.
Centralized and Client/Server Architectures for DBMSs
1. Centralized and Client-Server Architectures:
Centralized DBMS: combines everything into single system including- DBMS software,
hardware, application programs and user interface processing software.
User can still connect through a remote terminal – however, all processing is done at
centralized site.
The primary processing for all system functions, including user application programs, user
interface programs, and all DBMS capabilities are handled by server
Users access such systems using computer terminals with limited processing power and
merely display capabilities.
Only display data and controls were delivered from the computer system to the display
terminals, which were connected to the central node by a variety of communications
networks, while all processing was done remotely on the computer system.
It includes the following three things:
A, Specialized Servers with Specialized functions:
File Servers
Printer Servers
Web Servers
E-mail Servers
3/10/2025 94
Database System Architecture (Cont’d)
3/10/2025 95
Database System Architecture
3/10/2025 97
Database System Architecture
3. Three Tier Client-Server Architecture:
Common for Web applications.
Intermediate Layer called Application Server or Web Server:
Stores the web connectivity software and the rules and business logic
(constraints) part of the application used to access the right amount of data
from the database server
Acts like a conduit for sending partially processed data between the database
server and the client.
3/10/2025 98
Database System Architecture
3/10/2025 99
Classification of Database Management Systems
• The first criterion to categorize DBMSs is based on the data model:
• Relational, object, object-relational, hierarchical, network, and other.
• The second criterion used to classify DBMSs is the number of users supported by the
system.
• Single-user systems support only one user at a time and are mostly used with PCs.
• Multiuser systems, which include the majority of DBMSs, support concurrent
multiple users.
• The third criterion is the number of sites over which the database is distributed.
• A DBMS is centralized if the data is stored at a single computer site.
o A centralized DBMS can support multiple users, but the DBMS and the database reside totally
at a single computer site.
• A distributed DBMS (DDBMS) can have the actual database and DBMS software
distributed over many sites, connected by a computer network.
• Distributed DBMS can be
• Homogeneous : DDBMSs use the same DBMS software at all the sites,
• Heterogeneous: DDBMSs can use different DBMS software at each site.
Fundamentals Database Systems 100
Classification of Database Management Systems (Cont’d)
• Other criteria is :
• Based on cost
• Free (open-source) DBMS
Eg. PostgreSQL and MySQL
• Licensed
• Based on purpose of the DB
• General purpose
• Special purpose eg. Online transaction processing (OLTP) systems,