You are on page 1of 48

CHAPTER 1:

FUNDAMENTALS OF DATABASE
MANAGEMENT SYSTEM

DFC 20123 – DATABASE DESIGN


FUNDAMENTALS OF DATABASE
MANAGEMENT SYSTEM
1.1.1 DEFINE DATABASE
1.1.2 DESCRIBE USES OF DATABASE IN THE BUSINESS WORLD
1.1.3 RELATE THE IMPORTANCE OF DATABASES TO EVERYDAY LIFE
1.1.4 EXPLAIN THE THREE MAJOR STEPS IN THE DATABASE DEVELOPMENT
PROCESS
1.1.5 DESCRIBE THE SHARING CONCEPT OF DATA IN DATABASE
DESCRIBE THE PROPERTIES OF DATABASES
1.1.1 DATABASE DEFINITION

 Collection of related data that is shared by the various


categories of users to meet the requirements of an
organization’s information.
1.1.2 USES OF DATABASE IN BUSINESS WORLD

 Application requires data access business rules for any of the following
circumstances:
 Inserting, updating, deleting, and viewing data
 Validating data
 Controlling data security.
 Handling multifiles data access.
Example: Customer Management, Inventory Tracking, Personnel Database,
Analysis
1.1.3 IMPORTANCE OF DATABASES TO
EVERYDAY LIFE

 Online Television Streaming


 Social Gaming
 Personal Cloud Storage
 Sports
 Finances
 Government Organizations
 Social Media
 ECommerce
 Healthcare
 Weather
1.1.4 MAJOR STEPS IN THE DATABASE
DEVELOPMENT PROCESS

Planning

Analysis

Logical Design

Physical Design

Implementation

Maintenance
DATABASE DEVELOPMENT PROCESS

Purpose–preliminary understanding
Planning
Planning Deliverable–request for study

Analysis

Logical Design

Physical Design

Database activity– Implementation


enterprise modeling
and early conceptual
Maintenance
data modeling
DATABASE DEVELOPMENT PROCESS

Purpose–through requirements analysis and


Planning structuring
Deliverable–functional system specifications
Analysis
Analysis

Logical Design

Physical Design

Database activity–Thorough Implementation


and integrated conceptual
data modeling
Maintenance
DATABASE DEVELOPMENT PROCESS

Purpose–information requirements elicitation


Planning and structure
Deliverable–detailed design specifications
Analysis

Logical
Logical Design
Design

Physical Design

Database activity– Implementation


logical database design
(transactions, forms,
Maintenance
displays, views, data
integrity and security)
DATABASE DEVELOPMENT PROCESS

Purpose–develop technology and


Planning organizational specifications
Deliverable–program/data
Analysis structures, technology purchases,
organization redesigns
Logical Design

Physical Design
Physical Design

Database activity– Implementation


physical database design
(define database to DBMS,
Maintenance
physical data organization,
database processing programs)
DATABASE DEVELOPMENT PROCESS

Purpose–programming, testing, training,


Planning installation, documenting
Deliverable–operational programs,
Analysis documentation, training materials

Logical Design

Physical Design

Database activity–
database implementation, Implementation
Implementation
including coded programs,
documentation, Maintenance
installation and conversion
DATABASE DEVELOPMENT PROCESS

Planning Purpose–monitor, repair, enhance


Deliverable–periodic audits
Analysis

Logical Design

Physical Design

Database activity–
database maintenance, Implementation
performance analysis
and tuning, error Maintenance
Maintenance
corrections
1.1.5 SHARING CONCEPT DATA IN DATABASE
1.1.6 PROPERTIES OF DATABASES

 Completeness
 Integrity
 Flexibility
 Efficiency
 Usability
1.1.6 PROPERTIES OF DATABASES

Completeness Ensures that users can access the data they want.

Integrity Ensures that data is both consistent (no contradictory data) and correct (no
invalid data), and ensures that users trust the database.

Flexibility Ensures that a database can evolve to satisfy changing user requirements.

Efficiency Ensures that users do not have unduly long response times when accessing
data.

