Data bases and database systems have become an
essential component of everyday life in modern society.
Examples for database Applications:
•
Purchases from the supermarket
•
Purchases using your credit card
•
Booking a holiday at the travel agents
•
Using the local library
•
Taking out insurance
•
Using the Internet
•
Studying at university
Need to store
data :
Data originates
at one time and used later(i.e.) Store registrations for grading later, Store
for future information needs, Governmental regulations requires access to past
data, Data used later for auditing, evaluation purpose, Used more than once :
save for future use Limitations of
manual methods:
Problems of speed, Problems of
accuracy, Problems of consistency and reliability, Problems of poor response
time, Problems of work-load handling capability, Problems of meeting ad hoc
information needs, Problems of cost, Problems due to human frailties: (misplaced)
loyalty, inconsistency, irregularity, difficulties in handling big tasks
Why computerized
data processing?
Advantage of speed, Advantage of
accuracy, Advantage of reliability and consistency, Advantage of storage and
retrieval efficiency, Advantage of on-line-access to meet ad-hoc needs,
Advantage of cost
Data Base : Collection of related data. By data, we mean known
facts that can be recorded and that have implicit meaning.
Definition of DBMS: A data base management system(DBMS) is a collection
of programs that enables users to create and maintain a database. The DBMS
is hence a general purpose sof tware system that facilitate the process of
defining, constructing , manipulating and sharing databases among the various
users and applications. Historical
development of database Technologies:
•
Early
Database Applications: The Hierarchical and Network Models were introduced
in mid 1960 s and dominated during the seventies. A bulk of the worldwide
database processing still occurs using these models.
•
Relational
Model based Systems: The model that was originally introduced in 1970 was
heavily researched and experimented with in IBM and the universities.
Relational DBMS Products emerged in the 1980 s.
•
Object-oriented
applications: OODBMSs were introduced in late 1980 s and early 1990 s to
cater to the need of complex data processing in CAD and other applications.
Their use has not taken off much.
•
Data on
the Web and E-commerce Applications: Web contains data in HTML (Hypertext
markup language) with links among pages. This has given rise to a new set of
applications and E-commerce is using new standards like XML (eXtended Markup Language).
Extending Database Capabilities:
New functionality is being added to
DBMSs in the following areas:
Scientific
Applications, Image Storage and Management, Audio and Video data management,
Data Mining, Spatial data management, Time Series and Historical Data
Management Transaction Management:
Ø A
transaction is a collection of operations that performs a single logical
function in a database application
Ø Transaction-management
component ensures that the database remains in a consistent (correct) state
despite system failures (e.g., power failures and operating system crashes) and
transaction failures.
Ø Concurrency-control
manager controls the interaction among the concurrent transactions, to ensure
the consistency of the database.
A database transaction is a unit of
interaction with a database
management system or similar system that is treated in a coherent
and reliable way independent of other transactions that must be either entirely
completed or aborted.
In some systems, transactions are
also called LUW for Logical Units of Work.
In database products the
ability to handle transactions allows A single transaction might require
several queries, each reading and/or writing information in the database. When
this happens it is usually important to be sure that the database is not left
with only some of the queries carried out. For example, when doing a money
transfer, if the money was debited from one account, it is important that it
also be credited to the depositing account. Also, transactions should not
interfere with each other. Storage
Management:
Ø Storage
management is a program module that provides the interface between the
low-level data stored in the database and the application programs and queries
submitted to the system.
Ø The
storage manager is responsible to the following tasks:
v
interaction with the file manager
v
efficient storing, retrieving and updating of
data
Database Administrator:
A database administrator (DBA) is a
person who is responsible for the environmental aspects of a database. In general,
these include:
Ø Performance
- Ensuring maximum performance given budgetary constraints
Ø Development
and testing support - Helping programmers and engineers to efficiently utilize
the database.
The role of a database
administrator has changed according to the technology of database
management systems (DBMSs) as well as the needs of the owners of the
databases.
Types of Databases and Database
Applications
• Numeric
and Textual Databases (Traditional Database)
• Multimedia
Databases (Video clips, pictures, sound message)
• Geographic
Information Systems (GIS)(Weather data, map analysis, satellite images)
• Data
Warehouses (Decision making)
• Real-time
and Active Databases (Internet based (World wide web))
Advantages of Using the Database Approach
• Controlling
redundancy in data storage and in development and maintenance efforts.
o
Duplication is wasteful. It costs time and money to
enter the data more than once.
o
It takes up additional storage space, again with
associated costs.
o
Perhaps more importantly, duplication can lead to loss
of data integrity.
• Sharing
of data among multiple users.
• Restricting
unauthorized access to data.
o When
multiple users shares a large database, it is likely that most users will not
be authorized to access all information in the database.
• Providing
persistent storage for program Objects o A complex object in C++ can be stored
permanently in an Object Oriented DBMS. Such an object is said to be
persistence, since it survives the termination of the program execution and can
later be directly retrieved by another C++ program.
• Providing
backup and recovery services.
• Providing
multiple interfaces to different classes of users.
• Representing
complex relationships among data.
Database Users:
o
Database
administrators: responsible for authorizing access to the database, for
co-ordinating and monitoring its use, acquiring software, and hardware
resources, controlling its use and monitoring efficiency of operations.
o
Database
Designers: Responsible to define the content, the structure, the
constraints, and functions or
transactions against the
database. They must communicate with the end-users and understand their needs.
o
End users :
End users are the people whose jobs require acc ess to
the database for querying, updating, and generating reports; the database
primarily exists for their use. There are several categories of end users:
o Casual
End User: access database occasionally when needed. But they may need
different information each time.
o
Na ve or
Parametric End user : they make up a large section of the end-user
population. They use previously well-defined functions in the form of canned transactions against the database.
Examples are bank-tellers or reservation clerks who do this activity for an
entire shift of operations.
o
Sophisticated
End User : These include business analysts, scientists, engineers, others
thoroughly familiar with the system capabilities. Many use tools in the form of
software packages that work closely with the stored database.
o
Stand-alone End
User : Mostly maintain personal databases using ready-to-use packaged
applications. An example is a tax program user that creates his or her own
internal database.