BITWeek1_L1_ITE2422 V1

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

ITE 2422 – Database Management Systems Week 01

1.0 Overview of Database Systems

Introduction

This is the first lesson you would be learning for the “Database Management Systems”
module. This lesson provides you with a broad coverage of the fundamentals of
Database Management Systems (DBMS). Since you have already completed
“Information Management” module in level 1, some of the content in this lesson will
allow you to revise your knowledge on database systems.

As the first lesson you will learn the basics of databases.

Learning outcomes

After completing this lesson, you will be able to define a DBMS, identify types of
actors and compare a DBMS against a traditional file-based system.

From this lesson you will be able to,


• define a database
• define a DBMS
• identify types of actors of DBMS
• compare and contrast traditional file-based systems against DBMS.

When you visit a supermarket and purchase your grocery items…


When you withdraw money from your savings account using your debit card…
When you buy your favourite book online…
Knowingly or unknowingly you will be interacting with a database system. Databases
touch all aspects of our lives!!!

Overview of Database Systems 1/12


ITE 2422 – Database Management Systems Week 01

To store huge amount of data (e.g. product details, customer details, order details,
etc) and retrieve them as and when required, you need to interact with a database
management system (DBMS).

For novices it is important to learn the fundamentals of databases and thus, this will
be a handy guide to support your software development process.

1.1 What is a database?


In general, a database is a collection of related data. It is a logically coherent
collection of data with some inherent meaning.

When you create a database for the university you should store only related data. For
example, you can store details of students, staff, degree programs offered, course
modules, timetable, examinations etc. However, storage air ticket prices or
government election details like candidate and voter data may not be relevant for the
scenario. Thus, a random assortment of data cannot be referred to as a database.

A database represents some aspects of the real world, sometimes called the
miniworld or the universe of discourse (UoD). Changes to the miniworld are reflected
in the database. It is important to note that a database is designed, built, and
populated with data for a specific purpose. That is, it has an intended group of users
and some preconceived applications in which these users are interested.

Therefore, as a formal definition, we can define a database as follows:


A database is a persistent, logically coherent collection of inherently meaningful
data, relevant to some aspects of the real world.

Database houses a collection of (1) end user data (raw facts of interests to the end
user) and (2) metadata (data about data). End user data are raw facts that will be
stored in the database by the end users. Meta data provides a description of the data

Overview of Database Systems 2/12


ITE 2422 – Database Management Systems Week 01

characteristics and the set of relationships that link the data found within the
database

A database can be of any size and of varying complexity. Also, a database may be
generated and maintained manually, or it may be computerized (set of application
programs or by DBMS).

In the next section you will learn about DBMS.

1.2 What is a DBMS?


Is a collection of programs that enables users to create and maintain a database. It
has a set of programs to store and retrieve data in a database.

Thus, we can define DBMS as a general-purpose software system that facilitates the
processes of defining, constructing, and manipulating databases for various
applications

The processes supported by a DBMS are:


• Defining: a database involves specifying the data types, structures, and
constraints for the data to be stored in the database.
• Constructing: the database is the process of storing the data itself on some
storage medium that is controlled by the DBMS.
• Manipulating: a database includes such functions as querying the database to
retrieve specific data, updating the database to reflect changes in the
miniworld, and generating reports from the data.

To understand the above-mentioned processes supported by a DBMS, let us consider


the following example.
Consider a UNIVERSITY database for maintaining information concerning students,
courses, and grades in a university environment.
• Define: file (records), data elements, data type (for each data element)

Overview of Database Systems 3/12


ITE 2422 – Database Management Systems Week 01

• Construct: store data in the appropriate files (note that records may be related
between files)
• Manipulation: querying, updating
– Your queries and updates must be specified precisely in the database
system language (e.g. SQL) before they can be processed.

DBMS will help to protect the database. Protection includes system protection against
hardware or software malfunction (or crashes) and security protection against
unauthorized or malicious access. It helps to control access to the database by various
users. Furthermore, it facilitates maintaining databases over a long period of time. A
typical large database may have a life cycle of many years, so the DBMS must be able
to maintain the database system by allowing the system to evolve as requirements
change over time.

Do Activity 1.2 to identify different types of DBMS.

Activity 1.2

1. List five most popular DBMS in the industry.