Usability Ensures that data can be accessed and manipulated in ways which match
user requirements.
UNDERSTAND DBMS
1.2.1 DEFINE DATABASE MANAGEMENT SYSTEM (DBMS)
1.2.2 DESCRIBE THE PURPOSE OF DATABASE SYSTEM
1.2.3 IDENTIFY VARIOUS COMMON DBMS
1.2.4 DISCUSS THE TRADITIONAL APPROACH TO INFORMATION PROCESSING
1.2.5 DISCUSS THE DISADVANTAGES OF THE TRADITIONAL APPROACH TO
INFORMATION PROCESSING
1.2.6 LIST THE IMPORTANCE OF HAVING DBMS
1.2.7 DESCRIBE THE TWO GENERIC DATABASE ARCHITECTURE: CENTRALIZED &
DISTRIBUTED
1.2.1 DBMS DEFINITION
 Collection of interrelated data
 Set of programs to access the data
 DBMS contains information about a particular enterprise
 DBMS provides an environment that is both convenient
and efficient to use.
 Database Applications:
 Banking: all transactions
 Airlines: reservations, schedules
 Universities: registration, grades
 Sales: customers, products, purchases
 Manufacturing: production, inventory, orders, supply chain
 Human resources: employee records, salaries, tax deductions
 Databases touch all aspects of our lives
1.2.2 PURPOSE OF DATABASE SYSTEM

 In the early days, database applications were built on top of file systems
 Drawbacks of using file systems to store data:
 Data redundancy and inconsistency
 Multiple file formats, duplication of information in different files

 Difficulty in accessing data


 Need to write a new program to carry out each new task

 Data isolation — multiple files and formats


 Integrity problems
 Integrity constraints (e.g. account balance > 0) become part of program code
 Hard to add new constraints or change existing ones
1.2.2 PURPOSE OF DATABASE SYSTEM

 Drawbacks of using file systems (cont.)


 Atomicity of updates
 Failures may leave database in an inconsistent state with partial updates carried out
 E.g. transfer of funds from one account to another should either complete or not happen at all

 Concurrent access by multiple users


 Concurrent accessed needed for performance
 Uncontrolled concurrent accesses can lead to inconsistencies
 E.g. two people reading a balance and updating it at the same time

 Security problems

 Database systems offer solutions to all the above problems


1.2.3 VARIOUS COMMON DBMS

 Library
 Hospital
 University
 Tourism
 Organization
1.2.4 DISADVANTAGE OF TRADITIONAL
APPROACH IN INFORMATION
PROCESSING

 Data Security
 Data Redundancy
 Data Isolation
 Program/ Data Dependence
 Lack Of Flexibility
 Concurrent Access Anomalies
1.2.4 DISADVANTAGE OF TRADITIONAL
APPROACH IN INFORMATION PROCESSING
 Data Security
 constraints regarding accessing privileges.

 Data Redundancy
 a situation that occurs in a database when a field needs to be updated in more than one table

 Data Isolation
 a property that determines when and how changes made by one operation become visible to other
concurrent users and systems
 Program/ Data Dependence
 application programs are closely dependent on the files in which data is stored

 Lack Of Flexibility
 If we need unanticipated data, huge programming effort is needed to make the information available

 Concurrent Access Anomalies


 the ability of the database to allow multiple users access to the same record without adversely
affecting transaction processing
DATA SECURITY

 The data stored in the flat file(s) can be easily accessible and hence it is not
secure.
 Example:
 Consider an online banking application where we store the account related information
of all customers in flat files. A customer will have access only to his account related
details. However from a flat file, it is difficult to put such constraints. It is a big security
issue.
DATA REDUNDANCY

 In this storage model, the same


information may get duplicated in
two or more files.
 This may lead to higher storage and
access cost. It also may lead to data
inconsistency.
 Suppose the same data is repeated in
two or more files.
 If a change is made to data stored in
one file, other files also needs to be
change accordingly.
DATA ISOLATION

 Data Isolation means that all the related data is not available in one file.
 Usually the data is scattered in various files having different formats.
 Hence writing new application programs to retrieve the appropriate data is
difficult.
PROGRAM/ DATA DEPENDENCE

 In traditional file approach, application programs are closely dependent on the


files in which data is stored.
 If we make any changes in the physical format of the file(s), like addition of a
