SlideShare a Scribd company logo
1 of 103
DATABASE MANAGEMENT SYSTEM
18CS53
Shwetha C H, Dept of CSE, VCET, Puttur
1. Fundamentals of Database Systems, Ramez Elmasri and Shamkant B. Navathe, 7th
Edition, 2017, Pearson.
2. Database management systems, Ramakrishnan, and Gehrke, 3rd Edition,
2014,McGraw Hill
Shwetha C H, Dept of CSE, VCET, Puttur
COURSE LEARNING OBJECTIVES:
 Provide a strong foundation in database concepts, technology, and practice.
 Practice SQL programming through a variety of database problems.
 Demonstrate the use of concurrency and transactions in database
 Design and build database applications for real world problems.
Shwetha C H, Dept of CSE, VCET, Puttur
Module – 1
Introduction to Databases: Introduction, Characteristics of database approach, Advantages of
using the DBMS approach, History of database applications.
Overview of Database Languages and Architectures: Data Models, Schemas and Instances.
Three schema architecture and data independence, database languages, and interfaces, The
Database System environment.
Conceptual Data Modelling using Entities and Relationships: Entity types, Entity sets,
attributes, roles, and structural constraints, Weak entity types, ER diagrams, examples,
Specialization and Generalization.
Module – 2
Relational Model, Mapping Conceptual Design into a Logical Design
Shwetha C H, Dept of CSE, VCET, Puttur
Module – 3
SQL : Queries, Database Application Development
Module – 4
Normalization: Database Design Theory
Module – 5
Transaction Processing, Concurrency Control in Databases, Introduction to
Database Recovery Protocols
Shwetha C H, Dept of CSE, VCET, Puttur
 Identify, define and analyze database objects, enforce integrity constraints
on a database using RDBMS.
 Write relational algebra expressions for queries and apply Structured Query
Language (SQL) for database manipulation.
 Demonstrate the use of Normalization, concurrency and transactions in
database.
 Design and build database systems and GUI application to interact with
databases for real world problems.
Shwetha C H, Dept of CSE, VCET, Puttur
Introduction to Databases:
 Introduction
 Characteristics of database approach
 Advantages of using the DBMS approach
 History of database applications
Shwetha C H, Dept of CSE, VCET, Puttur
Introduction
 A database is a collection of related data.
 A data mean known facts that can be recorded and that have implicit meaning.
 Several activities every day that involve some interaction with a database.
 Bank to deposit or withdraw funds
 Hotel or Bus, Airline reservation
 Computerized library
 Purchase something online—such as a book, toy, or computer
Shwetha C H, Dept of CSE, VCET, Puttur
A DBMS is a software that allows user to create and maintain database
Shwetha C H, Dept of CSE, VCET, Puttur
 The information that is stored and accessed is either textual or numeric.
 Huge databases that store nontraditional data, such as images, audio
clips and video clips.
 A database represents some aspect of the real world, sometimes called the
miniworld.
 Changes to the mini world are reflected in the database.
Shwetha C H, Dept of CSE, VCET, Puttur
Other properties:
A database can be of any size and complexity.
 For example, the list of names and addresses referred to earlier may consist of only a
few hundred records, each with a simple structure.
 An example of a large commercial database is Amazon.com.
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.
Shwetha C H, Dept of CSE, VCET, Puttur
 The DBMS is a general-purpose software system that facilitates the
processes of defining, constructing, manipulating, and sharing
databases among various users and applications.
 Defining a database involves specifying the data types, structures,
and constraints of the data to be stored in the database.
 The database definition or descriptive information is also stored by the
DBMS in the form of a database catalog or dictionary; it is called
meta-data
Shwetha C H, Dept of CSE, VCET, Puttur
 Constructing the database is the process of storing the data on some
storage medium that is controlled by the DBMS.
 Manipulating a database includes functions such as querying the
database to retrieve specific data, updating the database to reflect
changes in the miniworld, and generating reports from the data.
 Sharing a database allows multiple users and programs to access the
database simultaneously.
Shwetha C H, Dept of CSE, VCET, Puttur
 An application program accesses the database by sending queries or requests for data
to the DBMS.
 A query typically causes some data to be retrieved; a transaction may cause some data
to be read and some data to be written into the database.
Other important functions provided by the DBMS include protecting 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.
 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.
 Database and DBMS software together a Database system.
Shwetha C H, Dept of CSE, VCET, Puttur
A SIMPLIFIED DATABASE SYSTEM ENVIRONMENT
Shwetha C H, Dept of CSE, VCET, Puttur
 An Example UNIVERSITY database for maintaining information concerning
students, courses, and grades in a university.
 The database is organized as five files
Shwetha C H, Dept of CSE, VCET, Puttur
 To define this database, we must specify the different types of data elements to be
stored in each record.
Ex: string of alphabetic characters, integer
 To construct the UNIVERSITY database, we store data to represent each student,
course, section, grade report, and prerequisite as a record in the appropriate file.
 Database manipulation involves querying and updating. Examples of queries are as
follows:
■ Retrieve a list of all courses and grades—of ‘Smith’
■ List the prerequisites of the ‘Database’ course
Examples of updates include the following:
■ Change the major of ‘Smith’ to sophomore
■ Create a new section for the ‘Database’ course for this semester
■ Enter a grade of ‘A’ for ‘Smith’ in the ‘Database’ section of last semester
Shwetha C H, Dept of CSE, VCET, Puttur
 Traditional file processing: writing programs to access data stored in files.
 Each user defines and implements the files needed for a specific software application as part of the
program.
 Redundancy in defining and storing data results in wasted storage space and in redundant efforts to
maintain
 In the database approach, a single repository maintains data that is defined once and then accessed by
various users.
Shwetha C H, Dept of CSE, VCET, Puttur
The main characteristics of the database approach
versus the file-processing approach are the following:
■ Self-describing nature of a database system
■ Insulation between programs and data, and
data abstraction
■ Support of multiple views of the data
■ Sharing of data and multiuser transaction processing
Shwetha C H, Dept of CSE, VCET, Puttur
 The database system contains not only the database itself but also a
complete definition or description of the database structure and constraints.
 This definition is stored in the DBMS catalog, which contains information
such as the structure of each file, the type and various constraints on the
data.
 The information stored in the catalog is called meta-data, and it describes the
structure of the primary database.
 Whenever a request is made to access, say, the Name of a STUDENT record,
the DBMS software refers to the catalog to determine the structure of the
STUDENT file and the position and size of the Name data item within a
STUDENT record
Shwetha C H, Dept of CSE, VCET, Puttur
Traditional file processing
 In traditional file processing, data definition is typically part of the application