2. Identify hardware and software requirements for each type of DBMS mentioned above
in 1.
3.

We can call the database and DBMS software together as a database system. In the
next section, we will be learning about different types of DBMS users.

Overview of Database Systems 4/12


ITE 2422 – Database Management Systems Week 01

1.3 Types of DBMS Actors


There are different types of DBMS actors from DB Administrators, designers to end
users.

Database Administrators:

They will be responsible to;

• Authorize access to the database


• Coordinate and Monitor its use
• Acquire software and hardware resources as needed

Database Designers:

They will be responsible to

• Identify the data to be stored in the database


• Choose appropriate structures to represent and store data. This is undertaken
before the database is implemented and populated with data.
• Communicate with all prospective database users, in order to understand their
requirements
• Develop a view of the database that meets the data and processing
requirements for each group of users.
• These views are then analyzed and integrated with the views of other user
groups. The final database design must be capable of supporting the
requirements of all user groups

System Analysts and Application Programmers:

• System analysts determine the requirements of end users, especially naive and
parametric end users, and develop specifications for canned transactions that
meet these requirements.

Overview of Database Systems 5/12


ITE 2422 – Database Management Systems Week 01

• Application programmers implement these specifications as programs; then


they test, debug, document, and maintain these canned transactions.

Workers behind the scene:


• Typically, they do not use the database for their own purposes.
• They are DBMS system designers and implementers
• They design and implement the DBMS modules (for implementing the catalog,
query language, interface processors, data access, concurrency control,
recovery, and security.) and interfaces as a software package.

Tool developers:
• Tools are optional packages that are often purchased separately
• They develop packages for database design, performance monitoring, natural
language or graphical interfaces, prototyping, simulation, and test data
generation.

Operators and maintenance personnel:


• They are system administration personnel who are responsible for the actual
running and maintenance of the hardware and software environment for the
database system

End Users

End users access the database for querying, updating, and generating reports. There
are various types of end users.

Casual end users:

• They occasionally access the database


• They need different information each time
• They learn only a few facilities that they may use repeatedly.
• They use a sophisticated database query language to specify their requests

Overview of Database Systems 6/12


ITE 2422 – Database Management Systems Week 01

• Typically, they are middle-level or high-level managers or other occasional


browsers

Naive or parametric end users:

• They are querying and updating the database constantly, using standard types
of queries and updates called canned transactions that have been carefully
programmed and tested
• They need to learn very little about the facilities provided by the DBMS
• For example,

– Bank tellers check account balances and post withdrawals and deposits

– Reservation clerks for airlines, hotels, and car rental companies check
availability for a given request and make reservations

– Clerks at receiving stations for courier mail enter package identifications


via bar codes and descriptive information through buttons to update a
central database of received and in-transit packages

Sophisticated end users

• Engineers, scientists, business analysts, and others who thoroughly familiarize


themselves with the facilities of the DBMS to implement their applications to
meet their complex requirements can be considered as sophisticated end users.
• They try to learn most of the DBMS facilities in order to achieve their complex
requirements

Stand-alone users

• They maintain personal databases by using ready-made program packages that


provide easy-to-use menu- or graphics-based interfaces. An example is the user
of a tax package that stores a variety of personal financial data for tax
purposes.
• Typically, they become very proficient in using a specific software package

Overview of Database Systems 7/12


ITE 2422 – Database Management Systems Week 01

1.4 Difference between Traditional File-based Systems and DBMS.

Traditional file-based approach is a mechanism where in an organization all the files


and folders which contain organization information are maintained manually.
Application programmes are used to manage user data. In a file-based system, each
application programme handles its own data, and produces its own output. In file-
based system, each application or each department in an organization, stores its own
information.

Drawbacks of using file systems to store data:

• Data redundancy and inconsistency

Same information may be duplicated for different reasons and will be available
in different files. The data redundancy leads to higher storage and additional
cost. In addition, it will lead to data inconsistency.

For example, employee details will be available with finance department and
HR department. If an employee has changed the home address and if it is only
updated in HR department, then this leads to data inconsistency so that various
copies of the same data may no longer be the same.

• Difficulty in accessing data

In file-based approach application programs are data dependent. That is


application program needs to be modified with the change in the physical
representation (how the data is physically represented in disk) or access
technique (how it is physically accessed) of data. Thus, need to write a new
program to carry out each new task.