data field , etc, all application programs needs to be changed accordingly.
 Consequently, for each of the application programs that a programmer writes or
maintains, the programmer must be concerned with data management.
 There is no centralized execution of the data management functions. Data
management is scattered among all the application programs.
CONCURRENT ACCESS ANOMALIES

Many systems allow multiple users to update the data simultaneously. In


such environment, interaction of concurrent updates may result in
inconsistent data.
Example: Bank account A containing Rs. 6000/-. If two transactions of
withdraw funds( Rs 500/- and Rs 1000/- respectively) from account
about same time, result of the concurrent executions may leave the
account in an incorrect state.
Program on the behalf of each withdrawal read the old balance, reduce
amount and write result back.
If both two programs are concurrent they both may read the value Rs
6000/-.
Depending on which one writes the value last, the account may contain
either Rs 5500/- or Rs 5000/-, rather than the correct value of Rs 4500/-
Difference Between File based
Data Storage System and DBMS
 

1.2.6 IMPORTANCE OF HAVING DBMS


 Data management system is needed for data access within the company
 a web page can display information or data that includes product data and description, photographs and prices.
This information is easily available to the user easily, when the web server software is connected to the
relational database management system.
  It is needed to maintain strong relationships between data
 allows different data tables to relate to one another.
 Example : When a database contains information about employee data on its product sales in one table and
another table contain information one with sales employee data, then a relational database will be perfect to
manage their relationships in a systematic and simple style. 
 This system allows newer and better updates

 A useful and productive database management system allows brand managers to not just enter newer
information but also update the current information and also delete information that they do not require.

 It helps brand managers to search data in a better manner

 allows brand managers to maintain and build their data over successive years. The various tables in the
relational database management system allows brand mangers to search through their entire system for a
particular information.
1.2.7 CENTRALIZE AND DISTRIBUTED
DATABASE

 Centralize

A single central database accessed by


multiple users.

+ Easier to organise, edit, query and


backup.
- Can be slower because of high
usage / load.
CENTRALIZE VS. DISTRIBUTED DATABASE

 Distributed

Database split into multiple


files.

+ Data access and retrieval


faster at nearest points

- Need to be ensure data is


consistent / synchronised
UNDERSTAND DATA MODEL
1.3.1 DESCRIBE THE THREE-SCHEMA ARCHITECTURE OF DBMS
1.3.2 DESCRIBE THE CLIENT-SERVER ARCHITECTURE OF DBMS
1.3.3 IDENTIFY THE TWO CATEGORIES OF DBMS
1.3.4 DESCRIBE THE BENEFITS OF USING DESKTOP DATABASE AND
SERVER
SOLUTION
1.3.5 IDENTIFY THE USERS OF DBMS: END USER, APPLICATION
PROGRAMMER, DATABASE ADMINISTRATOR
1.3.1 THREE-SCHEMA ARCHITECTURE OF
DBMS

 Also called ANSI/SPARC architecture or three-


level architecture.
 This framework is used to describe the structure of
a specific database system.
 The three schema architecture is also used to
separate the user applications and physical
database.
 The three schema architecture contains three-
levels. It breaks the database down into three
different categories.

• ANSI-SPARC – also known as American National


Standards Institute, Standards Planning And
Requirements Committee
THREE-SCHEMA ARCHITECTURE

• describes the physical storage structure of the database.


• also known as a physical schema
• define that how the data will be stored in a block.
Internal • used to describe complex low-level data structures in detail.
Level

• the design of a database 


• describes the structure of the whole database
• describes what data are to be stored in the database and also
• describes what relationship exists among those data
Conceptual • internal details such as an implementation of the data structure are hidden.
Level • Programmers and database administrators work at this level.

• also known as view schema


• database contains several schemas that sometimes called as subschema
• subschema is used to describe the different view of the database
• Each view schema describes the database part that a particular user group is interested
External and hides the remaining database from that user group
Level • describes the end user interaction with database systems
1.3.2 CLIENT-SERVER ARCHITECTURE

 Operate in a networked environment

 Generally the client process requires some resource, which the server provides to
the client

 Clients and servers can reside in the same computer, or they can be on different
