CCE104L Handout 1
CCE104L Handout 1
CCE104
Please read the information below for additional information about Introduction to Database Systems.
User application programs can operate on the data by invoking these operations through their
names and arguments, regardless of how the operations are implemented. This may be termed
program-operation independence.
The characteristic that allows program-data independence and program-operation independence
is called data abstraction. A DBMS provides users with a conceptual representation of data that
does not include many of the details of how the data is stored or how the operations are
implemented. Informally, a data model is a type of data abstraction that is used to provide this
conceptual representation. The data model uses logical concepts, such as objects, their properties,
and their interrelationships, that may be easier for most users to understand than computer
storage concepts. Hence, the data model hides storage and implementation details that are not of
interest to most database users.
CCE104
the database. A view may be a subset of the database or it may contain virtual data that is derived
from the database files but is not explicitly stored. Some users may not need to be aware of
whether the data they refer to is stored or derived. A multiuser DBMS whose users have a variety
of distinct applications must provide facilities for defining multiple views. Sharing of data and
multiuser transaction processing
01 Handout 1
Page 1 of 4
INFORMATION SYSTEM
CCE104
Database Designers
Database designers are responsible for identifying the data to be stored in the database and for
choosing appropriate structures to represent and store this data. It is the responsibility of database
designers to communicate with all prospective database users in order to understand their
requirements and to create a design that meets these requirements. In many cases, the designers
are on the staff of the DBA and may be assigned other staff responsibilities after the database
design is completed. Database designers typically interact with each potential group of users and
develop views of the database that meet the data and processing requirements of these groups.
End Users
End users are the people whose jobs require access to the database for querying, updating, and
generating reports; the database primarily exists for their use. Categories of end users:
Casual end users
They access the database, but they may need different information each time. They use a
sophisticated database query language to specify their requests and are typically middleor
high-level managers or other occasional browsers.
CCE104
applications to meet their complex requirements.
Stand-alone users
These users maintain personal databases by using ready-made program packages that
provide easy-to-use menu-based or graphics-based interfaces.
01 Handout 1
Page 2 of 4
INFORMATION SYSTEM
CCE104
They design and implement the DBMS modules and interfaces as a software package.
Tool Developers
They design and implement tools—the software packages that facilitate database modeling and
design, database system design, and improved performance. They include packages for database
design, performance monitoring, natural language or graphical interfaces, prototyping, simulation,
and test data generation.
Controlling Redundancy
Redundancy in storing same data multiple times leads to several problems. This may lead to -
duplication of effort, storage space is wasted when the same data is stored repeatedly, and
files that represent the same data may become inconsistent.
When multiple users share a large database, it is likely that most users will not be authorized
to access all information in the database. For example, financial data is often considered
confidential, and only authorized persons are allowed to access such data. In addition, some
users may only be permitted to retrieve data, whereas others are allowed to retrieve and
update. Hence, the type of access operation— retrieval or update—must also be controlled.
Databases can be used to provide persistent storage for program objects and data structures.
This is one of the main reasons for object-oriented database systems. The persistent storage of
program objects and data structures is an important function of database systems. Traditional
database systems often suffered from the so called impedance mismatch problem, since the
data structures provided by the DBMS were incompatible with the programming language’s
data structures. Object-oriented database systems typically offer data structure compatibility
with one or more object-oriented programming languages.
INFORMATION SYSTEM
CCE104
Providing Storage Structures and Search Techniques for Efficient Query Processing
Database systems must provide capabilities for efficiently executing queries and updates.
Because the database is typically stored on disk, the DBMS must provide specialized data
structures and search techniques to speed up disk search for the desired records. Auxiliary files
01 Handout 1
Page 3 of 4
INFORMATION SYSTEM
CCE104
called indexes are used based on tree data structures or hash data structures that are suitably
modified for disk search.
The query processing and optimization module of the DBMS is responsible for choosing an
efficient query execution plan for each query based on the existing storage structures. The
choice of which indexes to create and maintain is part of physical database design and tuning,
which is one of the responsibilities of the DBA staff.
The backup and recovery subsystem of the DBMS is responsible for recovery. For example, if
the computer system fails in the middle of a complex update transaction, the recovery
subsystem is responsible for making sure that the database is restored to the state it was in
before the transaction started executing.
Because many types of users with varying levels of technical knowledge use a database, a
DBMS should provide a variety of user interfaces. These include query languages for casual
users, programming language interfaces for application programmers, forms and command
codes for parametric users, and menu-driven interfaces and natural language interfaces for
standalone users.
DBMS must have the capability to represent a variety of complex relationships among the data,
to define new relationships as they arise, and to retrieve and update related data easily and
efficiently.
Most database applications have certain integrity constraints that must hold for the data. A
DBMS should provide capabilities for defining and enforcing these constraints. The simplest
type of integrity constraint involves specifying a data type for each data item.
Some database systems provide capabilities for defining deduction rules to inference new
information from the stored database facts. Such systems are called deductive database
systems. For example, there may be complex rules in the mini-world application for
determining when a student is on probation. These can be specified declaratively as rules,
which when compiled and maintained by the DBMS. In a traditional DBMS, an explicit
procedural program code would have to be written to support such applications. But if the
mini-world rules change, it is generally more convenient to change the declared deduction
rules than to recode procedural programs. In today’s relational database systems, it is possible
to associate triggers with tables, which is a form of a rule activated by updates to the table,
INFORMATION SYSTEM
CCE104
resulting in performing some additional operations to some other tables, sending messages,
and others. More involved procedures to enforce rules are popularly called stored procedures;
they become a part of the overall database definition and are invoked appropriately when
certain conditions are met.
01 Handout 1
Page 4 of 4