Database
management system
(BCS403)
Module 1 :
Chapter 1 : INTRODUCTION TO
DATABASES
Outline :
Introduction.
Characteristics of Database.
Advantages of using the DBMS.
History of database applications.
Sample DBMS Process
1.1 Basic Definitions
• Database: A database is an organized collection of structured
information, or data.
• Data: Known facts that can be recorded and have an implicit meaning.
• Mini-world: Some part of the real world about which data is stored in a
database. For example, student grades and transcripts at a university.
• Database Management System (DBMS): A software package/ system
to facilitate the creation and maintenance of a computerized database.
• Database System: The DBMS software together with the data itself.
Sometimes, the applications are also included.
Sample database:
Properties of
Databases
• Represent some aspect of the real
world
• Data is logically coherent and has some
meaning
• Designed, built and populated for a
specific reason
• Built with a target group of users and
particular applications in mind
DBMS : Database Management System
• DBMS – is a collection of programs that enables user to create and
maintain a database.
• It is a general-purpose software system that provides the process of
defining, constructing, manipulating, and sharing databases
among different users and applications.
• Define a database : in terms of data types, structures and
constraints
• Construct or Load the Database on a secondary storage
medium
• Manipulating the database :
Functionality • Retrieval: Querying, generating reports
of DBMS : • Modification: Insertions, deletions and updates to its
content
• Accessing the database through Web applications
• Concurrent Processing and Sharing by a set of users and
programs – yet, keeping all data valid and consistent
• Other features:
• Protection or Security measures to prevent unauthorized
access
• “Active” processing to take internal actions on data
• Presentation and Visualization of data
Simplified
database
system
environment
Database design - SDLC
Example of a Database :
(with a Conceptual Data Model)
• Mini-world for the example:
• Part of a UNIVERSITY environment.
• Some mini-world entities:
• STUDENTs
• COURSEs
• SECTIONs (of COURSEs)
• (academic) DEPARTMENTs
• INSTRUCTORs
Example of a Database :
(with a Conceptual Data Model)
• Some mini-world relationships:
• SECTIONs are of specific COURSEs
• STUDENTs take SECTIONs
• COURSEs have prerequisite COURSEs
• INSTRUCTORs teach SECTIONs
• COURSEs are offered by DEPARTMENTs
• STUDENTs major in DEPARTMENTs
• Note: The above entities and relationships are typically expressed in a conceptual
data model, such as the ENTITY-RELATIONSHIP data model (see Chapters 3, 4)
Sample Database Cretaion:
1. Creating Database – University
CREATE DATABASE university;
2. Creating Table - student
CREATE TABLE student (
Name VARCHAR(50),
student_number INT PRIMARY KEY,
Class INT,
Major VARCHAR(100)
);
3. Inserting Value into Table
INSERT INTO student (Name,student_number,Class,Major) VALUES (‘Shobha’,97,1,’ISE’);
Example of
a simple
database
1. Defining a UNIVERSITY database
➢ Specify the structure of the records of each file - data elements to be stored in each
record.
➢ Example : STUDENT – Student Name, number, class, major.
2. Constructing the UNIVERSITY database
➢ store data for each file to represent as record.
➢ Each record from the different files are related.
➢ Example : The record for smith in the student file is related to two records in the
Grade_report file.
3. Manipulating a UNIVERSITY database
➢ Database manipulation involves querying and updating.
➢ Example : Retrieve the course_number for each course name, change the class of
smith to ‘2’.
4. Sharing Data to users
➢ Information is available for users to access.
1.2 Characteristics of DBMS :
There are 4 main characteristics of DBMS:
1) Self-describing nature of a database system.
2) Insulation between programs and data, and data abstraction.
3) Support of multiple views of the data.
4) Sharing of data and multi-user transaction processing.
1) Self-describing nature of a database system:
• 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.
2) Insulation between programs and data, and data abstraction:
• Program-data independence → Allows changing data structures and storage organization
without having to change the DBMS access programs.
• Program-operation independence →
➢ Here an operation consists of 2 parts.
➢ Interface : includes operation name and datatype of its arguments.
➢ Implementation : includes methods that can be changed without affecting the interface.
• Data abstraction →
➢ 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.
Example of
a simplified
database
catalog
3. Support of multiple views of the data:
• Each user may see a different view of the database, which describes only the data
of interest to that user.
4. Sharing of data and multi-user transaction processing:
• Allowing a set of concurrent users to retrieve from and to update the
database.
• Concurrency control within the DBMS guarantees that each transaction is
correctly executed or aborted
• Recovery subsystem ensures each completed transaction has its effect
permanently recorded in the database
• OLTP (Online Transaction Processing) is a major part of database
applications. This allows hundreds of concurrent transactions to execute
per second.
Database Users :
• Users may be divided into
1. Actors on the Scene : Those who actually use and control the
database content, and those who design, develop and maintain
database applications.
2. Workers Behind the Scene : Those who design and develop the
DBMS software and related tools, and the computer systems
operators.
1. Actors on the scene
i. Database administrators: (DBA)
• Responsible for authorizing access to the database,
• coordinating and monitoring its use,
• acquiring software and hardware resources.
ii. 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.
iii. End-users:
• They access the database for querying, updating and report generation.
• Categories of End-users.
• Casual end users.
• Naïve/Parametric end users.
• Sophisticated end users.
• Stand-alone users.
Categories of End-users.
➢ Casual :
• Access database occasionally when needed
➢ Naïve or Parametric :
• They have biggest group of users.
• Canned transactions : frequently query/update the database using this.
• Example : bank-tellers or reservation clerks who do this activity for an
entire shift of operations.
➢ Sophisticated end users:
• 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.
➢ Stand-alone users:
• Maintain personal databases using ready-to-use packaged applications.
• Example: a tax program user that creates his or her own internal
database.
iv. System Analysts and Application Programmers(Software Engineers):
• System Analysts: determine needs of end users, especially naive and parametric
users, and develop specifications for canned transactions that meet these needs.
• Application Programmers: Implement, test, document, and maintain programs that
satisfy the specifications mentioned above.
2. Workers behind the Scene
i. DBMS System designers and implementers :
Software package : design and implement the DBMS moules and interfaces as a
software package.
ii. Tool developers : design and implement tools that facilitate database modeling and
design, DBMS design, improved performance.
iii. Operators and maintenance personnel : responsible for the actual running and
maintenance of the hardware and software environment for the database system.
1.3 Advantages of using the DBMS Approach
1. Controlling redundancy :
• Data Normalization : different group of users are integrated during database design.
• It ensures consistency and saves storage space.
• Required to use controlled redundancy to improve the performance of queries.
2. Restricted Unauthorized Access :
• DBMS should provide a security and authorization subsystem.
3. Providing persistent storage for program Objects.
4. Providing Storage Structures and Search Techniques for
efficient Query Processing.
5. Providing backup and recovery services.
6. Providing multiple interfaces to different classes of users.
• Query languages for casual users
• Programming language interfaces for application programmers
• Forms and command codes for parametric users
• Menu-driven interfaces and natural language interfaces for standalone users.
7. Representing complex relationships among data.
8. Enforcing integrity constraints on the database.
• Primary key Constraint, Referential integrity constraint, Uniqueness constraint.
9. Permitting Inferencing and Actions Using Rules.
• Deductive database system, Active database system.
10. Additional Implications of Using the Database Approach
• Potential for enforcing standards: this is very crucial for the success of database
applications in large organizations Standards refer to data item names, display formats,
screens, report structures, meta-data (description of data) etc.
• Reduced application development time: incremental 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: – very important for on-line transaction systems
such as airline, hotel, car reservations.
• Economies of scale: by consolidating data and applications across departments
wasteful overlap of resources and personnel can be avoided.
1.4 History of Database Applications
• Early Database Applications using Hierarchical and Network Systems:
• The Hierarchical and Network Models were introduced in mid 1960s and
dominated during the seventies.
• A bulk of the worldwide database processing still occurs using these models,
particularly, the hierarchical model.
• Providing Data Abstraction and Application Flexibility with Relational
Model based Systems:
• Relational model was originally introduced in 1970, was heavily researched and
experimented within IBM Research and several universities.
• Relational DBMS Products emerged in the early 1980s.
• Object-oriented Applications and the Need for More Complex
Databases:
• Object-Oriented Database Management Systems (OODBMSs) were introduced in late
1980s and early 1990s to cater to the need of complex data processing in CAD and other
applications.
• Many relational DBMSs have incorporated object database concepts, leading to a new
category called object-relational DBMSs (ORDBMSs)
• Extended relational systems add further capabilities (e.g. for multimedia data, XML, and
other data types)
• Interchanging Data on the Web for E-commerce Using XML:
• 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 PHP and JavaScript allow generation of
dynamic Web pages that are partially generated from a database.
• Extending Database Capabilities for New Applications:
• New functionality is being added to DBMSs in the following areas:
• Scientific Applications
• XML (eXtensible Markup Language)
• Image Storage and Management
• Audio and Video Data Management
• Data Warehousing and Data Mining
• Spatial Data Management
• Time Series and Historical Data Management
DBMS Process
Some of Top Databases to Use in 2021