programs themselves. Hence, these programs are constrained to work with
only one specific database, whose structure is declared in the application
programs.
 In a typical file-processing application, the file structure and, in the extreme
case, the exact location of Name within a STUDENT record are already coded
within each program that accesses this data item
Shwetha C H, Dept of CSE, VCET, Puttur
#include <stdio.h>
int main()
{
int snum , i;
char sname[20];
FILE *fptr;
fptr = fopen("C:student.txt" ,"w");
for (i=0;i<10;i++)
{
printf("Enter student num , name ");
scanf("%d %s",&snum,sname);
fprintf(fptr,"%d %s",snum,sname);
}
fclose(fptr);
return 0;
}
 In traditional file processing, the structure of data files is embedded in the
application programs, so any changes to the structure of a file may require
changing all programs that access that file.
 For example, a file access program may be written in such a way that it can
access only STUDENT records of the structure,If we want to add another
piece of data to each STUDENT record, say the Birth_date, such a program
will no longer work and must be changed
Shwetha C H, Dept of CSE, VCET, Puttur
 By contrast, DBMS access programs do not require such changes in most
cases. The structure of data files is stored in the DBMS catalog separately
from the access programs.
 We call this property program-data independence.
 For example, in a DBMS environment, we only need to change the
description of STUDENT records in the catalog to reflect the inclusion of
the new data item Birth_date; no programs are changed.
 The next time a DBMS program refers to the catalog, the new structure of
STUDENT records will be accessed and used
Shwetha C H, Dept of CSE, VCET, Puttur
 A database typically has many types of users, each of whom may
require a different view of the database.
 A view may be a subset of the database.
 A multiuser DBMS whose users have a variety of distinct
applications must provide multiple views.
 A multiuser DBMS, as its name implies,
must allow multiple users to access the
database at the same time.
 The DBMS must ensure that several
users trying to update the same data do
so in a controlled manner so that the
result of the updates is correct.
 These types of applications are generally
called on-line transaction processing
(OLTP) applications.
 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”)
 people whose jobs involve the day-to-day use of a large
database;
 Those who design and develop the DBMS software and
related tools, and the computer systems operators (called
“Workers Behind the Scene”).
 People who work to maintain the database system
environment but who are not actively interested in the
database contents.
1. Database Administrators
2. Database Designers
3. End Users
4. System Analysts and Application Programmers (Software
Engineers)
 Database Administrators The DBA is responsible for authorizing access to the
database, coordinating and monitoring its use, and acquiring software and
hardware resources as needed.
 Database Designers It is the responsibility of database designers to communicate with all
prospective database users in order to understand their requirements and to create a design that
meets these requirements.
End Users: They are the people whose jobs require access to the database for querying,
updating, and generating reports.
There are several categories of end users:
 Casual end users
 Naive or parametric end users
 Sophisticated end users
 Standalone users
 Casual end users occasionally access the database, but they may need different
information each time.
 middle- or high-level managers or other occasional browsers.
 Naive or parametric end users Their main job function revolves around
constantly querying and updating the database.
 use standard types of queries and updates called canned transactions
 Bank customers and tellers check account balances and post withdrawals and
deposits.
 Reservation agents or customers for airlines, hotels, and car rental companies
check availability for a given request and make reservations.
Sophisticated end users include engineers, scientists, business analysts, and others
 They are thoroughly familiar with the facilities of the DBMS in order to implement their own
applications to meet their complex requirements.
Standalone users maintain personal databases by using ready-made program packages that
provide easy-to-use menu-based or graphics-based interfaces.
 These users will have stand –alone database for their personal use.
 An example is a tax program user that creates his or her own internal database.
System Analysts and Application Programmers (Software Engineers)
 System Analysts determine the requirements of end users, develop specification that meet
these requirements.
 Application programmers implement these specifications as programs; then they test, debug,
document, and maintain these canned transactions.
Ex: Software developers or software engineers
 They are associated with the design, development, and operation of the DBMS software and
system environment.
 These persons are typically not interested in the database content itself.
 DBMS system designers and implementers
 Tool developers
 Operators and maintenance personnel
DBMS system designers and implementers design and implement the DBMS modules
and interfaces as a software package.
Tool developers design and implement tools
 Tools are optional packages that are often purchased separately.
 They include packages for performance monitoring, natural language or graphical
interfaces and test data generation.
Operators and maintenance personnel are responsible for the actual running and
maintenance of the hardware and software environment for the database system.
1. Controlling Redundancy
 In traditional file processing, every user group maintains its own files for handling its data-
processing applications.
 This redundancy in storing the same data multiple times leads to several problems.
 First, there is the need to perform a single logical update multiple times.
 Second, storage space is wasted when the same data is stored repeatedly.
 Third, files that represent the same data may become inconsistent. This may happen because an
update is applied to some of the files but not to others.
 In the database approach, each logical data item—such as a student’s name or birth date—in
only one place in the database.
 This is known as data normalization, and it ensures consistency and saves storage space
2.Restricting Unauthorized Access
 When multiple users share a large database, only authorized persons are allowed to access
data.
 The type of access operation—retrieval or update—must also be controlled.
 A DBMS should provide a security and authorization subsystem, which the DBA uses to
create accounts and to specify account restrictions. Then, the DBMS should enforce these
restrictions automatically.
3.Providing Persistent Storage for Program Objects
 Object-oriented database systems are compatible with programming languages such as C++
and Java (ONTOS, ObjectStore, and O2)
 An object in C++ can be stored permanently in an object-oriented DBMS.
 Such an object is said to be persistent, since it survives the termination of program
execution and can later be directly retrieved by another program.
4.Providing Storage Structures and Search Techniques for Efficient Query Processing
 The database is typically stored on disk.
 The DBMS must provide specialized data structures and search techniques to speed up disk
search for the desired records.
 DBMS often has a buffering that maintains parts of the database in main memory buffers.
5. Providing Backup and Recovery
A DBMS must provide facilities for recovering from hardware or software failures.
The backup and recovery subsystem of the DBMS is responsible for recovery.
 For example, if the computer system fails in the middle of a complex update transaction, the
recovery subsystem is responsible for making sure that the database is restored to the state it
was in before the transaction started executing.
6 Providing Multiple User Interfaces
 Apps for mobile users,
 Query languages for casual users,
 Programming language interfaces for application programmers,
 Forms for parametric users,
 Menu-driven interfaces for standalone users.
