DATABASE MANAGEMENT
Chapter 1
Introduction to Database
Systems
Contents
• Data
• Information
• Data Processing
• Manual File-based System
• File Processing System
• Database
• Database Management System (DBMS)
• Relationship between DBMS & Application Program
• Brief History of Database Systems
Data
Chapter 1 - Introduction to Database Systems
Data
• Word "Data" is plural of "Datum"
• means a single piece of information, statistic, or code
• Data →A collection of raw facts and figures related to an object
• Object → a person, an organization, an event, or any other thing that is significant in a
system
• Data may be in form of text, numbers, images, sounds, and videos
• Collected for different purposes
• Processed to produce meaningful information
• reports, charts, and web pages, etc.
• In an organization, data is as important as blood in human body
• Gives a view of current and past activities
• History related to rise and fall of an organization
• Helps an organization in making decisions for future activities
Data
• Example
• May be collected to prepare the result of an examination of students
• Unprocessed data of students
• In raw form
• These facts satisfy the definition of data
• but these facts (i.e. data) are useless in this form
• To completely understand → must be processed according to requirements in
a system
Structured Data & Unstructured Data
• Structured Data → data in form of numbers, characters, and dates
• Example:
• data of class students
• Includes facts such as students' roll numbers, names, addresses, and telephone
numbers
• This data is in numeric and characters form
• Unstructured Data → facts of an object or event may be in the form of
photographic images or maps, sound, and video
• Example:
• photos of all class students are collected and stored on a media such as a disk
• These days → structured and unstructured data are often collected for
different purposes
• For example:
• Database of college students
• collects names, addresses, telephone numbers, and photos of all students
Qualitative & Quantitative Data
• Data can be qualitative or quantitative:
• Qualitative data → descriptive information
• Describes something; it can be observed but cannot be measured
• Examples
• Mr. Saqib has a white color
• This cat is very soft
• This painting shows some masterful brush strokes, etc.
• Quantitative data → numerical information (numbers)
• Divided into: discrete data & continuous data
• Discrete data → counted, only take certain values like whole numbers
• Mr. Saqib has 4 brothers and 2 sisters
• Continuous data → measured, take any value within a range
• Today temperature has increased up to 34.5 OC
• The car is running with speed between 80 to 100 kilometers per hour
• On heating this object, its volume increases up to 5%, etc
Types of Data
1) Numeric Data
• Consists of digits from 0 to 9, +, and - signs and decimal point
• Examples: 4020, 3.543, -7.2, and 1302
• Integer data → consists of positive or negative whole values including 0
• Examples: 1302, +62, and -26
• Real data → consists of values that have decimal point
• Examples: 15.4, .006, 4.07, -6.27, and 4.0
2) Alphabetic Data
• consists of all alphabet letters from A to Z, a to z, and blank spaces
• Examples: Iqra Aslam, Pakistan, Asia, etc.
3) Alphanumeric Data
• consists of alphabets (both capital and small letters), numeric digits (0 to 9),
and special characters or symbols such as #, $, etc.
• Examples: 23-March 1940, 28-May 1998, F–16, etc.
Types of Data
4) Image Data
• consists of charts, graphs, pictures, and freehand drawings
• Also represented by bit patterns
• Transmitted as contiguous bits
5) Audio Data
• consists of recordings of conversations, music, speeches, or any other type of sound
• continuous and not discrete
• in the form of continuous voice signals
• Converted into digital form before entering it into the computer
6) Video Data
• consists of video recordings of events
• Consists of full-motion images that create actions and movements
• Can be produced by a video camera, animation application, or movie-maker
software, etc.
Information
Chapter 1 - Introduction to Database Systems
Information
• An organization collects and stores data from both internal and external
sources
• Usually, collected data is not in proper format and does not give proper
meanings
• Various operations are performed to get the required results that give proper
and useful meanings → information
• Information → processed data
• used for decision-making, analytical purposes, and fault diagnosis, etc.
• processed using various techniques
• Input → Data
• Processing
• Output → Information
Information
• Students’ data can be analyzed and summarized using different tools
• Can also be presented in graphic form
• Can sort records based on their names, marks, disciplines, districts or regions,
grades, and ages, etc.
• Processed data now gives a clear and proper understanding of student names,
obtained marks in different subjects, total marks obtained, and grade of each
student
• To calculate total marks of a student,
• Data → marks obtained in different subjects
• Information → calculated "Total Marks"
• To find out grade of students,
• Data → calculated "Total Marks“
• Information → "Grade"
Data Processing
Chapter 1 - Introduction to Database Systems
Data Processing
• Process of converting data into meaningful information
• Different operations are performed on data to convert it into information
• Editing, verification, and conversion of data into acceptable formats
• Updating of data, as technologies change with the passage of time
• Classification of data
• Restructuring, reorganization, and analysis/modeling of data, etc.
• Depending on the procedures and equipments used
• Ways of processing data
• Manual data processing
• Mechanical data processing
• Electronic data processing
Manual Data Processing
• data is processed manually without using any machine or tool
• data is transferred manually from one place to another
• Slow data processing and errors may occur
• In Pakistan → data is still processed manually in some
• small business firms
• government offices
• Institutions
• Example:
• A clerk in a college performs tasks at end of the month on his register with the
help of a pen or pencil
• Find out total number of students that have paid fees
• Find out total number of students that have not paid fees
• Calculate total amount collected as fees from students
• Calculate total amount of salary drawn by the staff at that month
Mechanical Data Processing
• data is processed using different mechanical devices
• Mechanical devices → typewriters, calculators, or other mechanical devices
• Fast data processing and more accurate
• Example:
• In manual data processing → clerk performs all tasks by hand
• Very difficult and time-consuming method
• If performs by calculator
• easy process and will be completed in a very short time
Electronic Data Processing
• Refers to the use of automated methods to process data
• All operations on data are performed using computer & software
• Input → data and set of instructions
• computer automatically processes the data according to given set of instructions
• Computer → electronic data processing machine
• Fast and accurate method
• In computerized education environment → results of students are prepared through computer
applications
• In banks → accounts of customers are processed and maintained through computer software,
etc.
• Example:
• Clerk → Search record from more than 1000 students
• Students that have aged more than 18 and less than 22
• Students that have passed all subjects
• Result of all students of a class in a particular subject etc.
• Difficult to perform these tasks by using manual or mechanical data processing
• Can be performed very easily and quickly by using computer applications
Manual File-based System
Chapter 1 - Introduction to Database Systems
Manual File-based System
• Oldest system used for records keeping in an organization
• A set of books (or files) is prepared
• Each book or file holds a particular set of information
• Each department of the organization has a separate file (or set of files) for every significant
task
• Information is shared among different departments through files
• Many such files are labeled and placed in one or more cabinets
• Security → cabinets are locked or may be located in secure areas of the building
• Example:
• college’s manual file-based system for maintaining records of students and courses of
different faculties etc.
• Students record file → used to store records of each student
• Students fee file → used to store fee records of students
• Students result file → used to store the result of examinations of students
• Students course file → used to store data of courses taken by students
• Decentralized approach is adopted
• where each department processes and controls its own data
Manual File-based System
• Decentralized approach is adopted
• where each department processes and controls its own data
- Very slow method to process data
- because data is analyzed and computed manually
- data is transferred from one department to another manually
- Very costly method
- because large number of employees have to be appointed to operate the file-based system
- Managers cannot easily obtain summary information required for making decisions
- Large space is needed to store the files/books
- Also difficult to search a specific file or a piece of information
- Duplication of data may exist throughout the organization
- Multiple chances of errors
- Chances of physical damages to files (i.e. cutting, wetting, and burning)
File Processing System
Chapter 1 - Introduction to Database Systems
File Processing System
• To understand characteristics of a pure database system
• necessary to know about file processing system
• Collection of files and programs that store, access, modify and manage data in
these files
• Computer file processing system or traditional file processing system or
computer file-based system
• In early days of computer → no databases
• Data was stored in computer files on tape or disk
• stored and managed → through file-processing system
• Still used in some small organizations
File Processing System
• Each department has its own set of data files
• Each application program is developed with
its own set of data files
• Example
• "Student.dat" → created and maintained in admission office used by "Admission"
program
• also forwarded to registrar’s office
• "Course.dat" → created in registrar’s office contains information about courses of
different subjects
• "Course.dat" + “Student.dat" → used by "Schedule" program to generate individual
student schedules and class lists
• "Pay.dat“ → has information required for calculating pay and preparing payroll sheets
• used by "Payroll" application program
• used to create payroll of the employees
Disadvantages of File Processing System
- Data Redundancy
• means multiple copies of same data
• File processing system → each application program has its own set of data
files
• Same data may exist in multiple files
• Problems of duplication of data
• To update specific data/record → same data must be updated in all files;
• otherwise different files may have different information about a specific record
• Valuable storage space is wasted due to duplication of records
• For example, in university environment
• "student.dat“ of admission office → roll numbers, names, and addresses, etc.
• "result.dat“ of registrar’s office → roll numbers, names, addresses, obtained marks of
subjects, and results of all the examinations, etc.
• both files contain roll numbers, names, and addresses of the students
• Same data is stored in multiple files
Disadvantages of File Processing System
- Data Inconsistency
• means that different files may contain different information about a particular object or
person
• Redundancy leads to inconsistency
• When same data is stored at multiple locations → inconsistency may occur
• Example
• Address of a student is updated at "result.dat“ of registrar’s office
• data files are maintained by other departments also
• some data files may contain old address, while others contain new address
- Data Isolation
• Computer file-processing system → data is stored (or isolated) in various files
• becomes very difficult to access desired information from data files
• For example
• "student.dat“ stores addresses of students
• "result.dat“ stores examination marks
• Need data from both files
• Difficult job with computer file processing
• Programmer must write a new program to extract required data from both data files
Disadvantages of File Processing System
- Data Atomicity
• Transaction → collection of all the steps required to complete an operation on data
• Atomicity → means that either one transaction should take place as a whole or it should not take
place at all
• Suppose want to transfer amount of Rs.15000/- from account X to account Y
• Step-1: Deduct amount of Rs.15000/- from account X
• Step-2: Add amount of Rs.15000/- to account Y
• If system fails (e.g. due to power failure) after Step-1
• amount of Rs.15000/- has been deducted from account X but has not been added to account Y
• data atomicity problem → occurs in transaction-based file processing systems i.e. banking
- Program Data Dependency
• Program data dependency → relationship between data stored in a file and specific program
required to process that file
• File processing system → data stored in a data file depends upon the application program through
which data file was created
• Structure of data file is defined in application program
• Difficult to change the structure of data file
• If data file changed → modify application program also
Disadvantages of File Processing System
- Difficult Program Maintenance
• File-processing system → program maintenance is difficult
• data file depends upon application program
• Any modification in data file (size & data type of data field) → requires redesigning
application program
• Organization has to pay a lot of money for maintenance of program
- Limited Data Sharing
• File processing system → each application program uses its own data files
• Difficult to access data from a data file created by another application program
• Provides very limited facilities to share data among multiple users
- Security Problem
• File processing system does not provide proper security against illegal access to data files
• In most situations → different levels of security is required for different groups of users
• Customers should be allowed to only view and purchase products
• Sales Persons should be allowed to enter sales data along with view facility to view products
• Sales Officer should have the facility to modify or delete the sales data also
• File processing system does not provide such types of advanced security options
Database
Chapter 1 - Introduction to Database Systems
Database
• Database is an organized collection of related data stored in an efficient and
compact manner
• word "organized" → means that data is stored in such a way that it can easily be
accessed and updated
• phrase "related data“ → means that a database contains data or information about a
particular area such as:
• Database of employees that contains data of employees of an organization or department
• Database of students that contains data of students of a college/university etc.
• word "efficient“ → means that required data can be searched very easily and quickly
• word "compact“ → means that stored data takes up as little space as possible without
any duplication of data
Examples of Databases
• NADRA
• In Pakistan, NADRA maintains a database having information of all citizens of Pakistan
• Record of any citizen of Pakistan can be accessed very easily and quickly through CNIC #.
• Library
• In local library → computerized database containing details of books in library
• Computerized index (automated catalog), which allows to find a book with reference to its title, or its
author’s name, etc.
• College/University
• Database containing information about the present and previous students
• Bank Accounts
• When withdraw amount through ATM card → accessing a database of customers of a particular bank
• Bank account accessed through Auto Teller Machine (ATM)
• After withdraw → bank record is updated through a software application immediately
• E-mail Accounts
• Popular websites "hotmail.com", "gmail.com" and "yahoo.com" → contain online databases
• Having free e-mail accounts of users all over the world
• Manual and computerized databases
• Manual Database → library card catalog
• Computerized database created and maintained by a set of programs (database management system)
Database Table
• Database contains various objects used for different purposes
• Most important object → "table“
• Database may consist of many tables
• Data stored in tables
• Table is made up of columns and rows
• Rows represent records
• Each row is divided into columns called fields
• Fields contain different data values of a particular record
Metadata
• Database holds related data + description of that data
• database is also defined as → a self-describing collection of integrated records
• Description of data → metadata or system catalog or data dictionary
• Metadata → data about data
• When table is designed → data type, size, format, and other descriptions of fields are specified
• Metadata of the table
• Metadata describes properties or characteristics of actual data in database
• Describes logical structure of database
• field names i.e. data item names
• data type of each data item
• length or width of data items
• rules and constraints about data
• a brief description of each data item
• Helps database designers and users to understand data in database
• Metadata is saved in a data dictionary file
• Consulted before actual data is read or modified in the database
• DDL (Data Definition Language) is used to define metadata
• It defines a data dictionary of tables in the database
Types of Database
• Types based on databases architectures
• Centralized Databases
• Personal computer databases
• Client/Server databases
• Distributed Databases
• Homogeneous databases
• Heterogeneous databases
• Object-Oriented Databases
Centralized Databases
• All data (complete database) is stored and maintained in one location
• Location is most often a central computer or a server
• Data is managed, updated, and accessed at the central site
• Multiple users can access centralized database
• Centralized database systems are mostly used in colleges, banks, hospitals,
and small organizations
• Examples of centralized databases
• Personal computer databases
• Client/Server databases
Centralized Databases
• Personal Computer Databases
• Normally created and maintained by a single user on his/her personal computer
• Commonly used in small businesses or organizations
• Used for simple accounting, inventory management, and customer billing systems,
etc.
• Relatively simple to develop and use
- data cannot easily be shared among different users
• Client / Server Databases
• client/server architecture is used in which one computer acts as a server for storing
all data, while clients access data
• Server → includes software called DBMS and a computer
• provides back-end functions requested by clients
• Back-end functions → database management, communication management, printing, etc.
• Clients → provide front-end functions
• send requests to server and receives results from server
Centralized Databases
• Client / Server Databases
• Objective → to allow multiple users in network to access
or share data
• Usually, the database processing functions are performed
on database server
• Often used for work-group computing
• More secure than central computer databases
• server computer allows access to database to only
authenticated users on client computers
Centralized Databases
• Client / Server Databases
+Data integrity is maximized and data redundancy is minimized
+ Data can be accessed by many users simultaneously
+Easier to maintain and keep updated
+ Since all data are stored in a single location
+Easier to create a backup of data
+Helps in maintaining of data in an accurate and consistent state
+ Also enhances data reliability
+Gives strong and centralized security i.e. data in a centralized database is always secure
+Easier for use to end-users due to its simplicity of being a single database design
+Provides data portability and better database administration
+More cost-effective (i.e., cheaper) than other types of database systems as maintenance
costs are always minimum
+Keeping data at a single location is easier to change, re-organize, and analyze
+Updates to any given set of data are immediately received by every end-user
Centralized Databases
• Client / Server Databases
- Since all data is at one location, takes more time to search and access
- If network is slow, this process takes even more time
- A lot of data access traffic, may create a bottleneck situation
- data accessing from database becomes very slow down, So data availability is not as efficient as
in a distributed database
- Most of them are highly dependent on network connectivity. Due to slower network
connection (i.e. internet connection), a problem to access the database is created
- In case of any hardware failure → data availability within the entire network will be
affected
- If there is any problem in central site → complete database system fails
- If a set of data is accidentally lost → difficult to retrieve it back
- Deadlocks can occur while attempting to update shared tables that are already in
use
- Needs trained and experienced staff for its administration
Distributed Databases
• Data is stored across different physical locations
• portions of a database are physically distributed across different sites or locations in a computer network
• System administrator can distribute collections of data across multiple physical locations
• Can reside in network servers on Internet, on corporate Intranets or Extranets, or other
company networks
• Managed by a centralized distributed database management system (DDBMS)
• Access data through a computer network
• Some big and multi-national organizations/departments use distributed databases
• Processes to keep a distributed database up to date
• Replication → process identifies changes in the distributed database
• Once changes have been identified → replication process applies those changes to make sure that all
distributed databases look same
• Complex and time-consuming process depending on size and number of distributed databases
• Require a lot of time and computing resources
• Duplication → process identifies one database as a master database and duplicates that database at
different locations
• Not complicated process but it makes sure that all distributed databases have same data
• users may change only master database
• Ensures that local data will not be overwritten
Distributed Databases
• Homogeneous Databases
• means that database technology is same at each of
the locations (or sites)
• Data at various locations are also compatible
• All nodes use same hardware and software for the
database system
• Comparatively easier to design and manage
• Conditions must be satisfied
• Operating system used at each location must be the
same or compatible
• Data structures used at each location must be the same
or compatible
• Database application (or DBMS) used at each location
must be the same or compatible
Distributed Databases
• Heterogeneous Databases
• Different sites or locations may have different hardware and software
• Data structures at various sites are also incompatible
• Different computers, operating systems, and database applications (or data models) may be
used at each of locations
• For example
• one location → have latest relational database management technology
• Another location → store data using a network database or an old version of the DMBS
• One location → have Windows NT operating system
• Another location → have the UNIX
• Usually used when individual sites use their own hardware and software
• Translations are required to allow communication between different sites
• Users must be able to make requests in a database language at their local sites
• Usually, SQL database language is used
• A user at one location may be able to read but unable to update data at another location
• Often not technically or economically feasible
Distributed Databases
Heterogeneous Databases
+Local data management - Complexity
+Improved performance - Higher cost of installation and
+Reliability and availability maintenance
+Modularity - Security
+Protection of data - Difficult to maintain integrity
+Independence - Lack of standards
+Low Communication Cost - Database design more complex
(More Economical)
Note: Details are given in PM series book
Object-Oriented Databases
• Object Database Management Systems (ODBMS)
• Store objects rather than data like integers, strings, or real numbers
• Objects are used in object-oriented languages such as Smalltalk, C++, Java, Visual Basic.Net, Delphi, Ruby,
etc.
• Objects consist of
• Attributes → defines characteristics of an object
• May be simple such as integers, strings, and real numbers or it may be a reference to a complex object
• Methods → define behavior of an object; formally called procedures or functions
• Objects → executable code + data
• Characteristics of objects → whether methods or data can be accessed from outside object
• Another term is classes
• Used in object-oriented programming to define object’s data and methods
• like a template for object
• does not itself contain data or methods but defines data and methods contained in object
• used to create object
• may be used in object databases to re-create parts of the object that may not actually be stored in
database
• Methods may not be stored in database and may be re-created by using a class
Object-Oriented Databases
Comparison of Object Database with Relational Databases
• Relational databases → stores two dimensional tables (rows and columns)
• All table columns depend on a primary key (a unique value in the column) to identify column
• Once specific column identified, data from one or more rows associated with that column may be obtained or
changed
• To put objects into relational databases → must be described in terms of a simple string, integer, or real
number data
• For instance → in case of an airplane
• wing may be placed in one table with rows and columns (describing its dimensions and characteristics)
• propeller in another table, tires in another, and so on.
Uses of Object-Oriented Databases
• used when there is complex data and/or complex data relationships
• Includes a many to many object relationship
• Should not be used when there would be few join tables & large volumes of simple transactional data
• Applications
• CAS Applications such as CASE-computer aided software engineering, CAD-computer aided design, and CAM-computer
aided manufacture
• Multimedia Applications
• Object projects that change over time
• Commerce
Object-Oriented Databases
+Objects don't require assembly and - Lower efficiency when data is simple
disassembly saving coding time and and relationships are simple
execution time to assemble or
disassemble objects
- Relational tables are simpler
+Easier navigation - Late binding may slow access speed
+Better concurrency control - More user tools exist for RDBMS
+A hierarchy of objects may be locked - Standards
stable
for RDBMS are more
+Data model is based on the real - Support for RDBMS is more certain
world
and change is less likely to be
+Works well for distributed required
architectures
+Less code required when
applications are object-oriented
Database Management System
(DBMS)
Chapter 1 - Introduction to Database Systems
Database Management System (DBMS)
• A collection of programs that are used to create, maintain, and extract data from
databases
• A general-purpose software
• Often called database software
• Different types of DBMSs are available, ranging from small systems that run on
personal computers to huge systems that run on mainframes
• We can also develop a special purpose DBMS software (in Visual Basic, C++, etc.) to
create and maintain specific databases
• Functions of DBMS
• Defining the Structure of Database
• Populating the Database
• Manipulating the Database
• Parts of DBMS
• Physical Database → consists of a file or set of files that contain data
• Database Engine → part of DBMS that makes it possible to access (store and retrieve data) and
modify data
• Database Schema → specification of logical structure of data stored in database
Database Management System (DBMS)
• Examples of DBMS
• Microsoft Access
• Oracle
• Microsoft SQL Server
• MySQL
• FileMaker Pro
• Components of a DBMS Environment
• Software
• Hardware
• Data
• Procedures
• Users
Components of a DBMS Environment
1. Software
• Set of programs used to manage database and to control overall computerized
database system
• DBMS Software
• Manages the database within database system
• Operating System
• Manages all hardware components and makes it possible for all other software to run
on the computers
• Application programs & Utilities
• To access and manipulate data
• May be conventional or online services
• Utilities → software tools used to manage computer environment in which data access
and manipulation take place
• Network Software
• Used in network to share data of database among multiple users
Components of a DBMS Environment
2. Hardware
• Set of physical electronic devices on which DBMS is implemented
• Consists of computers, storage devices, I/O channels, electromechanical devices
• In a network, a powerful computer with very high data processing speed and storage device with large
storage capacity is required as a database server
3. Data
• Databases are defined, constructed and then data is stored, updated, and retrieved to and from databases
• Database contains both actual (or operational) data and metadata (data about data or description about data)
4. Procedures
• The instructions and rules that help to design database and to use DBMS
• Users who operate and manage DBMS require documented procedures to use or run DBMS
• Purpose of procedures
• to setup and install the new DBMS
• to login and logout of DBMS software
• to manage DBMS or application programs
• to take a backup of the database
• to handle hardware and software failures
• to change the structure of the database
• to generate the reports of data retrieved from the databases etc.
Components of a DBMS Environment
5. Users
• People who use and manage databases
• Perform different types of operations on databases
• Application Programmers
• Users who write application programs in different programming languages to interact with databases
• Programming languages → Visual Basic, Java, or C++
• End-users use application programs written by application programmers
• Examples: software used in libraries, shopping stores, and medical stores
• Designs a user-friendly interface of program so that end-users can use easily and efficiently
• Database Administrator
• Person who manages overall database management system → DBA
• Responsibilities of DBA
• Installing and managing DBMS
• Creating databases and related objects like tables and indexes
• Authorizing access to database
• Coordinating and monitoring DBMS
• Acquiring software and hardware resources as needed
• Security and integrity control
• Maintenance of the operational system
• Creating a backup of data regularly
• Recovery of a database in case of failures in online access of data required by the other users
Components of a DBMS Environment
5. Users
• End-Users
• People who interact with DBMS to perform different operations on database
• Operations → retrieving, updating, inserting, deleting data etc.
• Access DBMS through application programs interface, IDE provided by DBMS or SQL interface
• Interface is provided as an integral part of DBMS
• Such interfaces are also supported by means of online applications to interact with online databases from
online workstations or terminals
• Casual End-Users
• Sophisticated users → trained persons who know structure of database and facilities offered by DBMS
• Normally use standard query languages such as SQL to perform required operations
• Some sophisticated end-users may even write application programs for their own use
• Naive Users
• They do not know structure of database or any query language
• They do not have any technical knowledge of DBMS
• Access databases through application programs (or IDE)
• Access data by selecting options from menus or by entering simple commands
• For example: in a university registrar’s office,
• Naive user → clerk
• Casual user → registrar’s data processing operator
Database Approach
+Controlling Data Redundancy - Higher Cost of Hardware and Software
+Data Consistency - Higher Cost of Data Conversion
+Data Sharing - Cost of Staff Training
+Data Integration - Technical Staff
+Data Integrity - Database Failures
+Data Security
Note: Details are given in PM series book
+Data Atomicity Database Management Systems, PM
+Control over Concurrency series by CM Aslam & Aqsa Aslam
+Backup and Recovery Procedures
+Data Independence
+Less Storage (or Compactness)
+Advanced Capabilities (Online access)
File-Based Approach Database Approach
• Data redundancy is not controlled • Data redundancy is controlled
• Data may be inconsistent • Data is always consistent
• Data stored in data files are dependent • Data stored in database files are
on application programs independent of application programs
• Data sharing among multiple users is • centralized data → can easily be shared
difficult among multiple users
• Data atomicity problem may arise • No data atomicity problem
• Does not provide proper security • Provides proper security against illegal
against illegal access to data access to data
• Related data may be stored in many • All related data is stored in a single
data files database file
• No Integrity consistency rules → • Integrity consistency rules applied→
correct data may not be entered into correct data can be entered
data files • Gives full control over concurrency
• No control over concurrency • Very complex system
• Very simple system • Cost is much more than file system
• Cost is less than database system
Relationship between DBMS &
Application Program
Chapter 1 - Introduction to Database Systems
Relationship between DBMS & Application Program
• Very close relationship between the DBMS and the application program
• Application program → provides user-interface to perform different
operations on the database via DBMS
• User sends requests to DBMS
• DBMS receives requests & processes and returns results to application program
• User receives results through application program
• For example
• DBMS retrieves data from database or performs other different operations on database
according to requests sent by the user
• Application program → front-end
• Database → back-end
Brief History of Database Systems
Chapter 1 - Introduction to Database Systems
Brief History of Database Systems
• Concept of database was first introduced in 1960s
• Hierarchical DBMS
• Research conducted during 1960s
• Results in GUAM (Generalized Update Access Method)
• developed by NAA (North American Aviation)
• GUAM was based on concept that smaller components come together as part of larger components until
the final product is assembled
• Like a hierarchical structure
• 1968 → IBM developed a system known as IMS (Information Management System)
• IMS was first commercially available database system (DBMS)
• Based on hierarchical file system, which was built by NAA
• Network DBMS
• Mid-1960s → IDS (Integrated Data Store)
• General Electric Company developed a database system based on network data model
• First network database system
• Considered superior to hierarchical database system
• Data Base Task Group (DBTG)
• Formed by Conference on Data Systems and Languages (CODASYL)
• to develop a set of standards for network database system
Brief History of Database Systems
• Relational Database Systems
• 1970 → Paper published by E. F. Codd, an IBM Researcher
• Title: "A Relational Model of Data for Large Shared Data Banks“
• Introduced relational data model for managing data
• Used concepts of a branch of mathematics called relational algebra to suggest a model of shared
data banks
• DB2
• IBM started working on Dr. Codd’s concepts
• Introduced relational language SQL and relational database system → DB2
• Today, SQL is most widely used relational language
• Relational database management system (RDBMS) is based on relational model
introduced by E. F. Codd
• Today most popular and commonly used PC-based relational DBMS products → Oracle
and MS-Access
Brief History of Database Systems
• Client-Server Database Applications
• Earlier multi-user architectures used mainframe computers to process database
• Mainframe computer provides all functions to connected users directly
• contains DBMS software, application programs, and user-interfaces
• Users were connected through their terminals
• Remote users were connected to mainframe in a communication network
• Mid-1980s → most users began to share data through a LAN
• Microcomputers were linked together in a LAN
• LAN enabled users to send data to one another through computers
• First application of LAN enabled users to share resources and to communicate via electronic mail
• End-users also wanted to share their database
• led to the development of multi-user database applications on LANs
• After this, Client-Server architecture was introduced
Brief History of Database Systems
• Database Processing on the Internet
• 1969 → Internet was introduced by Advanced Research Projects Agency (ARPA) of USA
• Today, most of database systems are online
• Databases, DBMS software, and database applications are stored on Web server
• Database technology + Internet technology → to access data on Web server
• Database on Internet uses hypertext transfer protocol (HTTP), dynamic hypertext markup
language (DHTML), and extensible markup language (XML)
• to communicate between database application and database stored on Web server
• Object-Oriented Database Systems
• Mid-1980s → become clear that there were several fields where relational databases were not
applicable, due to the types of data involved
• E.g. medicine, multimedia, and high-energy physics,
• all of which needed more flexibility in how their data was represented and accessed
• Led to research being started in object-oriented databases
• where users could define their own methods of access to data and how it was represented and
manipulated
• Beginning of 1990s → Object-Oriented DBMS (OODBMS) & object-relational DBMS (ORDBMS)
• Unlike previous models → actual composition of these models is not clear
• This evolution represents a third generation DBMS
For more details, refers to
PM Series
Database Management
by
CM Aslam & Aqsa Aslam
Publisher: Majeed Sons
22- Urdu Bazar, Lahore