Unit-01 Introduction
Unit-01 Introduction
1.0 Introduction
1.1 Unit Objectives
1.2 Significance of Database
1.2.1 Purpose of Database Systems
1.2.2 Components of DBMS Environment
1.3 Database System Applications
1.4 Advantages of different Database Management systems
1.5 Disadvantages of different Database Management systems
1.6 Summary
1.7 Key Terms
1.8 Check Your Progress
1.0 Introduction:-
A database management system (DBMS) is referred to as a collection of related data. It usually also includes a
set of programs to access the relevant data. The primary aim of DBMS is to store and retrieve the relevant
information in an efficient and convenient manner. The database systems are designed to manage a large amount of
information. Defining structures for data storage and mechanisms for data retrieval, both are included in database
management. Additionally, DBMS also ensures the security of information stored. For example, a telephone
directory is the simplest example of a database. The DBMS is a general-purpose software system that facilitates the
processes of defining, constructing, and manipulating databases for various applications. 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 real world, and generating reports from the data. This unit focuses on the
significance of databases, various merits and demerits of DBMS, and basic database system applications.
New application programs are added to the system as the need arises. For example, suppose that a university
decides to create a new major (say, computer science). As a result, the university creates a new department and
creates new permanent files (or adds information to existing files) to record information about all the instructors in
the department, students in that major, course offerings, degree requirements, etc. The university may have to write
new application programs to deal with rules specific to the new major. New application programs may also have to
be written to handle new rules in the university. Thus, as time goes by, the system acquires more files and more
application programs.
This typical file-processing system is supported by a conventional operating system. The system stores
permanent records in various files, and it needs different application programs to extract records from, and add
records to, the appropriate files. Before database management systems (DBMSs) were introduced, organizations
usually stored information in such systems. Keeping organizational information in a file-processing system has a
number of major disadvantages:
Data isolation:-
Because data is scattered in various files, and files may be in different formats, writing new application programs
to retrieve the appropriate data is difficult.
Integrity problems:-
The data values stored in the database must satisfy certain types of consistency constraints. For example, the
balance of a bank account may never fall below a prescribed amount (say, $25). Developers enforce these
constraints in the system by adding appropriate code in the various application programs. However, when new
constraints are added, it is difficult to change the programs to enforce them. The problem is compounded when
constraints involve several data items from different files.
Atomicity problems:-
A computer system, like any other mechanical or electrical device, is subject to failure. In many applications, it is
crucial that, if a failure occurs, the data be restored to the consistent state that existed prior to the failure. Consider a
program to transfer $50 from account A to account B. If a system failure occurs during the execution of the program,
it is possible that the $50 was removed from account a, but was not credited to account B, resulting in an
inconsistent database state. Clearly, it is essential to database consistency that either both the credit and debit
occur, or that neither occur. That is, the funds transfer must be atomic—it must happen in its entirety or not at all. It
is difficult to ensure atomicity in a conventional file-processing system.
Concurrent-access anomalies:-
For the sake of the overall performance of the system and faster response, many systems allow multiple users
to update the data simultaneously. In such an environment, the interaction of concurrent updates may result in
inconsistent data. Consider bank account a, containing $500. If two customers withdraw funds (say $50 and $100
respectively) from account A at about the same time, the result of the concurrent executions may leave the account
in an incorrect (or inconsistent) state. Suppose that the programs executing on behalf of each withdrawal read the
old balance, reduce that value by the amount being withdrawn, and write the result back. If the two programs run
concurrently, they may both read the value $500, and write back $450 and $400, respectively. Depending on which
one writes the value last, the account may contain either $450 or $400, rather than the correct value of $350. To
guard against this possibility, the system must maintain some form of supervision. But supervision is difficult to
provide because data may be accessed by many different application programs that have not been coordinated
previously.
Security problems:-
Not every user of the database system should be able to access all the data. For example, in a banking system,
payroll personnel need to see only that part of the database that has information about the various bank employees.
They do not need access to information about customer accounts. But, since application programs are added to the
system in an adhoc manner, enforcing such security constraints is difficult. These difficulties, among others,
prompted the development of database systems. In what follows, we shall see the concepts and algorithms that
enable database systems to solve the problems with file-processing systems. In most of this book, we use a bank
enterprise as a running example of a typical data-processing application found in a corporation.
Data and Database Administrators:- The database and the DBMS are corporate resources that must be managed
like any other resource. Data and database administration are the roles generally associated with the management
and control of a DBMS and its data. The Data Administrator (DA) is responsible for the management of the data
resource, including database planning; development and maintenance of standards, policies, and procedures; and
conceptual/logical database design. The DA consults with and advises senior managers, ensuring that the direction
of database development will ultimately support corporate objectives. The Database Administrator (DBA) is
responsible for the physical realization of the database, including physical database design and implementation,
security and integrity control, maintenance of the operational system, and ensuring satisfactory performance of the
applications for users. The role of the DBA is more technically oriented than the role of the DA, requiring detailed
knowledge of the target DBMS and the system environment. In some organizations there is no distinction between
these two roles; in others, the importance of the corporate resources is reflected in the allocation of teams of staff
dedicated to each of these roles.
Database Designers: In large database design projects, we can distinguish between two types of designers: logical
database designers and physical database designers. The logical database designer is concerned with identifying
the data (that is, the entities and attributes), the relationships between the data, and the constraints on the data that
is to be stored in the database. The logical database designer must have a thorough and complete understanding of
the organization’s data and any constraints on this data (the constraints are sometimes called business rules).
These constraints describe the main characteristics of the data as viewed by the organization. The physical
database designer decides how the logical database design is to be physically realized. This involves mapping the
logical database design into a set of tables and integrity constraints; selecting specific storage structures and access
methods for the data to achieve good performance; designing any security measures required on the data. The
physical database designer must be capable of selecting suitable storage strategy that takes account of usage.
Whereas conceptual & logical database design is concerned with the what, physical database design is concerned
with the how.
Application Developers: Once the database has been implemented, the application programs that provide the
required functionality for the end-users must be implemented. This is the responsibility of the application developers.
Typically, the application developers work from a specification produced by systems analysts. Each program
contains statements that request the DBMS to perform some operation on the database, which includes retrieving
data, inserting, updating, and deleting data. The programs may be written in a third-generation or fourth-generation
programming language.
End-Users:- The end-users are the “clients” of the database, which has been designed and implemented and is
being maintained to serve their information needs.
Enterprise Information:-
Sales: For the customer, product, and purchase information.
Accounting: For payments, receipts, account balances, assets, and other accounting information.
Human resources: For information about employees, salaries, payroll taxes, and benefits, and for the generation of
paychecks.
Manufacturing: For the management of the supply chain and for tracking the production of items in factories,
inventories of items in warehouses and stores, and orders for items.
Online retailers: For sales data noted above plus online order tracking, generation of recommendation lists, and
maintenance of online product evaluations.
Banking and Finance:-
Banking: For customer information, accounts, loans, and banking transactions.
Credit card transactions: For purchases on credit cards and generation of monthly statements.
Finance: For storing information about holdings, sales, and purchases of financial instruments such as stocks and
bonds; also for storing real-time market data to enable online trading by customers and automated trading by the
firm.
Universities:- For student information, course registrations, and grades (in addition to standard enterprise
information such as human resources and accounting).
The application of a database system can be depicted in the following example for using the internet. Many
of the sites on the Internet are driven by database applications. For example, you may visit an online bookstore that
allows you to browse and buy books, such as Amazon.com. The bookstore allows you to browse books in different
categories, such as computing or management, or by author name. In either case, there is a database on the
organization’s Web server that consists of book details, availability, shipping information, stock levels, and order
history. Book details include book titles, ISBNs, authors, prices, sales histories, publishers, reviews, and detailed
descriptions. The database allows books to be cross-referenced: for example, a book may be listed under several
categories, such as computing, programming languages, bestsellers, and recommended titles. The cross-
referencing also allows Amazon to give you information on other books that are typically ordered along with the title
you are interested in. You can provide your credit card details to purchase one or more books online. Amazon.com
personalizes its service for customers who return to its site by keeping a record of all previous transactions, including
items purchased, shipping, and credit card details. When you return to the site, you might be greeted by name and
presented with a list of recommended titles based on previous purchases.
1.6 Summary:-
A database is a shared collection of logically related data and a description of this data, designed to meet the
information needs of an organization.
A DBMS is a software system that enables users to define, create, maintain, and control access to the database.
An application program is a computer program that interacts with the database by issuing an appropriate request
(typically a SQL statement) to the DBMS.
The DBMS environment consists of hardware (the computer), software (the DBMS, operating system, and
applications programs), data, procedures, and people. The people include data and database administrators,
database designers, application developers, and end-users.
Some prominent database system applications can be seen in the field of telecommunication, airlines, banking &
financial services.
Some advantages of the database approach include control of data redundancy, data consistency, sharing of data,
and improved security and integrity. Some disadvantages include complexity, cost, reduced performance, and higher
impact of a failure.