computers that are networked together, usually:
 Client – Workstation (usually a PC) that requests and uses a service. manages user
interface and runs applications.
 Server – Holds database and DBMS.Computer (PC/mini/mainframe) that provides a
service. For DBMS, server is a database server.
CLIENT-SERVER ARCHITECTURE

 Two-Tier Client-Server Architecture


 In a two-tier architecture, any client can get service from any server by initiating a
request over the network.
 With two tier client-server architectures, the user interface is usually located in the
user’s desktop and the services are usually supported by a server that is a powerful
machine that can service many clients.
 Processing is split between the user interface and the database management server.
CLIENT-SERVER ARCHITECTURE

Two-Tier Client-Server Architecture


CLIENT-SERVER ARCHITECTURE
 Three-Tier Client-Server Architecture
 To improve performance for large number of users and also improves flexibility
compared to the two tier approach
 In the three-tier architecture, a middleware was added between the user system
interface client environment and the server environment
 The middleware keeps track of all server locations. It also translates client’s
requests into server understandable form.
 For example, the middleware provides queuing, the client can deliver its request
to the middleware because the middleware will access the data and return the
answer to the client.
CLIENT-SERVER ARCHITECTURE

 The middleware performs many activities such as:


 It knows the addresses of servers. So, based on client requests, it can
locate the servers.
 It can translate between client and server formats of data and vice versa

 Additional Features – Security:


 Encrypt the data at the server before transmission
 Decrypt data at the client
CLIENT-SERVER ARCHITECTURE

Three-Tier Client-Server Architecture


1.3.3 CATEGORIES OF DBMS

 Desktop databases:
 Desktop databases are oriented toward single-user applications and reside on
standard personal computers .
 Desktop databases offer an inexpensive , simple solution to many less
complex data storage and manipulation requirements.
 Example: Microsoft Access, FoxPro, FileMaker Pro, Paradox and Lotus
Approach.
CATEGORIES OF DBMS

 Server Databases
 Server databases contain mechanisms to ensure the reliability and
consistency of data and are geared toward multi-user applications.
 These databases are designed to run on high-performance servers.
 Example: Microsoft SQL Server, Oracle and IBM DB2.
1.3.4 BENEFITS OF USING DESKTOP DATABASE
AND SERVER SOLUTION

BENEFIT OF DESKTOP DATABASES

 Benefit of Desktop Databases


 User-friendly :A user does not need to understand SQL in order to use them. It usually
offer an easy-to-navigate graphical user interface.

 Offer web solutions. Provide web solutions so that the user can publish data onto the
web in various fashions.

 Lower cost. The cost is lower than server databases. Example : If you own a copy of
Microsoft Office Professional, you’re already a licensed owner of Microsoft Access.
1.3.4 BENEFITS OF USING DESKTOP DATABASE
AND SERVER SOLUTION
BENEFIT OF SERVER
DATABASES

 Benefit of Server Databases


 Flexibility. APIs(Application Programmer Interface) are used for rapid development of
custom applications providing users with a lot of flexibility.

 Powerful Performance. Server databases offer organizations the ability to manage


large amounts of data and many users.

 Security. All communication must go through the server, then the setting permissions
can be done at the server level. The permissions determine who can access the database.
1.3.5 THE USERS OF DBMS: END USER, APPLICATION
PROGRAMMER, DATABASE ADMINISTRATOR
DATABASE USERS

 Users are differentiated by the way they expect to interact with the system
 Application programmers – interact with system through DML calls
 Sophisticated users – form requests in a database query language
 Specialized users – write specialized database applications that do not fit into the
traditional data processing framework
 Naïve users – invoke one of the permanent application programs that have been
written previously
 E.g. people accessing database over the web, bank tellers, clerical staff
DATABASE ADMINISTRATOR

 Coordinates all the activities of the database system; the database


administrator has a good understanding of the enterprise’s information
resources and needs.
 Database administrator's duties include:
 Schema definition
 Storage structure and access method definition
 Schema and physical organization modification
 Granting user authority to access the database
 Specifying integrity constraints
 Acting as liaison with users
 Monitoring performance and responding to changes in requirements

You might also like