Chapter 1 Lecture 1
Chapter 1 Lecture 1
Chapter 1 Lecture 1
04/04/24 1
Introduction
04/04/24 2
Introduction…
• A database has the following implicit properties:
o A database represents some aspect of the real world, sometimes
called the miniworld or the universe of discourse (UoD).
Changes to the miniworld are reflected in the database.
o A database is logically coherent collection of data with
some inherent meaning.
A random assortment of data cannot correctly be
referred to as a database.
• A database is designed, built, and populated with
data for a specific purpose.
o It has an intended group of users and some preconceived
applications in which these users are interested.
04/04/24 3
Introduction…
A database may be generated and maintained
manually or it may be computerized.
For example, a library card catalog is a database
that may be created and maintained manually.
A computerized database may be created and
maintained either by a group of application
programs written specifically for that task or by a
database management system.
04/04/24 4
DBMS (Database Management System)
04/04/24 5
DBMS (Database Management System)…
• The DBMS also protect the database and maintaining it
over a long period of time.
• Protection includes system protection against hardware or
software malfunction (or crashes) and security protection
against unauthorized or malicious access.
04/04/24 6
DBMS (Database Management System)…
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.
It is not absolutely necessary to use general-purpose DBMS
software to implement a computerized database.
We could write our own set of programs to create and
maintain the database, in effect creating our own special-
purpose DBMS software
04/04/24 7
DBMS (Database Management System)…
In either case whether we use a general-purpose DBMS or not
—we usually have to deploy a considerable amount of
complex software.
In fact, most DBMSs are very complex software systems.
The database and DBMS software together a Database System.
The DB Application is simply a program that interacts with the DB
at some point in its execution.
04/04/24 8
04/04/24
A simplified Database System Environment. 9
Data Management Approaches
04/04/24 10
1. Manual File Handling Systems
04/04/24 11
Example , Personal Calendar
We might start by building a file with the following
structure:
04/04/24 12
Let us also build our address book
– Abebe A. 0911164743
– Seble K. 0912150844
– Ayele L. 0913170841
– Elfinesh W. 0911169673
– Ermias H. 0912151043
– Worku A. 0911199904
– Worku D. 0912620410
– Abebe D. 0914556768
04/04/24 13
Limitations of Manual File Handling
C) Prone to error
D) Difficult to update, retrieve, integrate
E) You have the data but it is difficult to compile the information
F) Significant amount of duplication of data
G) Cross referencing is difficult
What is the solution to overcome the problems or difficulties
inherited in the Manual File Handling Approaches:
Two computerized approaches evolved to overcome this limitations
File Based Approach Decentralised
Database Approach Centralised
04/04/24 15
2. File-Based Approach
04/04/24 16
04/04/24 17
Limitations of File-Based systems
Data Redundancy (Duplication of data)
Same data is held by different programs
Wasted space (Uncontrolled duplication of data)
Separation and isolation of data
Each program maintains its own set of data.
Users of one program may be unaware of potentially useful data
held by other programs.
Limited data sharing
Special codes for different queries
04/04/24 18
Limitations of File-Based systems…
04/04/24 19
Limitations of File-Based systems…
Data Dependence
File structure is defined in the program code and is
dependent on the application programming language.
Each application program must have its own processing
routines for reading, inserting, updating and deleting
data.
Incompatible file formats (Lack of Data Sharing and
Availability)
Programs are written in different languages, and so
cannot easily access each others files.
• Eg. personnel writes in C
payroll writes in COBOL
04/04/24 20
Limitations of File-Based systems…
Suppose payroll wants to know when a certain employee will be on pension.
It is difficult to share this information unless we have another application
programmer to write software to convert the files to some common format.
Poor Security and Administration
Unauthorized people may access the data.
Anomalies
1) Modification Anomalies:
A problem experienced when one or more data value is modified on one
application program but not one others containing the same data set.
2) Deletion Anomalies:
A problem encountered where one record set is deleted from one application but
remain untouched in other application programs.
3) Insertion Anomalies:
A problem experienced whenever there is a new data item to be recorded, and the
recording is not made in all the applications.
04/04/24 21
3. Database Approach
The limitation of the file based can be attributed to two
factors:
Definition of data is embedded in the application
programs, rather than being stored separately and
independently.
There is no control over the access and manipulation of
data beyond that imposed by the application programs.
To become more effective, a new approach was
required by the name Database Approach.
What emerged were the database and database
management systems.
A single repository of data is maintained
04/04/24 22
3. Database Approach…
A Database is a shared collection of logically related
data designed to meet the information needs of an
organization- (Centralized System).
Logically related data comprises entities, attributes, and
relationships of an organization's information.
System Catalog (Data Dictionary or Metadata)
provides the description of the data to enable
program–data independence.
The database contains not only the database itself but
also a complete definition or description of the
database.
04/04/24 23
3. Database Approach…
This definition is stored in the system catalog,
which contains information such as the
structure of each file, type and storage format
of each data item and various constraints on
the data..
The information stored is called metadata and
it describes the structure of the primary
database.
04/04/24 24
DBMS Functions
A DBMS performs several important functions that
guarantee the integrity and consistency of the data in the
database.
Most of those functions are transparent to end users, and
most can be achieved only through the use of a DBMS.
04/04/24 25
DBMS Functions…
They include:
Data Dictionary Management
Data Storage Management
Data Transformation and Presentation
Security Management
Multiuser Access Control
Backup and Recovery Management
Data Integrity Management
Database Access Languages and Application Programming
Interfaces
Database Communication Interfaces
04/04/24 26
1. Data Dictionary Management
The DBMS stores definitions of the data elements and
their relationships (metadata) in a data dictionary.
In turn, all programs that access the data in the database
work through the DBMS.
The DBMS uses the data dictionary to look up the
required data component structures and relationships.
Additionally, any changes made in a database structure
are automatically recorded in the data dictionary.
In other words, the DBMS provides data abstraction, and
it removes structural and data dependence from the
system.
04/04/24 27
Meta Data
04/04/24 28
Fig: Illustrating metadata with Microsoft SQL Server Express
A useful data dictionary system should store and manage the
following types of information:
Descriptions of the schemas of the database system.
Detailed information on physical database design, such as
storage structures, access paths, and file and record sizes.
Descriptions of the types of database users, their
responsibilities, and their access rights.
High-level descriptions of the database transactions and
applications and of the relationships of users to transactions.
The relationship between database transactions and the data
items referenced by them.
Usage statistics such as frequencies of queries and
transactions and access counts to different portions of the
database.
04/04/24 29
2. Data Storage Management
04/04/24 30
2. Data Storage Management…
Performance tuning relates to the activities that make the database
perform more efficiently in terms of storage and access speed.
Although the user sees the database as a single data storage unit, the
DBMS actually stores the database in multiple physical data files.
See the following figure. Such data files may even be stored on
different storage media.
Therefore, the DBMS doesn’t have to wait for one disk request to
finish before the next one starts.
In other words, the DBMS can fulfill database requests
concurrently.
04/04/24 31
Illustrating
04/04/24 data storage management with Oracle 32
3. Multiuser Access Control
To provide data integrity and data consistency, the DBMS
uses sophisticated algorithms to ensure that multiple users
can access the database concurrently without
compromising the integrity of the database.
04/04/24 33
4. Backup and Recovery Management
04/04/24 35
6. Database Access Languages and Application
Programming Interfaces …
The DBMS provides data access through a query
language.
A query language is a nonprocedural language—one that
lets the user specify what must be done without having to
specify how it is to be done.
Structured Query Language (SQL) is the de facto query
language and data access standard supported by the
majority of DBMS vendors.
04/04/24 36
The DBMS also provides application programming
interfaces to procedural languages such as COBOL, C,
Java, Visual Basic.NET, and C#.
The DBMS also provides administrative utilities used by
the DBA and the database designer to create, implement,
monitor, and maintain the database.
04/04/24 37
6. Database Communication Interfaces
04/04/24 38
In this environment, communications can be
accomplished in several ways:
End users can generate answers to queries by filling in
screen forms through their preferred Web browser.
The DBMS can automatically publish predefined reports
on a Website.
The DBMS can connect to third-party systems to
distribute information via e-mail or other productivity
applications.
04/04/24 39
Figure:
04/04/24
Database Approach 40
Advantages of Database Systems
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 Data Accessibility - 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.
04/04/24 41
Advantages of Database Systems…
04/04/24 42
Advantages of Database Systems…
Less Labor: Unlike the other data handling methods, data
maintenance will not demand much resource
Centralized information control: Since relevant data in
the organization will be stored at one repository, it can be
controlled and managed at the central level.
Data Independence - Applications insulated from how
data is structured and stored
04/04/24 43
Limitations and Risk of DB Approach
Although the database system yields considerable
advantages over previous data management approaches,
database systems do carry significant disadvantages. For
example:
1) Increased Costs.
Database systems require sophisticated hardware and
software and highly skilled personnel.
The cost of maintaining the hardware, software, and
personnel required to operate and manage a database
system can be substantial.
Training, licensing, and regulation compliance costs are
often overlooked when database systems are implemented.
04/04/24 44
Limitations and Risk of DB Approach…
2) Management Complexity.
Database systems interface with many different
technologies and have a significant impact on a company’s
resources and culture.
The changes introduced by the adoption of a database
system must be properly managed to ensure that they help
advance the company’s objectives.
Given the fact that database systems hold crucial company
data that are accessed from multiple sources, security issues
must be assessed constantly.
04/04/24 45
Limitations and Risk of DB Approach…
3) Maintaining Currency
To maximize the efficiency of the database system, you must
keep your system current.
Therefore, you must perform frequent updates and apply
the latest patches and security measures to all components.
Because database technology advances rapidly, personnel
training costs tend to be significant.
4) Vendor Dependence
Given the heavy investment in technology and personnel
training, companies might be reluctant to change database
vendors.
04/04/24 46
As a consequence, vendors are less likely to offer pricing
point advantages to existing customers, and those
customers might be limited in their choice of database
system components.
5) Frequent Upgrade/Replacement Cycles
DBMS vendors frequently upgrade their products by
adding new functionality.
Such new features often come bundled in new upgrade
versions of the software.
Some of these versions require hardware upgrades.
Not only do the upgrades themselves cost money, but it
also costs money to train database users and
administrators to properly use and manage the new
features.
04/04/24 47
Database System Environment
04/04/24 48
Database System Environment…
1) Hardware
Hardware refers to all of the system’s physical devices; for
example, computers (PCs, workstations, servers, and
supercomputers), storage devices, printers, network
devices (hubs, switches, routers, fiber optics), and other
devices (automated teller machines, ID readers, and so on).
04/04/24 49
Database System Environment…
2) Software
Although the most readily identified software is the DBMS
itself, to make the database system function fully, three types of
software are needed: operating system software, DBMS
software, and application programs and utilities.
Operating system software manages all hardware components
and makes it possible for all other software to run on the
computers.
Examples of operating system software include Microsoft
Windows, Linux, Mac OS, UNIX, and MVS.
DBMS software manages the database within the database
system.
04/04/24 50
Database System Environment…
Some examples of DBMS software include Microsoft’s SQL Server,
Oracle Corporation’s Oracle, Sun’s MySQL, and IBM’s DB2.
Application programs and utility software are used to access and
manipulate data in the DBMS and to manage the computer
environment in which data access and manipulation take place.
Application programs are most commonly used to access data
found within the database to generate reports, tabulations, and
other information to facilitate decision making.
Utilities are the software tools used to help manage the database
system’s computer components.
04/04/24 51
Database System Environment…
3) People
This component includes all users of the database system.
On the basis of primary job functions, five types of users
can be identified in a database system:
System Administrators
Database Administrators
Database Designers
System Analysts and Programmers
End Users
Each user type, described below, performs both unique and
complementary functions.
04/04/24 52
Database System Environment…
04/04/24 53
Database System Environment…
Administering these resources is the responsibility of the
database administrator (DBA).
The DBA is responsible for:
Authorizing access to the database,
Coordinating and monitoring its use, and
Acquiring software and hardware resources as needed.
The DBA is accountable for problems such as
Security breaches and poor system response time
04/04/24 54
Database System Environment…
04/04/24 55
Database System Environment…
A) Logical Designers
Concerned with identifying the data, entities and attributes,
relationships and constraints
Need a complete knowledge of the organization's data and
business rules
B) Physical Designers
Decide how the logical database design is to be physically realized
Map the logical database design into a set of tables
Select specific storage structures and access methods
Design security measures
04/04/24 56
Database System Environment…
3.4 System Analysts and Programmers design and implement
the application programs.
Design and create the data entry screens, reports, and
procedures through which end users access and
manipulate the database’s data.
For example work based on the requirement specified by
the system analyst.
Each program contains statements that request the DBMS
to perform some operation on the database – retrieving,
inserting, updating and deleting data
04/04/24 57
Database System Environment…
3.5 End users are the people who use the application
programs to run the organization’s daily operations.
For example, salesclerks, supervisors, managers, and
directors are all classified as end users.
High-level end users employ the information obtained
from the database to make tactical and strategic business
decisions.
End users are differentiated by the way they expect to
interact with the system.
04/04/24 58
Database System Environment…
04/04/24 59
Database System Environment…
4) Procedures
Procedures are the instructions and rules that govern the design
and use of the database system.
Procedures are a critical, although occasionally forgotten,
component of the system.
Procedures play an important role in a company because they
enforce the standards by which business is conducted within the
organization and with customers.
Procedures are also used to ensure that there is an organized way to
monitor and audit both the data that enter the database and the
information that is generated through the use of those data.
04/04/24 60
Database System Environment…
5. Data
The word data covers the collection of facts stored in the database.
Because data are the raw material from which information is
generated, the determination of what data are to be entered into the
database and how those data are to be organized is a vital part of the
database designer’s job.
04/04/24 61
Reading Assignment
1. Read about Database development life cycle and phases
04/04/24 62