Chapter 1 Odb
Chapter 1 Odb
Today, Databases are essential to every business. They are used to maintain internal records, to
present data to customers and clients on the World-Wide-Web, and to support many other
commercial processes. Databases are likewise found at the core of many modern organizations.
The power of databases comes from a body of knowledge and technology that has developed over
several decades and is embodied in specialized software called a database management system, or
DBMS. A DBMS is a powerful tool for creating and managing large amounts of data efficiently and
allowing it to persist over long periods of time, safely. These systems are among the most complex
types of software available.
Thus, for our question: What is a database? In essence a database is nothing more than a collection
of shared information that exists over a long period of time, often many years. In common dialect,
the term database refers to a collection of data that is managed by a DBMS.
Data management passes through the different levels of development along with the development
in technology and services. These levels could best be described by categorizing the levels into
three levels of development. Even though there is an advantage and a problem overcome at each
new level, all methods of data handling are in use to some extent. The major three levels are;
Files for as many event and objects as the organization has are used to store information.
Each of the files containing various kinds of information is labelled and stored in one ore
more cabinets.
The cabinets could be kept in safe places for security purpose based on the sensitivity of the
information contained in it.
Insertion and retrieval is done by searching first for the right cabinet then for the right the
file then the information.
One could have an indexing system to facilitate access to the data
An alternative approach of data handling is a computerized way of dealing with the information.
The computerized approach could also be either decentralized or centralized base on where the
data resides in the system.
After the introduction of Computer for data processing to the business community, the need to use
the device for data storage and processing increase. There were, and still are, several computer
applications with file based processing used for the purpose of data handling. Even though the
approach evolved over time, the basic structure is still similar if not identical.
As business application become more complex demanding more flexible and reliable data
handling methods, the shortcomings of the file based system became evident. These shortcomings
include, but not limited to:
Separation or Isolation of Data: Available information in one application may not be known.
Data Synchronisation is done manually.
Limited data sharing- every application maintains its own data.
Lengthy development and maintenance time
Duplication or redundancy of data (money and time cost and loss of data integrity)
Data dependency on the application- data structure is embedded in the application; hence, a
change in the data structure needs to change the application as well.
Incompatible file formats or data structures (e.g. “C” and COBOL) between different
applications and programs creating inconsistency and difficulty to process jointly.
Fixed query processing which is defined during application development
The limitations for the traditional file based data handling approach arise from two basic
reasons.
1. Definition of the data is embedded in the application program which makes it difficult
to modify the database definition easily.
2. No control over the access and manipulation of the data beyond that imposed by the
application programs.
The most significant problem experienced by the traditional file based approach of data
handling is the “update anomalies” or Data Inconsistency.
Unlike the file system, with its many separate and unrelated files, the database system consists of
logically related data stored in a single logical data repository. (The “logical” label reflects the fact
that, although the data repository appears to be a single unit to the end user, its contents may
actually be physically distributed among multiple data storage facilities and/or locations.) Because
the database’s data repository is a single logical unit, the database represents a major change in the
way end-user data are stored, accessed, and managed The database approach emphasizes the
integration and sharing of data throughout the organization.
Data can be shared: two or more users can access and use same data instead of storing data in
redundant manner for each user.
Improved accessibility of data: by using structured query languages, the users can easily access
data without programming experience.
Redundancy can be reduced: isolated data is integrated in database to decrease the redundant
data stored at different applications.
Quality data can be maintained: the different integrity constraints in the database approach
will maintain the quality leading to better decision making
Inconsistency can be avoided: controlled data redundancy will avoid inconsistency of the data
in the database to some extent.
Transaction support can be provided: basic demands of any transaction support systems are
implanted in a full scale DBMS.
Integrity can be maintained: data at different applications will be integrated together with
additional constraints to facilitate shared data resource.
Security majors can be enforced: the shared data can be secured by having different levels of
clearance and other data security mechanisms.
Improved decision support: the database will provide information useful for decision making.
An application program accesses the database by sending queries or requests for data to the
DBMS. A query2 typically causes some data to be retrieved; a transaction may cause some data to
be read and some data to be written into the database.
Having this in mind, a full scale DBMS should at least have the following services to provide
to the user.
Data Dictionary:
o Due to the fact that a database is a self describing system, this tool, Data Dictionary,
is used to store and organize information about the data stored in the database.
The DBMS is software package that helps to design, manage, and use data using the database
approach. Taking a DBMS as a system, one can describe it with respect to its environment or other
systems interacting with the DBMS. The DBMS environment has five components. To design and
use a database, there should be the interaction or integration of Hardware, Software, Data,
Procedure and People.
1. Hardware: are components that one can touch and feel. These components are
comprised of various types of personal computers, mainframe or any server computers to
be used in multi-user system, network infrastructure, and other peripherals required in the
system.
2. Software: are collection of commands and programs used to manipulate the hardware
to perform a function. These include components like the DBMS software, application
3. Data: since the goal of any database system is to have better control of the data and
making data useful, Data is the most important component to the user of the database.
There are two categories of data in any database system: that is Operational and Metadata.
Operational data is the data actually stored in the system to be used by the user. Metadata is
the data that is used to store information about the database itself.
The structure of the data in the database is called the schema, which is composed of the
Entities, Properties of entities, and relationship between entities.
4. Procedure: this is the rules and regulations on how to design and use a database. It
includes procedures like how to log on to the DBMS, how to use facilities, how to start and
stop transaction, how to make backup, how to treat hardware and software failure, how to
change the structure of the database.
5. People: this component is composed of the people in the organization that are
responsible or play a role in designing, implementing, managing, administering and using
the resources in the database. This component includes group of people with high level of
knowledge about the database and the design technology to other with no knowledge of the
system except using the data in the database.
As it is one component in most information system development tasks, there are several steps in
designing a database system. Here more emphasis is given to the design phases of the system
development life cycle. The major steps in database design are;
2. Analysis: that concentrates more on fact finding about the problem or the opportunity.
Feasibility analysis, requirement determination and structuring, and selection of best design
method are also performed at this phase.
3. Design: in database designing more emphasis is given to this phase. The phase is further
divided into three sub-phases.
a. Conceptual Design: concise description of the data, data type, relationship between
data and constraints on the data.
There is no implementation or physical detail consideration.
9 Department of Information Technology
University of Gondar
Fundamentals of Database System 2014
Used to elicit and structure all information requirements
b. Logical Design: a higher level conceptual abstraction with selected specific data model
to implement the data structure.
It is particular DBMS independent and with no other physical
considerations.
c. Physical Design: physical implementation of the upper level design of the database
with respect to internal storage and file structure of the database for the selected
DBMS.
To develop all technology and organizational specification.
4. Implementation: the deployment and testing of the designed database for use.
5. Operation and Support: administering and maintaining the operation of the database
system and providing support to users.
As people are one of the components in DBMS environment, there are group of roles played by
different stakeholders of the designing and operation of a database system.
2. Physical DBD
Take logical design specification as input and decide how it should be physically
realized.
Map the logical data model on the specified DBMS with respect to tables and
integrity constraints. (DBMS dependent designing)
Select specific storage structure and access path to the database
Design security measures required on the database
4. End Users
Workers, whose job requires accessing the database frequently for various purposes, there
are different group of users in this category.
1. Naïve Users:
Sizable proportion of users
Unaware of the DBMS