7 Representing Complex Relationships among Data
 A database may include data that are interrelated in many ways.
 A DBMS must have the capability
 to represent a variety of complex relationships among the data,
 to define new relationships as they arise, and
 to retrieve and update related data easily and efficiently.
8 Enforcing Integrity Constraints
 Most database applications have certain integrity constraints that must hold for the data.
 A DBMS should provide capabilities for defining and enforcing these constraints.
 Example:
 The Class data item within each STUDENT record must be a one-digit integer.
9 Permitting Inferencing and Actions Using Rules and Triggers
 Database systems support defining deduction rules for inferencing new information
from the stored database facts. Such systems are called deductive database
systems.
 In relational database systems, it is possible to associate triggers with tables.
 A trigger is a form of a rule activated by updates to the table, which results in
performing some additional operations to some other tables, sending messages, and
so on.
DBMS may involve overhead costs that would not be incurred in traditional file processing.
The overhead costs of using a DBMS are due to the following:
■ High initial investment in hardware, software, and training
■ The generality that a DBMS provides for defining and processing data
■ Overhead for providing security, concurrency control, recovery, and integrity functions
 Therefore, it may be more desirable to develop customized database applications
under the following circumstances:
■ Simple, well-defined database applications that are not expected to change at all
■ embedded systems with limited storage capacity where DBMS would not fit
■ No multiple-user access to data
 Data Models, Schemas, and Instances.
 Three schema architecture and data independence,
 Database languages, and interfaces,
 The Database System environment
 A data model—a collection of concepts that can be used to describe the structure of a
database.
 data types, relationships, and constraints.
 basic operations for specifying retrievals and updates on the database.
 The description of a database is called the database schema.
 Schema Diagram: A diagrammatic display of (some aspects of) a database schema.
Schema
Construct
 database state or snapshot.
 current set of occurrences or instances in the database.
 Distinction
 The database schema changes very infrequently.
 The database state changes every time the database is updated.
Database state or snapshot
 Empty state
 Initial state
 Current state
• Empty State with no
data.
• Initial State
• Current state
• Meta data – Data catalog
• Schema – Intension
• Database State - Extension
THREE-SCHEMAARCHITECTURE
AND DATA INDEPENDENCE
INTERNAL LEVEL
 It has an internal schema
 uses a physical data model
 the complete details of data storage
 access paths for the database.
 the physical storage structure of the database
CONCEPTUAL LEVEL
 the structure of the whole database
for a community of users.
 A representational data model is used.
 hides the details of physical storage structures
 concentrates on describing entities,
data types, relationships, user operations,
and constraints.
EXTERNAL OR VIEW LEVEL
 The external or view level includes a
number of external schemas or user views.
 Each external schema describes the part of
the database that a particular user group is
interested in and hides the rest of the database
from that user group.
 Implemented using a representational
data model.
 When we define a new database, we specify its database schema to the DBMS.
 In the three-schema architecture, each user group refers to its own external schema.
 the DBMS must transform a request specified on an external schema into a request against the
conceptual schema, and
 then into a request on the internal schema for processing over the stored database.
 The processes of transforming requests and results between levels are called mappings.
 The three-schema architecture supports the concept of data
independence,
 Data independence, which can be defined as the capacity to change the
schema at one level of a database system without having to change the
schema at the next higher level.
 We can define two types of data independence:
1. Logical data independence
2. Physical data independence
Logical data independence
 It is the capacity to change the conceptual schema without having to change
external schemas or application programs.
 The conceptual schema may be changed to expand the database (by adding a record type or
data item), to change constraints, or to reduce the database (by removing a record type or data
item).
 After the conceptual schema undergoes a logical reorganization, application programs that
reference the external schema constructs must work as before.
Physical data independence
 It is the capacity to change the internal schema without having to change the
conceptual schema.
 Hence, the external schemas need not be changed as well.
 only the mapping between the two levels is changed.
 Hence, application programs referring to the higher-level schema need not be changed.
 The variety of users supported by a DBMS.
 The DBMS must provide appropriate languages and interfaces for each category of users.
 View definition language (VDL)
 Data definition language (DDL)
 Storage definition language (SDL)
 Data Manipulation Language (DML)
 External schema
 Conceptual schema
 Internal schema
 Data Definition Language (DDL): to specify the conceptual schema of a database. In
many DBMSs, the DDL is also used to define internal and external schemas (views).
 In some DBMSs, separate storage definition language (SDL) and view definition
language (VDL) are used to define internal and external schemas.
 Data Manipulation Language (DML): Used to specify database retrievals and updates.
 In current DBMSs, an integrated language is used that includes constructs for storage
definition, conceptual schema definition, view definition, and data manipulation.
 Ex: SQL relational database language a combination of DDL, VDL, SDL and DML.
 The SDL has been removed from the SQL language.
There are two main types of DMLs.
 High-level or nonprocedural DML
 Low-level or procedural DML
High-level or nonprocedural DML
 Entered interactively from a display monitor or terminal or to be embedded in a general-
purpose programming language.
 Retrieve many records in a single DML statement; therefore, they are called set-at-a-time or
set-oriented DMLs.
Low-level or Procedural DML
 Must be embedded in a general-purpose programming language.
 This type of DML typically retrieves individual records from the database separately.
 Therefore, it needs to use programming language constructs, such as looping, to retrieve and
process each record from a set of records.
 Low-level DMLs are also called record-at-a-time DMLs
When DML commands, are embedded in a general-purpose programming language, that
language is called the host language and the DML is called the data sublanguage.
Menu-based Interfaces for Web Clients or Browsing.
 These interfaces present the user with lists of options (called menus)
 No need to memorize the specific commands and syntax of a query language;
 Apps for Mobile Devices.
 These interfaces present mobile users with access to their data.
 For example, banking, reservations, and insurance companies, among many others, provide
apps that allow users to access their data through a mobile phone or mobile device.
 Forms-based Interfaces. A forms-based interface
displays a form to each user.
 Users can fill out all of the form entries to insert
new data, or they can fill out only certain entries,
in which case the DBMS will retrieve matching
data for the remaining entries.
 Graphical User Interfaces. GUIs utilize both
menus and forms.
 Natural Language Interfaces. These interfaces accept requests
written in English or some other language and attempt to
understand them.
If the interpretation is successful, the interface generates a
high-level query and submits it to the DBMS for
processing;
otherwise, a dialogue is started with the user to clarify the
request.
Speech Input and Output.
 Allowing speech for input and output to information.
 Applications such as inquiries for telephone directory, flight
arrival/departure, and credit card account information.
 Conversion from text or numbers into speech takes place.
 A DBMS is a complex software system.
 The types of software components that constitute a DBMS and the types of computer system
