CHAPTER TWO
Database Systems Concepts and Architecture
1 Prepared BY: Abebe SH. (MSc.)
Database-management system (DBMS)
A database-management system (DBMS) is a software package designed to
define, manipulate, retrieve and manage data in a database.
A DBMS generally manipulates the data itself, the data format, field names,
record structure and file structure.
It also defines rules to validate and manipulate this data.
2 Prepared BY: Abebe SH. (MSc.)
Overview of data models
Data models define how the logical structure of a database is modeled.
Data Models are fundamental entities to introduce abstraction in a DBMS.
Data Model is the modeling of the data description, data semantics, and
consistency constraints of the data.
It provides the conceptual tools for describing the design of a database at
each level of data abstraction.
3 Prepared BY: Abebe SH. (MSc.)
Data Modeling Techniques and Methodologies
1 Entity-Relationship Modeling
Explore the popular technique for designing database schemas using
entities, attributes, and relationships.
2 UML (Unified Modeling Language)
Discover how UML diagrams, such as class diagrams and activity
diagrams, can be employed to model data within complex systems.
3 Dimensional Modeling
The technique used in data warehousing to represent data in a way that
supports efficient analysis and reporting.
4 Prepared BY: Abebe SH. (MSc.)
Benefits and Challenges of Using Data Models
Benefits
• Improved Data Organization and Structure
• Enhanced Data Integration and Interoperability
• Facilitated Communication and Collaboration
Challenges
• Data Model Complexity
• Ensuring Data Consistency and Accuracy
• Adapting to Changing Business Requirements
5 Prepared BY: Abebe SH. (MSc.)
Unified Modelling Language (UML)
Unified Modeling Language (UML) is a standardized, graphical language
used to visualize, specify, construct, and document the artifacts of a
software system.
Modeling: Describing a software system at a high level of abstraction
Its used in object oriented software engineering. There are several models
that are used in UML in which we are categories in two categories i.e
structure diagrams and behavioral diagrams
6 Prepared BY: Abebe SH. (MSc.)
Benefits of Using UML
Visualization
UML diagrams provide a clear and intuitive visualization of complex systems.
Communication
UML allows designers, stakeholders, and team members to easily communicate and
discuss designs.
Documentation
UML diagrams serve as valuable documentation for future maintenance and
understanding of the software.
7 Prepared BY: Abebe SH. (MSc.)
Unified Modelling Language (UML)
8 Prepared BY: Abebe SH. (MSc.)
Class diagrams
Class diagrams show the
building blocks (classes)
that are needed to build
the software/system.
They are the software
entities that are used to
build the system and
their relationships.
9 Prepared BY: Abebe SH. (MSc.)
Use case diagrams
Use case diagrams represent the
“requirements” of the system.
They show how the users (actors)
expect to interface with and get a
benefit from the system through use
cases.
It can also show external systems
(as actors, typically places to the
right of the use cases) that are
needed to provide the functionality.
10 Prepared BY: Abebe SH. (MSc.)
Sequence diagram
A sequence diagram is a type of
interaction diagram because it
describes how—and in what
order—a group of objects works
together.
These diagrams are used by
software developers and business
professionals to understand
requirements for a new system or
to document an existing process.
11 Prepared BY: Abebe SH. (MSc.)
Activity diagrams
Visualize workflows, processes, and the flow of activities within a
system.
12 Prepared BY: Abebe SH. (MSc.)
State diagram
A state diagram (also called
state machine diagram,
statchart and start transition
diagram) is a type of diagram
behavior diagram in UML.
In most OO techniques, state
diagrams are drawn for a
single class to show the
lifetime behavior of a single
object.
Prepared BY: Abebe SH. (MSc.)
13
Conceptual design
Conceptual design is the process of constructing a model of the information used in an
enterprise, independent of any physical considerations.
Conceptual design revolves around discovering and analyzing organizational and user data
requirements.
The important activities are to identify :
Entities
Attributes
Relationships
Constraints
Based on these components develop the ER model using ER diagrams
14 Prepared BY: Abebe SH. (MSc.)
The Entity Relationship Diagram (ER Model)
Entity-relationship (E-R) diagram:
The ER model describes data as entities, relationships, and attributes
Is a graphical technique for portraying or representing a database schema.
It is a modeling tool used to depict graphically a DB design before it is
actually implemented.
It shows the various entities being modeled and the important relationships
among them.
The basic object that the ER model represents is an entity, which is a "thing"
in the real world with an independent existence.
15 Prepared BY: Abebe SH. (MSc.)
The Entity Relationship Diagram (ER Model)
Entity-Relationship modeling is used to represent conceptual view of the database.
The main components of ER Modeling are:
Entity:
Corresponds to entire table, not row
Represented by Rectangle
Attributes:
Represents the property used to describe an entity or a relationship
Represented by Oval
Relationships:
Represents the association that exist between entities
Represented by Diamond
Constraints:
Represent the constraint in the data
Prepared BY: Abebe SH. (MSc.)
16
ER-Diagram Components
Entity
Course Any thing real or abstract about which we want to store data
Entity types fall into five class
Roles- Employee
Events- Payment
Location-Campus
Tangible things-Book
Relationship Concepts-course
A data relationship is a natural association that exists between one or
more entities.
Example: employee process payment.
Attribute
It is a characteristics of a particular entities
Example: Name , address
An attribute that uniquely identifies one and only one entity is
17 Prepared BY: Abebe SH. (MSc.)
called primary key
Exercise
Build an ER Diagram for the following information:
A Personnel record management system will have the following two basic data
object categories with their own features or properties:
Employee will have an Id, Name, DoB, Age, Tel and
Branch will have an Id, Name, Location
Whenever an Employee is assigned in one branch, the duration of his stay in the
respective branch should be registered.
18 Prepared BY: Abebe SH. (MSc.)
Database-System Architectures
A Database Architecture is a representation of DBMS design.
It helps to design, develop, implement, and maintain the database management
system.
A DBMS architecture allows dividing the database system into individual
components that can be independently modified, changed, replaced, and altered.
The common database system architectures are:
Centralized Systems
Distributed Systems
Parallel Systems
Client-Server Systems
19 Prepared BY: Abebe SH. (MSc.)
Centralized Database Architecture
A centralized database is a database that is located, stored, and maintained in
a single location.
This location is most often a central computer or database system, for
example a desktop or server CPU, or a mainframe computer.
It is maintained and modified from that location only and usually accessed
using an internet connection such as a LAN or WAN.
The centralized database is used by organizations such as colleges,
companies, banks etc.
20 Prepared BY: Abebe SH. (MSc.)
Centralized Database Architecture
Advantages:
Easier to access and co-ordinate data.
The data integrity is maximized as the whole database is stored at
a single physical location.
The centralized database has very minimal data redundancy since
all data is stored at a single place.
It is cheaper in comparison to all other databases available
Disadvantages:
The data traffic in case of centralized database is more.
If any kind of system failure occurs at centralized system then
entire data will be destroyed.
It takes more time to search and access it
21 Prepared BY: Abebe SH. (MSc.)
Distributed Database Architecture
A distributed database is a set of logically interrelated database that are stored on
computers at several geographically different sites and are linked by means of a
computer network.
These interrelated database work together to perform certain specific tasks.
Distributed computer system work by splitting a large task into a number of
smaller ones that can then be solved in a coordinated fashion.
Each processing element can be managed independently and can be developed its
own applications.
22 Prepared BY: Abebe SH. (MSc.)
Distributed Database Architecture
Advantages
This database can be easily expanded as data is already
spread across different physical locations.
All the data would not be destroyed as it is stored at
different locations.
This database is more secure in comparison to centralized
database.
Disadvantages
This database is very costly and it is difficult to maintain
because of its complexity.
It is difficult to make sure that a user gets a uniform view
23of Prepared BY: Abebe SH. (MSc.)
the database
Parallel database Architecture
A parallel DBMS is a DBMS that runs across multiple processors or CPUs and is
mainly designed to execute query operations in parallel.
24 Prepared BY: Abebe SH. (MSc.)
Parallel database Architecture
Advantages
This type of database system has a very high computing speed so it can manage
applications with a large amount of data.
This system can handle a very large number of transactions per second, so these are used
to speed up the processing of transactions on data based systems or servers.
In these systems throughput and response time are very high.
Disadvantages
The start-up cost is very high in this system.
Deadlock conditions may occur.
25 Prepared BY: Abebe SH. (MSc.)
Client/Server Database Architecture
The client is a process that sends a message to a server process, requesting that the server
perform a service.
Client programs usually manage the user-interface portion of the application, validate data
entered by the user, dispatch requests to server programs, and sometimes execute business
logic.
Server programs generally receive requests from client programs, execute database
retrieval and updates, manage data integrity and dispatch responses to client requests.
The server-based process may run on another machine on the network.
This server could be the host operating system or network file server, providing file
system services and application services.
26 Prepared BY: Abebe SH. (MSc.)
Client/Server Database Architecture
The client/server architecture is based on the hardware and software components
that interact to form a system.
The system includes three main components: Clients, Servers and Communication
Middleware.
27 Prepared BY: Abebe SH. (MSc.)
Structure of Client-server Database Architecture in DBMS
A. Presentation tier
The basic work of this layer provides user interface.
The graphical user interface is an interface that consists of menus, buttons, and icons,
B. Logic tier
The logical tier is also known as data access tier and middle tier.
It lies between the presentation tier and the data tier.it basically controls the application’s
functions by performing processing.
C. Data tier
This layer consists of database
28 Prepared BY: Abebe SH. (MSc.)
Types of client/server architectures
A. 1 tier
It is an architecture in which the entire application resides on the user's machine
The graphical user interface is an interface that consists of menus, buttons, and icons,
B. 2 tier architectures
The client is on the first tier.
The database server and web application server reside on the same server machine,
C. 3 tier architectures
A client-server architecture in which the functional process logic, data access, computer
data storage and user interface are developed and maintained as independent modules
on separate platforms.
Prepared BY: Abebe SH. (MSc.)
29
30 Prepared BY: Abebe SH. (MSc.)