For an example, if the HR application is developed to support a comma


separated file containing the employee details, the file is modified as a tab
separated file. Thus, the program needs to be modified to support the tab
separated file.

Overview of Database Systems 8/12


ITE 2422 – Database Management Systems Week 01

• Data isolation

Since the data is stored in isolated manner in different files and folders it takes
time to determine the relationship between different data.

• Integrity problems

In a file-based system, integrity constraints (e.g. account balance > 0) need to


be handled in the program code. It would be hard to add new constraints or
change existing ones as the program code needs to be modified.

• Atomicity of updates

An atomic transaction is indivisible. Either full set of operations in a


transaction will happen or they will not occur at all. However, while executing
the transaction if it fails, then the database may be left in an inconsistent
state with partial updates carried out. For example, transfer of funds from one
account to another should be either complete or not happen at all.

• Concurrent access by multiple users

In multi-user systems, multiple users will concurrently access the database


system. However, uncontrolled concurrent accesses can lead to
inconsistencies. Therefore, the system should maintain a control mechanism to
overcome this problem. But, in a conventional file-based system, this kind of
control is difficult to provide. For example, two people reading the same
account balance and updating it at the same time could lead to inconsistency.

• Security problems

The security of data is low in file-based system. The data maintained in flat
file(s) is easily accessible. In other words, all the users who log into the system
get the access to all the data in the system.

Overview of Database Systems 9/12


ITE 2422 – Database Management Systems Week 01

Database systems offer solutions to all the above problems. They can be considered as
advantages of database systems.

They are:

• Data Independence: Application programs should not, ideally, be exposed to


details of data representation and storage. The DBMS provides an abstract view
of the data that hides such details. Thus, even if the physical representation or
access technique of data is changed, it will not affect the application program.

• Efficient Data Access: A DBMS utilizes a variety of sophisticated techniques to


store and retrieve data efficiently. The data is stored in such a way that it
acquires lot less space as the redundant data (duplicate data) has been
removed before storage. Database systems ensure that the data is retrieved as
quickly as possible.

• Data Integrity: If data is always accessed through the DBMS, the DBMS can
enforce integrity constraints.

Some of the constraints that can be set:

– Specify a data type for each data item

– Specify that a record in one file must be related to records in other files.

– Specify uniqueness on data item values

It is the database designers’ responsibility to identify integrity constraints


during database design.

• Data Administration: When several users share the data, centralizing the
administration of data can offer significant improvements. Experienced
professionals who understand the nature of the data being managed, and how
different groups of users use it, can be responsible for organizing the data

Overview of Database Systems 10/12


ITE 2422 – Database Management Systems Week 01

representation to minimize redundancy and for fine-tuning the storage of the


data to make retrieval efficient.

• Concurrent Access and Crash Recovery: A DBMS schedules concurrent


accesses to the data in such a manner that users can think of the data as being
accessed by only one user at a time. Further, the DBMS protects users from the
effects of system failures.

• Reduced Application Development Time: DBMS supports important functions


that are common to many applications accessing data in the DBMS. DBMS
applications are more robust than similar stand-alone applications because
many important tasks are handled by the DBMS (and do not have to be
debugged and tested in the application).

Also, facilitates quick application development with the high-level interface to


the data.

• Restricting Unauthorized Access: It can enforce access controls that govern


what data is visible to different classes of users. Users or user groups are given
account numbers protected by passwords, which they can use to gain access to
the database through security and authorization subsystem

Even though there are many advantages of Database Systems, there may be certain
situations where it is not possible to use a DBMS.
Do Activity 1.3 to identify different situations where DBMS cannot be used.

Activity 1.3

Identify disadvantages of DBMS.


Identify situations where DBMS is not a practical solution to store data.

Overview of Database Systems 11/12


ITE 2422 – Database Management Systems Week 01

Summary
Now we have completed learning the Lesson 1. In this lesson, we discussed what is
a database, database management system.

A database is used to store related data. There are many different types of
database actors other than the end users of a database system. In traditional file-
based systems there are many problems and as a solution to that database
management systems were introduced.

In the lesson 2, you will learn more details about databases and concepts. Before
you go to the next lesson, complete the self-assessment Quiz 1 to check what
you have learnt in the Lesson 1.

Overview of Database Systems 12/12

You might also like