software with which the DBMS interacts.
 DBMS Component Modules
 Database System Utilities
 Loading. A loading utility is used to load existing data files—such as text files
or sequential files—into the database.
 transferring data from one DBMS to another
 Backup. A backup utility creates a backup copy of the database
 Database storage reorganization. This utility can be used to reorganize a set
of database files into different file organizations and create new access paths
to improve performance.
 Performance monitoring. Such a utility monitors database usage and
provides statistics to the DBA. The DBA uses the statistics in making
decisions such as whether or not to reorganize files or whether to add or drop
indexes to improve performance.
 Centralized DBMSs Architecture
 Basic Client/Server Architectures
Two-Tier Client/Server Architectures for DBMSs
Three-Tier and n-Tier Architectures for Web Applications
Data model
 Main data model used in many current commercial DBMSs is the
relational data model,
 Object data model
 Many legacy database systems are based on the hierarchical and
network data models.
 Big data systems, also known NOSQL systems, use various
data models: document-based, graph-based, column-based,
and key-value data models.
 Number of users supported by the system.
Single-user systems support only one user at a time and are mostly used with
PCs.
Multiuser systems, which include the majority of DBMSs, support concurrent
multiple users.
Number of sites over which the database is distributed.
 A DBMS is centralized if the data is stored at a single computer site. A
centralized DBMS can support multiple users, but the DBMS and the
database reside totally at a single computer site.
 A distributed DBMS (DDBMS) can have the actual database and DBMS
software distributed over many sites connected by a computer network.
 Homogeneous DDBMSs use the same DBMS software at all the sites,
whereas heterogeneous DDBMSs can use different DBMS software
at each site.
 Federated DBMS (or multidatabase system)to access several
databases stored under heterogeneous DBMSs.
 DBMS can be general purpose or special purpose.
 A special-purpose DBMS can be designed and built for a specific
application; such a system cannot be used for other applications without
major changes.
 Many airline reservations and telephone directory systems developed in
the past are special-purpose DBMSs.
Introduction to Databases: Introduction, Characteristics
of database approach, Advantages of using the DBMS
approach, History of database applications.
Overview of Database Languages and Architectures:
Data Models, Schemas and Instances. Three schema
architecture and data independence, database languages,
and interfaces, The Database System environment.
Conceptual Data Modelling using Entities and
Relationships: Entity types, Entity sets, attributes, roles,
and structural constraints, Weak entity types, ER
diagrams, examples, Specialization and Generalization.
Textbook 1:Ch 1.1 to 1.8, 2.1 to 2.6, 3.1 to 3.10
 Using High-Level Conceptual Data Models for Database Design
 The database design process.
 Requirements collection and analysis. During this step, the database designers interview
prospective database users to understand and document their data requirements.
 functional requirements of the application. These consist of the user defined operations (or
transactions) that will be applied to the database, including both retrievals and updates.
 create a conceptual schema for the database, using a high-level conceptual data model. This
step is called conceptual design. these are expressed using the concepts provided by the high-
level data model.
 During or after the conceptual schema design, the basic data model operations can be used to
specify the high-level user queries and operations identified during functional analysis.
 A sample database application, called COMPANY, which serves to illustrate the
basic ER model concepts and their use in schema design.
 list the data requirements for the database here, and then create its conceptual
schema using concepts of the ER model.
 The COMPANY database keeps track of a company’s employees, departments,
and projects.
 Suppose that after the requirements collection and analysis phase, the database designers
provide the following description of the miniworld—the part of the company that will be
represented in the database.
 The company is organized into departments. Each department has a unique
name, a unique number, and a particular employee who manages the
department. We keep track of the start date when that employee began
managing the department. A department may have several locations.
 A department controls a number of projects, each of which has a unique name, a
unique number, and a single location.
 The database will store each employee’s name, Social Security number, address,
salary, sex (gender), and birth date.
 An employee is assigned to one department, but may work on several projects,
which are not necessarily controlled by the same department. It is required to
keep track of the current number of hours per week that an employee works on
each project, as well as the direct supervisor of each employee (who is another
employee).
 The database will keep track of the dependents of each employee for insurance purposes,
including each dependent’s first name, sex, birth date, and relationship to the employee.

More Related Content

Similar to Introduction to DBMS.pptx

Ch-1-Introduction-to-Database.pdf
Ch-1-Introduction-to-Database.pdfCh-1-Introduction-to-Database.pdf
Ch-1-Introduction-to-Database.pdfMrjJoker1
 
Introduction to Databases and Transactions
Introduction to Databases and TransactionsIntroduction to Databases and Transactions
Introduction to Databases and Transactionsنبيله نواز
 
Chapter 1 - testing
Chapter 1 - testing Chapter 1 - testing
Chapter 1 - testing jlope438
 
Mca ii-dbms- u-i-introductory concepts of dbms
Mca ii-dbms- u-i-introductory concepts of dbmsMca ii-dbms- u-i-introductory concepts of dbms
Mca ii-dbms- u-i-introductory concepts of dbmsRai University
 
File system vs database
File system vs databaseFile system vs database
File system vs databaseSanthiNivas
 
Bsc cs ii-dbms- u-i-database systems
Bsc cs ii-dbms- u-i-database systemsBsc cs ii-dbms- u-i-database systems
Bsc cs ii-dbms- u-i-database systemsRai University
 
Advanced Database Management System_Introduction Slide.ppt
Advanced Database Management System_Introduction Slide.pptAdvanced Database Management System_Introduction Slide.ppt
Advanced Database Management System_Introduction Slide.pptBikalAdhikari4
 
database concepts pdf :BEMIT
database concepts pdf :BEMITdatabase concepts pdf :BEMIT
database concepts pdf :BEMITUsman Mchinja
 
database introductoin optimization1-app6891.pdf
database introductoin optimization1-app6891.pdfdatabase introductoin optimization1-app6891.pdf
database introductoin optimization1-app6891.pdfparveen204931475
 
Introduction to Database
Introduction to DatabaseIntroduction to Database
Introduction to DatabaseSiti Ismail
 
Database Management System, Lecture-1
Database Management System, Lecture-1Database Management System, Lecture-1
Database Management System, Lecture-1Sonia Mim
 

Similar to Introduction to DBMS.pptx (20)

Ch-1-Introduction-to-Database.pdf
Ch-1-Introduction-to-Database.pdfCh-1-Introduction-to-Database.pdf
Ch-1-Introduction-to-Database.pdf
 
