ADDIS ABABA SCIENCE AND TECHNOLOGY UNIVERSITY
DEPARTMENT OF SOFTWARE ENGINEERING
FUNDAMENTALS OF DATABASE SYSTEMS
CH-1 SLIDE
YAYNSHET.M(LECTURER)
Data base systems:
2
manage large data sets in an organization
definition and the manipulation of the data
Provide mechanisms for the manipulation of information
maintain internal records, to present data to customers and clients on the Www.
Data base
found at the core of many modern organizations
Represented 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 continue over long periods of time, safely.
DB course is about:
3
How to organize data
Supporting multiple users
Efficient and effective data retrieval
Secured and reliable storage of data
Maintaining consistent data
Making information useful for decision making
Data management
passes through the different levels of development along with
1. Manual Approach
4
2. Traditional File Based Approach
3. Database Approach
1. Manual Approach
data storage and retrieval is performed by using cards, cabinets/shelf ,
paper using human labor.
Manual approach
5
the file is labeled and stored in one or more cabinets.
security
The cabinets could be kept in safe places for security purpose based on the
sensitivity of the information contained in it.
Insertion and retrieval
done by searching first for the right cabinet then for the right the file then
the information Or by indexing/listing
Manual approach
6
Limitations
Prone to error
Difficult to update, retrieve, integrate
You have the data but it is difficult to compile the information
Limited to small size information
Cross referencing is difficult
2. Traditional File Based Approach
7
After introduction of Computers for data processing to the business
community
A need to use the Computers for data storage and processing increased.
attempt to computerize the manual filing system
Thus, in this approach a collection of application programs perform
services for the end-users.
every application program that provides service to end users define and
manage its own data
Traditional File Based Approach 8
Since every application defines and manages
its own data, the system is subjected to
serious data duplication problem.
Such systems have number of programs for
each of the different applications in the
organization.
9
Traditional File Based Approach
10
Limitations
Separation or Isolation of Data: Available information in one application may
not be known.
Limited data sharing
Lengthy development and maintenance time
Duplication or redundancy of data
Data dependency on the application
Incompatible file formats between different applications and programs creating
inconsistency.
Fixed query processing which is defined during application development
Traditional File Based Approach
11
The limitations 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.
Traditional File Based Approach 12
The most significant problem
Modification Anomalies: a problem experienced when
one or more data value is modified on one application
program but not on others containing the same data set.
Deletion Anomalies: a problem encountered where one
record set is deleted from one application but remain
untouched in other application programs.
Insertion Anomalies: a problem experienced whenever
there is new data item to be recorded, and the recording is
3. Database Approach 13
Tedd Codd proposed that database systems should present the user with a
view of data organized as tables called relations.
Behind the scenes, there might be a complex data structure that allowed
rapid response to a variety of queries.
But, unlike the user of earlier database systems, the user of a relational
system would not be concerned with the storage structure
Queries could be expressed in a very high-level language, which greatly
increased the efficiency of database programmers.
Database Approach
14
The database approach emphasizes/shows the integration and sharing of
data throughout the organization.
a computerized record keeping system or a kind of electronic filing cabinet.
a repository for collection of computerized data files.
a shared collection of logically related data designed to meet the
information needs of an organization.
Database Approach
15
a collection of logically related data where these logically related data
comprises entities, attributes, relationships, and business rules of an
organization's information.
In addition to containing data required by an organization, database also
contains a description of the data which called as “Metadata”
Database Approach
16
The purpose of a database is to store information and to allow users to
retrieve and update that information on demand.
Database is deigned once and used simultaneously by many users.
Unlike the traditional file based approach in database approach there is
program data independence.
That is the separation of the data definition from the application.
Thus the application is not affected by changes made in the data structure
and file organization.
Each database application will perform the combination of: Creating
database, Reading, Updating and Deleting data.
Database Approach
17
Benefits
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.
18
Database Approach
19
Limitations and risks
Introduction of new professional and specialized personnel.
Complexity in designing and managing data
The cost and risk during conversion from the old to the new system
High cost to be incurred to develop and maintain the system
Complex backup and recovery services from the users perspective
Reduced performance due to centralization and data independency
High impact on the system when failure occurs to the central
Database Management System (DBMS)
Data storage, retrieval and update in the database 20
A user accessible catalogue
Transaction support service: ALL or NONE transaction, which minimize
data inconsistency.
Concurrency Control Services: access and update on the database by
different users simultaneously should be implemented correctly.
Recovery Services: a mechanism for recovering the database after a failure
must be available.
Authorization Services (Security): must support the implementation of
access and authorization service to database administrator and users.
Support for Data Communication: should provide the facility to integrate
with data transfer software or data communication managers.
Integrity Services: rules about data and the change that took place on the
data, correctness
DBMS
21
Components
Data Definition Language (DDL):
Language used to define each data element required by the organization.
Commands for setting up schema or the intension of database
These commands are used to setup a database, create, delete and alter table with the facility of handling
constraints
Data Manipulation Language (DML):
Is a core command used by end-users and programmers to store, retrieve, and access the data in the database e.g.
SQL
Since the required data or Query by the user will be extracted using this type of language, it is also called "Query
Language"
Data Dictionary:
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.
Components
22
Data Control Language:
Database is a shared resource that demands control of data
access and usage. The database administrator should have
the facility to control the overall operation of the system.
Data Control Languages are commands that will help the
Database Administrator to control the database.
The commands include grant or revoke privileges to access
the database or particular object within the database and to
store or remove database transactions
DBMS Environment
23
The DBMS environment has five components. To design and use a
database, there will be the interaction or integration of Hardware, Software,
Data, Procedure and People.
DBMS Environment
24
Components
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.
DBMS Environment
25
Components
Software:
are collection of commands and programs used to manipulate the hardware
to perform a function.
These include components like the DBMS software, application programs,
operating systems, network software, language software and other relevant
software.
DBMS Environment
Components
26
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.
DBMS Environment
Component 27
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.
DBMS Environment
28
Components
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.
Database Development Life Cycle 29
Planning: that is identifying information gap in an organization
and propose a database solution to solve the problem.
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.
Design: in database designing more emphasis is given to this
phase.
The phase is further divided into three sub-phases
Database Development Life Cycle 30
Design
Conceptual Design: short description of the data, data type, relationship between data and
constraints on the data.
There is no implementation or physical detail consideration.
Used to elicit and structure all information requirements
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.
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.
Database Development Life Cycle
31
Implementation: the testing and deployment of the designed database for use
Operation and Support: administering and maintaining the operation of the
database system and providing support to users.
Roles in Database Design and Use
32
1. Database Administrator (DBA)
Responsible to oversee, control and manage the database resources (the
database itself, the DBMS and other related software)
Authorizing access to the database
Coordinating and monitoring the use of the database
Responsible for determining and acquiring hardware and software resources
Accountable for problems like poor security, poor performance of the system
Involves in all steps of database development
Roles in Database Design and Use
33
Database Administrator (DBA)
further classifications
Data Administrator (DA): is responsible on management of data
resources. Involves in database planning, development, maintenance
of standards policies and procedures at the conceptual and logical
design phases.
Database Administrator (DBA): is more technically oriented role.
Responsible for the physical realization of the database. Involves in
physical design, implementation, security and integrity control of the
database.
Roles in Database Design and Use
34
2. Database Designer (DBD)
Identifies the data to be stored and choose the appropriate structures to
represent and store the data.
Should understand the user requirement and should choose how the user
views the database.
Involve on the design phase before the implementation of the database
system.
We have two distinctions of database designers, one involving in the logical
and conceptual design and another involving in physical design.
Roles in Database Design and Use
35
Database Designer (DBD)
Logical and Conceptual DBD
Identifies data (entity, attributes and relationship) relevant to the
organization
Identifies constraints/limitation on each data
Understand data and business rules in the organization
Sees the database independent of any data model at conceptual level and
consider one specific data model at logical design phase.
Roles in Database Design and Use
36
Database Designer (DBD)
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
Roles in Database Design and Use
37
3. Application Programmer and Systems Analyst
System analyst determines the user requirement and how the user wants to
view the database.
The application programmer implements these specifications as programs;
code, test, debug, document and maintain the application program.
Determines the interface on how to retrieve, insert, update and delete data
in the database.
The application could use any high level programming language according
to the availability, the facility and the required service.
Roles in Database Design and Use
38
4. End Users Workers, whose job requires accessing the database frequently
for various purpose. There are different group of users in this category.
Naïve Users:
Sizable proportion of users
Unaware of the DBMS
Only access the database based on their access level and demand
Use standard and pre-specified types of queries.
Roles in Database Design and Use
39
End users
Sophisticated Users
Are users familiar with the structure of the Database and facilities of the DBMS.
Have complex requirements
Have higher level queries
Are most of the time engineers, scientists, business analysts, etc
Casual Users
Users who access the database occasionally.
Need different information from the database each time.
Use sophisticated database queries to satisfy their needs.
Are most of the time middle to high level managers.
Roles in Database Design and Use
40
End users
These users can be again classified as “Actors on the Scene” and “Workers
Behind the Scene”.
Actors on the Scene:
Data Administrator
Database Administrator
Database Designer
End Users
Roles in Database Design and Use
41
End users
Workers behind the Scene
DBMS designers and implementers: who design and implement different DBMS
software.
Tool Developers: experts who develop software packages that facilitates database system
designing and use.
Prototype, simulation, code generator developers could be an example. Independent
software vendors could also be categorized in this group
Operators and Maintenance Personnel: system administrators who are responsible for
actually running and maintaining the hardware and software of the database system and the
information technology facilities.
42
Go to
Syllabus
Chapter Two
Chapter Three
Chapter Four
Chapter Five