You are on page 1of 42

-Databases and Database system have become an

essential component of everyday life in our society.

-They play a critical role in almost all the areas


(business, electronic commerce , engineering , medicine ,
law , education etc)

-Applications : Multimedia databases, Geographic


Information System (GIS), Online analytical processing.
- A data base is a collection of related data.
Example : A student data base with following data.
Name, telephone numbers, place, address

Data: Known facts that can be recorded and have an implicit meaning.

Implicit properties of a database:


- A database represents some aspects of the real world , sometimes called the
miniworld or UoD. Changes to the miniworld are reflected in the data base

- A database is a logically coherent collection of data with some inherent


meaning.

- A data base is designed , built and populated with data for a specific purpose .It
has an intended group of users and some preconceived applications in which
these users are interested.
- A DBMS is a collection of programs that allows users to create and
maintain database.
A DBMS is a general purpose software system that facilitates the
following process.

1. Defining a database - Specifying the data types , structures,


and constraints of the data to be stored in the database.
(the database definition or descriptive information is stored in the
database in the form of catalog or dictionary called meta-data.)

2. Constructing – The process of storing the data itself on some


media that is controlled by DBMS.
3. Manipulating – Includes functions such as querying, updating
and generating reports
Retrieval: Querying, generating reports
Modification: Insertions, deletions and updates to its content
Accessing the database through Web applications.

4. Sharing among the various users and application -


Concurrently accessing the database by multiple users and
applications.

Other functions include Protection and maintaining the database.


Protection involves system protection and security protection.
* Mini-world for the example:
Part of a UNIVERSITY environment.

* Some mini-world entities:


 STUDENT_DETAILS (stores data on each student)
 COURSE (data on each course.)
 SECTION (each section of the course.)
GRADE REPORT ( stores grades that students receive )
PREREQUISITE(stores prerequisites of each course)
 Self-describing Nature of the a Database System.

 Insulation between Programs and Data, and Data


Abstraction

 Support of multiple views of data

Sharing of Data and Multi-user Transaction Processing


1.Self-describing Nature of the a Database System.
- A database has complete description of the data base structure and constraints.
* A DBMS catalog stores the description of a particular database (e.g. data
structures, types, and constraints)
* The description is called meta-data.
* This allows the DBMS software to work with different database applications.

- In Traditional file processing , data definition is typically part of the application


programs themselves.

- file processing Systems can access only specific database , DBMS software can
access diverse database
2.Insulation between Programs and Data, and Data
Abstraction

- In traditional file processing , any changes to a file may require


changing all programs that access this file. By contrast , DBMS access
programs do not require such changes in most cases. This Property is
called program-data independence.

- Some data base systems (Object oriented and Object –relational system
) have a Property called Program – operation independence in which a
user program can operate on data regardless of how these operations
are implemented.

-
A characteristics that allows these two properties is called data
abstraction.
Data model A data model is used to hide storage details and
present the users with a conceptual view of the database.
Programs refer to the data model constructs rather than data
storage details
-Conceptual representation does not include details about how
data is stored or how operations are implemented.
* Support of multiple views of data.
- A multi-user DBMS must provide facilities for defining multiple views for a
variety of distinct applications.

* Sharing of Data and Multi-user Transaction Processing

- A DBMS includes concurrency control.

- Each transaction must be executed in isolation from other transaction.


(isolation property)
- Either All the operations in a transaction are executes or none are.
(Atomicity property)
• Users may be divided into
– Those who actually use and control the database content,
and those who design, develop and maintain database
applications (called “Actors on the Scene”), and

– Those who design and develop the DBMS software and


related tools, and the computer systems operators (called
“Workers Behind the Scene”).
Database administrators:
Responsible for
authorizing access to the database,
coordinating and monitoring its use,
acquiring software and hardware resources,
controlling its use
and monitoring efficiency of operations.
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.
End users: are the people whose jobs require access to the database for
querying ,updating, and generating reports.
Several categories: Casual end users, Naïve or parametric end
users
Sophisticated:
These include business analysts, scientists, engineers,others thoroughly
familiar with the system capabilities.
Stand-alone:
Mostly maintain personal databases using ready-to-use packaged applications.
Example:A user that maintains an address book
System Analysts and Application programmers:
SA determine the requirements of end users, and develop specifications for
canned transactions.
Application programmers implements the specifications as
programs,test,debug,document and maintains canned transactions
--are associated with the design, development, and operation of
the DBMS software and system environment

*DBMS System designers and implementers


• are persons who design and implement the DBMS modules and
interfaces as a software package
• A DBMS is a very complex software system that consists of many
components, or modules, including modules for implementing the
catalog, processing query language, processing the interface, accessing
and buffering data, controlling concurrency, and handling data recovery
and security. The DBMS must interface with other system software, such
as the operating system and compilers for various programming
languages.
* Tool developers
• include persons who design and implement tools-the software
packages that facilitate database system design and use and that help
improve performance
• Tools are optional packages that are often purchased separately.
They include packages for database design, performance
monitoring, natural language or graphical interfaces, prototyping,
simulation, and test data generation. In many cases, independent
software vendors develop and market these tools.

* Operators and maintenance personnel