Introduction to Databases and Transactions
Introduction to Databases and TransactionsIntroduction to Databases and Transactions
Introduction to Databases and Transactions
 
Module-1.pptx
Module-1.pptxModule-1.pptx
Module-1.pptx
 
Chapter 1 - testing
Chapter 1 - testing Chapter 1 - testing
Chapter 1 - testing
 
Mca ii-dbms- u-i-introductory concepts of dbms
Mca ii-dbms- u-i-introductory concepts of dbmsMca ii-dbms- u-i-introductory concepts of dbms
Mca ii-dbms- u-i-introductory concepts of dbms
 
File system vs database
File system vs databaseFile system vs database
File system vs database
 
Bsc cs ii-dbms- u-i-database systems
Bsc cs ii-dbms- u-i-database systemsBsc cs ii-dbms- u-i-database systems
Bsc cs ii-dbms- u-i-database systems
 
Advanced Database Management System_Introduction Slide.ppt
Advanced Database Management System_Introduction Slide.pptAdvanced Database Management System_Introduction Slide.ppt
Advanced Database Management System_Introduction Slide.ppt
 
database concepts pdf :BEMIT
database concepts pdf :BEMITdatabase concepts pdf :BEMIT
database concepts pdf :BEMIT
 
database introductoin optimization1-app6891.pdf
database introductoin optimization1-app6891.pdfdatabase introductoin optimization1-app6891.pdf
database introductoin optimization1-app6891.pdf
 
Introduction to Database
Introduction to DatabaseIntroduction to Database
Introduction to Database
 
Chapter01
Chapter01Chapter01
Chapter01
 
Ena ch01
Ena ch01Ena ch01
Ena ch01
 
Ena ch01
Ena ch01Ena ch01
Ena ch01
 
DBMS - Introduction
DBMS - IntroductionDBMS - Introduction
DBMS - Introduction
 
En ch01
En ch01En ch01
En ch01
 
DBMS_UNIT_1.pdf
DBMS_UNIT_1.pdfDBMS_UNIT_1.pdf
DBMS_UNIT_1.pdf
 
Dbms notes
Dbms notesDbms notes
Dbms notes
 
Dbms unit01
Dbms unit01Dbms unit01
Dbms unit01
 
Database Management System, Lecture-1
Database Management System, Lecture-1Database Management System, Lecture-1
Database Management System, Lecture-1
 

Recently uploaded

Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 

Recently uploaded (20)

Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 