* are the system administration personnel who are responsible for the
actual running and maintenance of the hardware and software
environment for the database system.
1. Controlling Redundancy

- Problems of redundancy
1. Duplicates efforts
2. Wastage of storage space.
3. Inconsistency.

- In the database approach , these redundancy problems can be


removed by storing logical data items in only one place.

- In some cases controlled redundancy is used to improve the


performance of queries.
2. Restricting Unauthorized Access
- Allowing only permitted user to access the confidential data ,to
provide the security to the database.

- User and user groups are given account numbers provided with
password.

- DBMS provides security and authorization subsystem which DBA


can use to create user accounts
3. Providing Persistent Storage for Program Objects.

- Object Oriented Database system allows user to store


complex data objects.
Eg: Record types , Class definitions.
- Object oriented database systems are compatible with C++
and JAVA.
- DBMS software performs necessary conversions. So, the complex object
in C++ can be stored permanently in an Object oriented database
.Such an object is called as persistent.
4. Providing Storage for Structures for Efficient Query
Processing.

- Since database is typically stored on disk , DBMS uses index files to


speed up the searching process to increase the efficiency of query
processing.
- It uses buffering module to maintain the records in the main memory.
- Query processing an optimization module is responsible for choosing an
efficient query execution plan for each query based on existing storage
structure.
5. Providing Backup and Recovery.
- The back up and recovery subsystem of the DBMS is responsible for
recovery.

6. Providing Multiple User Interface


Theses include
- Query languages for casual users
- APIs for application programmers
- Forms and command codes for parametric users.
- Menu Driven interfaces and natural language for stand-alone
programmers
7. Representing complex Relationship among Data.
- A DBMS has the capability to represent a variety of complex
relationships among the data as well as to retrieve and update
related data easily and efficiently.

8. Enforcing Integrity Constraints.


Eg:1. Constraint on Data item value.
2. Uniqueness of data.
3. Relation ship between records of two or more file.
9. Permitting Inferencing and Actions Using Rules
Provides capabilities for defining deduction rules for
inferencing new information from the stored database
facts( deductive database systems).
Eg: Triggers
Stored procedures
Active database systems
10. Additional Implications of Using the Database Approach

•Potential for enforcing standards:


􀂄 DBA is responsible
Standards refer to data item names, display formats, screens,
report structures, meta-data (description of data),Web page layouts,
etc.

• Reduced application development time:


􀂄 Time to add each new application is reduced.
 Flexibility to change data structures:
Database structure may evolve as new requirements are defined.

 Availability of up-to-date information:


Extremely important for on-line transaction systems such as airline, hotel,
car reservations.

 Economies of scale:
Wasteful overlap between activities of data processing personnel in
different projects in different departments can be avoided by consolidating
data and applications across departments.
Early Database Applications Using Hierarchical and Network
Systems:

•Early DB applications: maintained RECORDs


•Main problem: intermixing of conceptual relationships with physical storage
and placement of records on disk.
Eg: Storing grade record of student near student record.
•Another shortcoming: provided only programming language interface.

The Hierarchical and Network Models were introduced in mid 1960s and
continuing through the 1970s and 1980s.
Relational Model based Systems
• Relational databases were originally proposed to separate physical storage
of data from its conceptual representation and provide mathematical
foundation for content storage

• Relational data model introduced high level query language that provided
alternate to programming language interfaces(lot quicker)

• Experimental Relational systems developed in late 1970s,

• Commercial Relational DBMS Products emerged in the early 1980s.

• Now exist on almost all types of computers.


Object-oriented and emerging applications
•Oop languages led development of OODBMSs
• Object-Oriented Database Management Systems (OODBMSs) were
introduced in late 1980s.
• Complex and lack of early standard.
• Mainly used in specialized applications(engineering design, multimedia
publishing and manufacturing systems)
• Many relational DBMSs have incorporated object database concepts, leading
to a new category called object-relational DBMSs (ORDBMSs)
Interchanging Data on the Web and E-commerce

*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).

* Script programming languages such as JavaScript allow generation of dynamic


Web pages that are partially generated from a database.

* Also allow database updates through Web pages.


• Scientific Applications: To store large amounts of data

• Storage and retrieval of images: news, personal photographs, satellite


photograph images and images from medical procedures

•Storage and retrieval of videos: movies, news video clips

• Data Mining applications: Analysis of large amounts of data searching for the
occurrences of specific patterns or relationships

• Spatial applications: maps, weather information (GIS)

•Time Series applications: to store economic data at regular points in time


•Basic relational model systems were not suitable for many of the above
applications because of following reasons

• More complex data structures were needed


• New data types were needed
• New operations and query language constructs were necessary to
manipulate the new data types
• New storage and indexing structures were needed
The Overhead costs of using DBMS are due to:
• High initial investment in hardware ,software and training
• The generality that a DBMS provides for defining and processing the data.
• Overhead for providing security ,concurrency control, recovery, and integrity
functions.

When a DBMS may be unnecessary:


( or when it is desirable to use regular files)
If the database and applications are simple, well defined, and not expected to
change.
• If there are real-time requirements for programs that may not be met
because of DBMS overhead.
• If access to data by multiple users is not required.

You might also like