Introduction to DBMS.pptx

  • 1. DATABASE MANAGEMENT SYSTEM 18CS53 Shwetha C H, Dept of CSE, VCET, Puttur
  • 2. 1. Fundamentals of Database Systems, Ramez Elmasri and Shamkant B. Navathe, 7th Edition, 2017, Pearson. 2. Database management systems, Ramakrishnan, and Gehrke, 3rd Edition, 2014,McGraw Hill Shwetha C H, Dept of CSE, VCET, Puttur
  • 3. COURSE LEARNING OBJECTIVES:  Provide a strong foundation in database concepts, technology, and practice.  Practice SQL programming through a variety of database problems.  Demonstrate the use of concurrency and transactions in database  Design and build database applications for real world problems. Shwetha C H, Dept of CSE, VCET, Puttur
  • 4. Module – 1 Introduction to Databases: Introduction, Characteristics of database approach, Advantages of using the DBMS approach, History of database applications. Overview of Database Languages and Architectures: Data Models, Schemas and Instances. Three schema architecture and data independence, database languages, and interfaces, The Database System environment. Conceptual Data Modelling using Entities and Relationships: Entity types, Entity sets, attributes, roles, and structural constraints, Weak entity types, ER diagrams, examples, Specialization and Generalization. Module – 2 Relational Model, Mapping Conceptual Design into a Logical Design Shwetha C H, Dept of CSE, VCET, Puttur
  • 5. Module – 3 SQL : Queries, Database Application Development Module – 4 Normalization: Database Design Theory Module – 5 Transaction Processing, Concurrency Control in Databases, Introduction to Database Recovery Protocols Shwetha C H, Dept of CSE, VCET, Puttur
  • 6.  Identify, define and analyze database objects, enforce integrity constraints on a database using RDBMS.  Write relational algebra expressions for queries and apply Structured Query Language (SQL) for database manipulation.  Demonstrate the use of Normalization, concurrency and transactions in database.  Design and build database systems and GUI application to interact with databases for real world problems. Shwetha C H, Dept of CSE, VCET, Puttur
  • 7. Introduction to Databases:  Introduction  Characteristics of database approach  Advantages of using the DBMS approach  History of database applications Shwetha C H, Dept of CSE, VCET, Puttur
  • 8. Introduction  A database is a collection of related data.  A data mean known facts that can be recorded and that have implicit meaning.  Several activities every day that involve some interaction with a database.  Bank to deposit or withdraw funds  Hotel or Bus, Airline reservation  Computerized library  Purchase something online—such as a book, toy, or computer Shwetha C H, Dept of CSE, VCET, Puttur
  • 9. A DBMS is a software that allows user to create and maintain database Shwetha C H, Dept of CSE, VCET, Puttur
  • 10.  The information that is stored and accessed is either textual or numeric.  Huge databases that store nontraditional data, such as images, audio clips and video clips.  A database represents some aspect of the real world, sometimes called the miniworld.  Changes to the mini world are reflected in the database. Shwetha C H, Dept of CSE, VCET, Puttur
  • 11. Other properties: A database can be of any size and complexity.  For example, the list of names and addresses referred to earlier may consist of only a few hundred records, each with a simple structure.  An example of a large commercial database is Amazon.com. 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. Shwetha C H, Dept of CSE, VCET, Puttur
  • 12.
  • 13.  The DBMS is a general-purpose software system that facilitates the processes of defining, constructing, manipulating, and sharing databases among various users and applications.  Defining a database involves specifying the data types, structures, and constraints of the data to be stored in the database.  The database definition or descriptive information is also stored by the DBMS in the form of a database catalog or dictionary; it is called meta-data Shwetha C H, Dept of CSE, VCET, Puttur
  • 14.  Constructing the database is the process of storing the data on some storage medium that is controlled by the DBMS.  Manipulating a database includes functions such as querying the database to retrieve specific data, updating the database to reflect changes in the miniworld, and generating reports from the data.  Sharing a database allows multiple users and programs to access the database simultaneously. Shwetha C H, Dept of CSE, VCET, Puttur
  • 15.  An application program accesses the database by sending queries or requests for data to the DBMS.  A query typically causes some data to be retrieved; a transaction may cause some data to be read and some data to be written into the database. Other important functions provided by the DBMS include protecting 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.  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.  Database and DBMS software together a Database system. Shwetha C H, Dept of CSE, VCET, Puttur
  • 16. A SIMPLIFIED DATABASE SYSTEM ENVIRONMENT Shwetha C H, Dept of CSE, VCET, Puttur
  • 17.  An Example UNIVERSITY database for maintaining information concerning students, courses, and grades in a university.  The database is organized as five files Shwetha C H, Dept of CSE, VCET, Puttur
  • 18.  To define this database, we must specify the different types of data elements to be stored in each record. Ex: string of alphabetic characters, integer  To construct the UNIVERSITY database, we store data to represent each student, course, section, grade report, and prerequisite as a record in the appropriate file.  Database manipulation involves querying and updating. Examples of queries are as follows: ■ Retrieve a list of all courses and grades—of ‘Smith’ ■ List the prerequisites of the ‘Database’ course Examples of updates include the following: ■ Change the major of ‘Smith’ to sophomore ■ Create a new section for the ‘Database’ course for this semester ■ Enter a grade of ‘A’ for ‘Smith’ in the ‘Database’ section of last semester Shwetha C H, Dept of CSE, VCET, Puttur
  • 19.  Traditional file processing: writing programs to access data stored in files.  Each user defines and implements the files needed for a specific software application as part of the program.  Redundancy in defining and storing data results in wasted storage space and in redundant efforts to maintain  In the database approach, a single repository maintains data that is defined once and then accessed by various users. Shwetha C H, Dept of CSE, VCET, Puttur
  • 20. The main characteristics of the database approach versus the file-processing approach are the following: ■ Self-describing nature of a database system ■ Insulation between programs and data, and data abstraction ■ Support of multiple views of the data ■ Sharing of data and multiuser transaction processing Shwetha C H, Dept of CSE, VCET, Puttur
  • 21.  The database system contains not only the database itself but also a complete definition or description of the database structure and constraints.  This definition is stored in the DBMS catalog, which contains information such as the structure of each file, the type and various constraints on the data.  The information stored in the catalog is called meta-data, and it describes the structure of the primary database.  Whenever a request is made to access, say, the Name of a STUDENT record, the DBMS software refers to the catalog to determine the structure of the STUDENT file and the position and size of the Name data item within a STUDENT record Shwetha C H, Dept of CSE, VCET, Puttur
  • 22. Traditional file processing  In traditional file processing, data definition is typically part of the application programs themselves. Hence, these programs are constrained to work with only one specific database, whose structure is declared in the application programs.  In a typical file-processing application, the file structure and, in the extreme case, the exact location of Name within a STUDENT record are already coded within each program that accesses this data item Shwetha C H, Dept of CSE, VCET, Puttur
  • 23. #include <stdio.h> int main() { int snum , i; char sname[20]; FILE *fptr; fptr = fopen("C:student.txt" ,"w"); for (i=0;i<10;i++) { printf("Enter student num , name "); scanf("%d %s",&snum,sname); fprintf(fptr,"%d %s",snum,sname); } fclose(fptr); return 0; }
  • 24.  In traditional file processing, the structure of data files is embedded in the application programs, so any changes to the structure of a file may require changing all programs that access that file.  For example, a file access program may be written in such a way that it can access only STUDENT records of the structure,If we want to add another piece of data to each STUDENT record, say the Birth_date, such a program will no longer work and must be changed Shwetha C H, Dept of CSE, VCET, Puttur
  • 25.  By contrast, DBMS access programs do not require such changes in most cases. The structure of data files is stored in the DBMS catalog separately from the access programs.  We call this property program-data independence.  For example, in a DBMS environment, we only need to change the description of STUDENT records in the catalog to reflect the inclusion of the new data item Birth_date; no programs are changed.  The next time a DBMS program refers to the catalog, the new structure of STUDENT records will be accessed and used Shwetha C H, Dept of CSE, VCET, Puttur
  • 26.  A database typically has many types of users, each of whom may require a different view of the database.  A view may be a subset of the database.  A multiuser DBMS whose users have a variety of distinct applications must provide multiple views.
  • 27.  A multiuser DBMS, as its name implies, must allow multiple users to access the database at the same time.  The DBMS must ensure that several users trying to update the same data do so in a controlled manner so that the result of the updates is correct.  These types of applications are generally called on-line transaction processing (OLTP) applications.
  • 28.  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”)  people whose jobs involve the day-to-day use of a large database;  Those who design and develop the DBMS software and related tools, and the computer systems operators (called “Workers Behind the Scene”).  People who work to maintain the database system environment but who are not actively interested in the database contents.
  • 29. 1. Database Administrators 2. Database Designers 3. End Users 4. System Analysts and Application Programmers (Software Engineers)
  • 30.  Database Administrators The DBA is responsible for authorizing access to the database, coordinating and monitoring its use, and acquiring software and hardware resources as needed.
  • 31.  Database Designers It is the responsibility of database designers to communicate with all prospective database users in order to understand their requirements and to create a design that meets these requirements.
  • 32. End Users: They are the people whose jobs require access to the database for querying, updating, and generating reports. There are several categories of end users:  Casual end users  Naive or parametric end users  Sophisticated end users  Standalone users
  • 33.  Casual end users occasionally access the database, but they may need different information each time.  middle- or high-level managers or other occasional browsers.
  • 34.  Naive or parametric end users Their main job function revolves around constantly querying and updating the database.  use standard types of queries and updates called canned transactions  Bank customers and tellers check account balances and post withdrawals and deposits.  Reservation agents or customers for airlines, hotels, and car rental companies check availability for a given request and make reservations.
  • 35. Sophisticated end users include engineers, scientists, business analysts, and others  They are thoroughly familiar with the facilities of the DBMS in order to implement their own applications to meet their complex requirements. Standalone users maintain personal databases by using ready-made program packages that provide easy-to-use menu-based or graphics-based interfaces.  These users will have stand –alone database for their personal use.  An example is a tax program user that creates his or her own internal database. System Analysts and Application Programmers (Software Engineers)  System Analysts determine the requirements of end users, develop specification that meet these requirements.  Application programmers implement these specifications as programs; then they test, debug, document, and maintain these canned transactions. Ex: Software developers or software engineers
  • 36.  They are associated with the design, development, and operation of the DBMS software and system environment.  These persons are typically not interested in the database content itself.  DBMS system designers and implementers  Tool developers  Operators and maintenance personnel
  • 37. DBMS system designers and implementers design and implement the DBMS modules and interfaces as a software package. Tool developers design and implement tools  Tools are optional packages that are often purchased separately.  They include packages for performance monitoring, natural language or graphical interfaces and test data generation. Operators and maintenance personnel are responsible for the actual running and maintenance of the hardware and software environment for the database system.
  • 38. 1. Controlling Redundancy  In traditional file processing, every user group maintains its own files for handling its data- processing applications.  This redundancy in storing the same data multiple times leads to several problems.  First, there is the need to perform a single logical update multiple times.  Second, storage space is wasted when the same data is stored repeatedly.  Third, files that represent the same data may become inconsistent. This may happen because an update is applied to some of the files but not to others.
  • 39.  In the database approach, each logical data item—such as a student’s name or birth date—in only one place in the database.  This is known as data normalization, and it ensures consistency and saves storage space
  • 40. 2.Restricting Unauthorized Access  When multiple users share a large database, only authorized persons are allowed to access data.  The type of access operation—retrieval or update—must also be controlled.  A DBMS should provide a security and authorization subsystem, which the DBA uses to create accounts and to specify account restrictions. Then, the DBMS should enforce these restrictions automatically.
  • 41. 3.Providing Persistent Storage for Program Objects  Object-oriented database systems are compatible with programming languages such as C++ and Java (ONTOS, ObjectStore, and O2)  An object in C++ can be stored permanently in an object-oriented DBMS.  Such an object is said to be persistent, since it survives the termination of program execution and can later be directly retrieved by another program.
  • 42. 4.Providing Storage Structures and Search Techniques for Efficient Query Processing  The database is typically stored on disk.  The DBMS must provide specialized data structures and search techniques to speed up disk search for the desired records.  DBMS often has a buffering that maintains parts of the database in main memory buffers. 5. Providing Backup and Recovery A DBMS must provide facilities for recovering from hardware or software failures. The backup and recovery subsystem of the DBMS is responsible for recovery.  For example, if the computer system fails in the middle of a complex update transaction, the recovery subsystem is responsible for making sure that the database is restored to the state it was in before the transaction started executing.
  • 43. 6 Providing Multiple User Interfaces  Apps for mobile users,  Query languages for casual users,  Programming language interfaces for application programmers,  Forms for parametric users,  Menu-driven interfaces for standalone users. 7 Representing Complex Relationships among Data  A database may include data that are interrelated in many ways.  A DBMS must have the capability  to represent a variety of complex relationships among the data,  to define new relationships as they arise, and  to retrieve and update related data easily and efficiently.
  • 44.
  • 45. 8 Enforcing Integrity Constraints  Most database applications have certain integrity constraints that must hold for the data.  A DBMS should provide capabilities for defining and enforcing these constraints.  Example:  The Class data item within each STUDENT record must be a one-digit integer.
  • 46. 9 Permitting Inferencing and Actions Using Rules and Triggers  Database systems support defining deduction rules for inferencing new information from the stored database facts. Such systems are called deductive database systems.  In relational database systems, it is possible to associate triggers with tables.  A trigger is a form of a rule activated by updates to the table, which results in performing some additional operations to some other tables, sending messages, and so on.
  • 47. DBMS may involve overhead costs that would not be incurred in traditional file processing. The overhead costs of using a DBMS are due to the following: ■ High initial investment in hardware, software, and training ■ The generality that a DBMS provides for defining and processing data ■ Overhead for providing security, concurrency control, recovery, and integrity functions
  • 48.  Therefore, it may be more desirable to develop customized database applications under the following circumstances: ■ Simple, well-defined database applications that are not expected to change at all ■ embedded systems with limited storage capacity where DBMS would not fit ■ No multiple-user access to data
  • 49.  Data Models, Schemas, and Instances.  Three schema architecture and data independence,  Database languages, and interfaces,  The Database System environment
  • 50.  A data model—a collection of concepts that can be used to describe the structure of a database.  data types, relationships, and constraints.  basic operations for specifying retrievals and updates on the database.
  • 51.
  • 52.  The description of a database is called the database schema.  Schema Diagram: A diagrammatic display of (some aspects of) a database schema.
  • 53.
  • 55.  database state or snapshot.  current set of occurrences or instances in the database.  Distinction  The database schema changes very infrequently.  The database state changes every time the database is updated.
  • 56. Database state or snapshot  Empty state  Initial state  Current state
  • 57. • Empty State with no data. • Initial State • Current state • Meta data – Data catalog • Schema – Intension • Database State - Extension
  • 59. INTERNAL LEVEL  It has an internal schema  uses a physical data model  the complete details of data storage  access paths for the database.  the physical storage structure of the database
  • 60. CONCEPTUAL LEVEL  the structure of the whole database for a community of users.  A representational data model is used.  hides the details of physical storage structures  concentrates on describing entities, data types, relationships, user operations, and constraints.
  • 61. EXTERNAL OR VIEW LEVEL  The external or view level includes a number of external schemas or user views.  Each external schema describes the part of the database that a particular user group is interested in and hides the rest of the database from that user group.  Implemented using a representational data model.
  • 62.  When we define a new database, we specify its database schema to the DBMS.  In the three-schema architecture, each user group refers to its own external schema.  the DBMS must transform a request specified on an external schema into a request against the conceptual schema, and  then into a request on the internal schema for processing over the stored database.  The processes of transforming requests and results between levels are called mappings.
  • 63.  The three-schema architecture supports the concept of data independence,  Data independence, which can be defined as the capacity to change the schema at one level of a database system without having to change the schema at the next higher level.  We can define two types of data independence: 1. Logical data independence 2. Physical data independence
  • 64. Logical data independence  It is the capacity to change the conceptual schema without having to change external schemas or application programs.
  • 65.  The conceptual schema may be changed to expand the database (by adding a record type or data item), to change constraints, or to reduce the database (by removing a record type or data item).  After the conceptual schema undergoes a logical reorganization, application programs that reference the external schema constructs must work as before.
  • 66. Physical data independence  It is the capacity to change the internal schema without having to change the conceptual schema.  Hence, the external schemas need not be changed as well.
  • 67.  only the mapping between the two levels is changed.  Hence, application programs referring to the higher-level schema need not be changed.
  • 68.  The variety of users supported by a DBMS.  The DBMS must provide appropriate languages and interfaces for each category of users.
  • 69.  View definition language (VDL)  Data definition language (DDL)  Storage definition language (SDL)  Data Manipulation Language (DML)  External schema  Conceptual schema  Internal schema
  • 70.  Data Definition Language (DDL): to specify the conceptual schema of a database. In many DBMSs, the DDL is also used to define internal and external schemas (views).  In some DBMSs, separate storage definition language (SDL) and view definition language (VDL) are used to define internal and external schemas.  Data Manipulation Language (DML): Used to specify database retrievals and updates.
  • 71.  In current DBMSs, an integrated language is used that includes constructs for storage definition, conceptual schema definition, view definition, and data manipulation.  Ex: SQL relational database language a combination of DDL, VDL, SDL and DML.  The SDL has been removed from the SQL language.
  • 72. There are two main types of DMLs.  High-level or nonprocedural DML  Low-level or procedural DML
  • 73. High-level or nonprocedural DML  Entered interactively from a display monitor or terminal or to be embedded in a general- purpose programming language.  Retrieve many records in a single DML statement; therefore, they are called set-at-a-time or set-oriented DMLs.
  • 74. Low-level or Procedural DML  Must be embedded in a general-purpose programming language.  This type of DML typically retrieves individual records from the database separately.  Therefore, it needs to use programming language constructs, such as looping, to retrieve and process each record from a set of records.  Low-level DMLs are also called record-at-a-time DMLs When DML commands, are embedded in a general-purpose programming language, that language is called the host language and the DML is called the data sublanguage.
  • 75. Menu-based Interfaces for Web Clients or Browsing.  These interfaces present the user with lists of options (called menus)  No need to memorize the specific commands and syntax of a query language;
  • 76.  Apps for Mobile Devices.  These interfaces present mobile users with access to their data.  For example, banking, reservations, and insurance companies, among many others, provide apps that allow users to access their data through a mobile phone or mobile device.
  • 77.  Forms-based Interfaces. A forms-based interface displays a form to each user.  Users can fill out all of the form entries to insert new data, or they can fill out only certain entries, in which case the DBMS will retrieve matching data for the remaining entries.  Graphical User Interfaces. GUIs utilize both menus and forms.
  • 78.  Natural Language Interfaces. These interfaces accept requests written in English or some other language and attempt to understand them. If the interpretation is successful, the interface generates a high-level query and submits it to the DBMS for processing; otherwise, a dialogue is started with the user to clarify the request.
  • 79. Speech Input and Output.  Allowing speech for input and output to information.  Applications such as inquiries for telephone directory, flight arrival/departure, and credit card account information.  Conversion from text or numbers into speech takes place.
  • 80.  A DBMS is a complex software system.  The types of software components that constitute a DBMS and the types of computer system software with which the DBMS interacts.  DBMS Component Modules  Database System Utilities
  • 81.
  • 82.  Loading. A loading utility is used to load existing data files—such as text files or sequential files—into the database.  transferring data from one DBMS to another  Backup. A backup utility creates a backup copy of the database
  • 83.  Database storage reorganization. This utility can be used to reorganize a set of database files into different file organizations and create new access paths to improve performance.  Performance monitoring. Such a utility monitors database usage and provides statistics to the DBA. The DBA uses the statistics in making decisions such as whether or not to reorganize files or whether to add or drop indexes to improve performance.
  • 84.  Centralized DBMSs Architecture
  • 85.  Basic Client/Server Architectures
  • 87. Three-Tier and n-Tier Architectures for Web Applications
  • 88. Data model  Main data model used in many current commercial DBMSs is the relational data model,  Object data model  Many legacy database systems are based on the hierarchical and network data models.
  • 89.  Big data systems, also known NOSQL systems, use various data models: document-based, graph-based, column-based, and key-value data models.
  • 90.  Number of users supported by the system. Single-user systems support only one user at a time and are mostly used with PCs. Multiuser systems, which include the majority of DBMSs, support concurrent multiple users.
  • 91. Number of sites over which the database is distributed.  A DBMS is centralized if the data is stored at a single computer site. A centralized DBMS can support multiple users, but the DBMS and the database reside totally at a single computer site.  A distributed DBMS (DDBMS) can have the actual database and DBMS software distributed over many sites connected by a computer network.
  • 92.  Homogeneous DDBMSs use the same DBMS software at all the sites, whereas heterogeneous DDBMSs can use different DBMS software at each site.  Federated DBMS (or multidatabase system)to access several databases stored under heterogeneous DBMSs.
  • 93.  DBMS can be general purpose or special purpose.  A special-purpose DBMS can be designed and built for a specific application; such a system cannot be used for other applications without major changes.  Many airline reservations and telephone directory systems developed in the past are special-purpose DBMSs.
  • 94. Introduction to Databases: Introduction, Characteristics of database approach, Advantages of using the DBMS approach, History of database applications. Overview of Database Languages and Architectures: Data Models, Schemas and Instances. Three schema architecture and data independence, database languages, and interfaces, The Database System environment. Conceptual Data Modelling using Entities and Relationships: Entity types, Entity sets, attributes, roles, and structural constraints, Weak entity types, ER diagrams, examples, Specialization and Generalization. Textbook 1:Ch 1.1 to 1.8, 2.1 to 2.6, 3.1 to 3.10
  • 95.  Using High-Level Conceptual Data Models for Database Design  The database design process.  Requirements collection and analysis. During this step, the database designers interview prospective database users to understand and document their data requirements.
  • 96.  functional requirements of the application. These consist of the user defined operations (or transactions) that will be applied to the database, including both retrievals and updates.  create a conceptual schema for the database, using a high-level conceptual data model. This step is called conceptual design. these are expressed using the concepts provided by the high- level data model.
  • 97.  During or after the conceptual schema design, the basic data model operations can be used to specify the high-level user queries and operations identified during functional analysis.
  • 98.
  • 99.  A sample database application, called COMPANY, which serves to illustrate the basic ER model concepts and their use in schema design.  list the data requirements for the database here, and then create its conceptual schema using concepts of the ER model.  The COMPANY database keeps track of a company’s employees, departments, and projects.
  • 100.  Suppose that after the requirements collection and analysis phase, the database designers provide the following description of the miniworld—the part of the company that will be represented in the database.
  • 101.  The company is organized into departments. Each department has a unique name, a unique number, and a particular employee who manages the department. We keep track of the start date when that employee began managing the department. A department may have several locations.  A department controls a number of projects, each of which has a unique name, a unique number, and a single location.
  • 102.  The database will store each employee’s name, Social Security number, address, salary, sex (gender), and birth date.  An employee is assigned to one department, but may work on several projects, which are not necessarily controlled by the same department. It is required to keep track of the current number of hours per week that an employee works on each project, as well as the direct supervisor of each employee (who is another employee).
  • 103.  The database will keep track of the dependents of each employee for insurance purposes, including each dependent’s first name, sex, birth date, and relationship to the employee.